DataAssetsFromExportsExample.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace Spine.Unity.Examples {
  5. public class DataAssetsFromExportsExample : MonoBehaviour {
  6. public TextAsset skeletonJson;
  7. public TextAsset atlasText;
  8. public Texture2D[] textures;
  9. public Material materialPropertySource;
  10. AtlasAsset runtimeAtlasAsset;
  11. SkeletonDataAsset runtimeSkeletonDataAsset;
  12. SkeletonAnimation runtimeSkeletonAnimation;
  13. void CreateRuntimeAssetsAndGameObject () {
  14. // 1. Create the AtlasAsset (needs atlas text asset and textures, and materials/shader);
  15. // 2. Create SkeletonDataAsset (needs json or binary asset file, and an AtlasAsset)
  16. // 3. Create SkeletonAnimation (needs a valid SkeletonDataAsset)
  17. runtimeAtlasAsset = AtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true);
  18. runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true);
  19. }
  20. IEnumerator Start () {
  21. CreateRuntimeAssetsAndGameObject();
  22. runtimeSkeletonDataAsset.GetSkeletonData(false); // preload.
  23. yield return new WaitForSeconds(0.5f);
  24. runtimeSkeletonAnimation = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSkeletonDataAsset);
  25. // Extra Stuff
  26. runtimeSkeletonAnimation.Initialize(false);
  27. runtimeSkeletonAnimation.Skeleton.SetSkin("base");
  28. runtimeSkeletonAnimation.Skeleton.SetSlotsToSetupPose();
  29. runtimeSkeletonAnimation.AnimationState.SetAnimation(0, "run", true);
  30. runtimeSkeletonAnimation.GetComponent<MeshRenderer>().sortingOrder = 10;
  31. runtimeSkeletonAnimation.transform.Translate(Vector3.down * 2);
  32. }
  33. }
  34. }