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 TESTING
public 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);
}
}
