Esempio n. 1
0
        void CreateRuntimeAssetsAndGameObject()
        {
            // 1. Create the AtlasAsset (needs atlas text asset and textures, and materials/shader);
            // 2. Create SkeletonDataAsset (needs json or binary asset file, and an AtlasAsset)
            // 3. Create SkeletonAnimation (needs a valid SkeletonDataAsset)

            Texture2D[] textures = new Texture2D[1];

            textures[0] = new Texture2D(0, 0, TextureFormat.RGBA32, false, false);

            textures[0].filterMode = FilterMode.Point;
            byte[] bytes = File.ReadAllBytes(Application.dataPath + "/Resources/Scenes/girl/girl.png");
            textures[0].LoadImage(bytes);
            textures[0].name = "girl";

            Material materialPropertySource = new Material(Shader.Find("Spine/Skeleton"));


            //runtimeAtlasAsset = AtlasAsset.CreateRuntimeInstance(Resources.Load<TextAsset>("Scenes/girl/girl.atlas"), textures, materialPropertySource, true);
            //runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(Resources.Load<TextAsset>("Scenes/girl/girl"), runtimeAtlasAsset, true);

            atlasText         = new TextAsset(File.ReadAllText(Application.dataPath + "/Resources/Scenes/girl/girl.atlas.txt"));
            atlasText.name    = "girl.atlas";
            skeletonJson      = new TextAsset(File.ReadAllText(Application.dataPath + "/Resources/Scenes/girl/girl.json"));
            skeletonJson.name = "girl";

            runtimeAtlasAsset        = AtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true);
            runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true);
        }
Esempio n. 2
0
 /// <summary>
 /// 通过Spine生成的json,atlas文件创建角色
 /// </summary>
 /// <param name="skeletonJson">Skeleton json.</param>
 /// <param name="atlasText">Atlas text.</param>
 /// <param name="textures">Textures.</param>
 /// <param name="material">Material.</param>
 /// <param name="initialize">If set to <c>true</c> initialize.</param>
 /// <param name="skinName">Skin name.</param>
 /// <param name="animationName">Animation name.</param>
 /// <param name="loop">If set to <c>true</c> loop.</param>
 public void Create(SpineAvatarType avatarType, EquipmentObject eo, Material material, bool initialize, string name, string skinName, string animationName, bool loop, RoleEquipmentData data, Action <Avatar> createSucCallBack, Action <string> failCallBack, Action <bool> createQueueCallBack, bool isTP)
 {
     #if UNITY_ANDROID
     GameManager.Instance.StartCoroutine(Create(avatarType, eo, SkeletonDataAsset.CreateRuntimeInstance(eo.equipmentJsonAsset, AtlasAsset.CreateRuntimeInstance(eo.equipmentTxtAsset, eo.equipmentTexture_Alpha, eo.equipmentTexture_RGB, material, initialize, true), initialize), name, animationName, skinName, loop, data, createSucCallBack, failCallBack, createQueueCallBack, isTP));
     #elif UNITY_IPHONE || UNITY_EDITOR
     GameManager.Instance.StartCoroutine(Create(avatarType, eo, SkeletonDataAsset.CreateRuntimeInstance(eo.equipmentJsonAsset, AtlasAsset.CreateRuntimeInstance(eo.equipmentTxtAsset, new Texture2D[] { eo.equipmentTexture }, material, initialize), initialize), name, animationName, skinName, loop, data, createSucCallBack, failCallBack, createQueueCallBack, isTP));
     #endif
 }
Esempio n. 3
0
        void CreateRuntimeAssetsAndGameObject()
        {
            // 1. Create the AtlasAsset (needs atlas text asset and textures, and materials/shader);
            // 2. Create SkeletonDataAsset (needs json or binary asset file, and an AtlasAsset)
            // 3. Create SkeletonAnimation (needs a valid SkeletonDataAsset)

            runtimeAtlasAsset        = SpineAtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true);
            runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true);
        }
Esempio n. 4
0
    // Start is called before the first frame update
    void Start()
    {
        runtimeAtlasAsset        = AtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true);
        runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true);

        runtimeSkeletonDataAsset.GetSkeletonData(false); // preload.


        runtimeSkeletonAnimation = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSkeletonDataAsset);

        // Extra Stuff
        runtimeSkeletonAnimation.Initialize(false);
        runtimeSkeletonAnimation.Skeleton.SetSkin("base");
        runtimeSkeletonAnimation.Skeleton.SetSlotsToSetupPose();
        runtimeSkeletonAnimation.AnimationState.SetAnimation(0, "run", true);
        runtimeSkeletonAnimation.GetComponent <MeshRenderer>().sortingOrder = 10;
        runtimeSkeletonAnimation.transform.Translate(Vector3.down * 2);
    }
Esempio n. 5
0
 private void CreateRuntimeAssetsAndGameObject()
 {
     this.runtimeAtlasAsset        = AtlasAsset.CreateRuntimeInstance(this.atlasText, this.textures, this.materialPropertySource, true);
     this.runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(this.skeletonJson, this.runtimeAtlasAsset, true, 0.01f);
 }