1

我有一个 2D 单屏风格的游戏,其中有一个禁用的游戏对象。下面是几个动画的孩子。父对象包含子对象的动画师。当我启用父级时,动画将不会播放。动画师看起来好像正在尝试处理默认的进入状态,但没有完成。我对此进行了一些研究,似乎禁用然后启用某些东西不会启动动画师。我已经尝试为它编写一些代码,但没有运气,并且将精灵渲染器设置为 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");
        }
    }
}
4

2 回答 2

0

尝试将 IdleState 设置为没有退出时间和动画的 DefaultState,并定义一个触发事件以转到您的动画状态。然后激活触发器

void Start()
{
}
于 2017-11-06T15:14:15.827 回答
0

Unity 不是这样工作的,你不能为父对象设置一个动画师来影响孩子的动画,你必须为每个孩子设置一个动画师。如果您想从父对象修改子对象的动画师,您可以使用搜索所有子对象及其组件并更改其参数的脚本来执行此操作。

看看这个:Animator 参数

于 2017-11-04T19:25:12.367 回答