public void CreateCharacter() { SkeletonAnimation playerAnim; SkeletonDataAsset playerData; AtlasAsset atlasdata;string name = "01_01_ani"; atlasdata = ScriptableObject.CreateInstance (); playerData = ScriptableObject.CreateInstance (); atlasdata.atlasFile = (TextAsset)Resources.Load (name + ".atlas"); Material[] materials = new Material[1]; materials [0] = new Material (Shader.Find ("Transparent/Diffuse")); Texture aa = (Texture)Resources.Load (name); materials [0].mainTexture = aa; atlasdata.materials = materials; playerData.atlasAsset = atlasdata; playerData.skeletonJSON = (TextAsset)Resources.Load (name + ".json"); GameObject player = new GameObject(); player.transform.localPosition = Vector3.zero; player.transform.localScale = new Vector3 (1f, 1f, 1f); playerAnim = (SkeletonAnimation)player.AddComponent ("SkeletonAnimation"); playerAnim.skeletonDataAsset = playerData; playerAnim.calculateNormals = true; playerAnim.AnimationName = "running"; playerAnim.loop = true; }
using UnityEngine;using System.Collections;public class SpineAssembler : MonoBehaviour { // INSPECTOR ASSIGNED STUFF FOR TESTINGpublic Texture textureAsset;public TextAsset atlasFile;public TextAsset jsonFile; GameObject characterObject; SkeletonAnimation skeletonAnimation;void Start () { GenerateCharacter(); }void GenerateCharacter () {var atlasAsset = ScriptableObject.CreateInstance(); atlasAsset.atlasFile = atlasFile;var atlasMaterial = new Material(Shader.Find("Spine/Skeleton")); atlasMaterial.mainTexture = textureAsset; atlasAsset.materials = new[] { atlasMaterial };var skeletonDataAsset = ScriptableObject.CreateInstance(); skeletonDataAsset.atlasAsset = atlasAsset; skeletonDataAsset.skeletonJSON = jsonFile; skeletonDataAsset.scale = 0.01f; characterObject = new GameObject("0 THINGY"); skeletonAnimation = characterObject.AddComponent(); skeletonAnimation.skeletonDataAsset = skeletonDataAsset; skeletonAnimation.Reset(); skeletonAnimation.state.SetAnimation(0, "walk_0", true); } }