Beispiel #1
0
    private SpineRenderer CreateSpineRender(Vector3 position, Quaternion rotation)
    {
        SpineRenderer sr = SpineManager.inst.CreateSpineRenderer("hero-pro", true);

        sr.transform.SetParent(GameObject.Find("Spine").transform, false);
        sr.skeletonAnimation.state.SetAnimation(0, "idle", true);
        sr.skeletonAnimation.skeletonDataAsset.atlasAssets[0].PrimaryMaterial.shader = ShaderManager.inst.GetShader("Spine/Skeleton Fill");
        sr.transform.localPosition = position;
        sr.transform.localRotation = rotation;
        sr.transform.localScale    = new Vector3(3, 3, 3);

        return(sr);
    }
Beispiel #2
0
    private void Awake()
    {
        App.inst.Init();
        App.inst.InitDefaultManagers();
        App.logManager.enabled = true;
        App.logManager.isPrint = true;

        //SpineManager.inst.CreateSpineDataFromResources("hero", "hero/hero-pro");
        SpineManager.inst.CreateSpineDataFromPath("hero-pro", "Assets/Test/Resources/ab/hero-pro.ab");

        SpineRenderer sr = SpineManager.inst.CreateSpineRenderer("hero-pro", true);

        sr.transform.SetParent(transform, false);
        sr.skeletonAnimation.state.SetAnimation(0, "idle", true);
        sr.skeletonAnimation.skeletonDataAsset.atlasAssets[0].PrimaryMaterial.shader = ShaderManager.inst.GetShader("Spine/Skeleton Fill");

        SpineRenderer sr2 = SpineManager.inst.CreateSpineRenderer("hero-pro", true);

        sr2.transform.SetParent(transform, false);
        sr2.transform.localPosition = new Vector3(2, 0, 0);
        sr2.skeletonAnimation.state.SetAnimation(0, "idle", true);
        sr2.skeletonAnimation.skeletonDataAsset.atlasAssets[0].PrimaryMaterial.shader = ShaderManager.inst.GetShader("Spine/Skeleton Fill");

        SpineManager.inst.ReleaseSpineRenderer(sr2);

        SpineRenderer sr3 = SpineManager.inst.CreateSpineRenderer("hero-pro");

        sr3.transform.SetParent(transform, false);
        sr3.transform.localPosition = new Vector3(4, 0, 0);
        sr3.skeletonAnimation.state.SetAnimation(0, "idle", true);
        sr3.skeletonAnimation.skeletonDataAsset.atlasAssets[0].PrimaryMaterial.shader = ShaderManager.inst.GetShader("Spine/Skeleton Fill");

        MaterialPropertyBlock mpb = new MaterialPropertyBlock();

        mpb.SetFloat("_FillPhase", 0.5f);
        sr.meshRenderer.SetPropertyBlock(mpb);
        sr2.meshRenderer.SetPropertyBlock(mpb);
        mpb.SetFloat("_FillPhase", 0.8f);
        sr3.meshRenderer.SetPropertyBlock(mpb);

        SpineManager.inst.ReleaseSpineRenderer(sr3);

        SpineRenderer sr4 = SpineManager.inst.CreateSpineRenderer("hero-pro");

        sr4.transform.SetParent(transform, false);
        sr4.transform.localPosition = new Vector3(6, 0, 0);
        sr4.skeletonAnimation.state.SetAnimation(0, "attack", true);
        sr4.skeletonAnimation.skeletonDataAsset.atlasAssets[0].PrimaryMaterial.shader = ShaderManager.inst.GetShader("Spine/Skeleton Fill");
    }