[Unity3D]Creating Spine SkeletonAnimation using C#script

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

你可能感兴趣的:(unity3d,spine)