在SetActive之后不会播放Unity 2D动画(true)

时间:2017-11-04 01:28:03

标签: animation unity3d unityscript isenabled animator

我有一个2D单屏风格的游戏,我有一个禁用的游戏对象。在这下面是几个动画的孩子。父对象包含子项的动画师。当我启用父级时,动画将无法播放。动画师看起来像是在试图处理默认的条目状态但是没有完成。我已经对此做了一些研究,似乎禁用然后启用某些东西并不能启动动画师。我已经尝试为它编写一些代码而没有运气,并且设置sprite渲染器false将无法工作,因为只有太多的精灵。这是我的最后一次尝试:任何想法?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class animationState : MonoBehaviour
{
    public Animator anim;

    private void OnEnable()
    {
        if (anim.gameObject.activeSelf)
        {
            anim.Play("pinWheelAnimation");
        }
    }
}

2 个答案:

答案 0 :(得分:0)

Unity没有这样的工作,你不能将动画师设置为会影响来自孩子的动画的父对象,你将要为每个孩子建立一个动画师。如果要从父对象修改子项的动画师,可以使用脚本搜索所有子项及其组件并更改其参数。

看看这个:Animator parameters

答案 1 :(得分:0)

尝试将IdleState设置为DefaultState,没有退出时间且没有动画,并定义触发事件以转到动画状态。然后在

中激活触发器
void Start()
{
}