Unity 2D动画无法播放SetActive后(true)
问题描述:
我有一个2D单屏风格的游戏,我有一个禁用的gameobject。在这之下有几个孩子,这是动画。父对象持有儿童的动画师。当我启用父项时,动画将无法播放。动画师认为它试图处理默认的输入状态,但没有完成。我已经对此进行了一些研究,似乎禁用并启用某些内容不会启动动画制作者。我已经尝试为它写一些代码而没有运气,并且将sprite渲染器设置为false将不起作用,因为只有太多的sprite。这是我的最后一次尝试:任何想法?Unity 2D动画无法播放SetActive后(true)
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");
}
}
}
答
团结不喜欢的工作,你不能设置一个动画父对象会影响动画儿童,你将不得不建立一个为动画每个孩子。如果您想从父对象修改儿童的动画师,可以使用脚本来完成,该脚本搜索所有儿童及其组件并更改其参数。
在此请看:Animator parameters
答
尝试,没有退出的时间和没有设置动画的IdleState为DefaultState并定义一个触发事件去到你的动画状态。然后激活触发器
void Start()
{
}
+0
我会检查出来,让你知道!谢谢!! –
也许我解释错了。只有具有动画师/动画的父对象本质上是子对象的关键帧。这工作正常。只有当对象设置为活动状态时,动画才能加载。如果我要保持活动状态,它将根据需要播放和切换状态。问题是它在启动时处于非活动状态,并且在激活时,动画从不播放。任何其他想法? –