Unity3d 动画师未设置运行时实例化子对象的动画(UNITY)
我有一个代表房间的游戏对象。作为这个房间的孩子,我有三个角色。房间有一个animator组件,用于控制所有角色的同步动画 问题是我有另一个角色,它在运行时从一个预置中实例化,而这个角色没有动画 我尝试了几件事:Unity3d 动画师未设置运行时实例化子对象的动画(UNITY),unity3d,animation,Unity3d,Animation,我有一个代表房间的游戏对象。作为这个房间的孩子,我有三个角色。房间有一个animator组件,用于控制所有角色的同步动画 问题是我有另一个角色,它在运行时从一个预置中实例化,而这个角色没有动画 我尝试了几件事: //NOT WORKING IEnumerator Start() { room.SetBool("e8", true); yield return new WaitForSeconds(6); ... } //NOT WORKING IE
//NOT WORKING
IEnumerator Start()
{
room.SetBool("e8", true);
yield return new WaitForSeconds(6);
...
}
//NOT WORKING
IEnumerator Start()
{
room.Rebind();
room.SetBool("e8", true);
yield return new WaitForSeconds(6);
...
}
//WORKING
IEnumerator Start()
{
yield return new WaitForEndOfFrame();
room.Rebind();
room.SetBool("e8", true);
yield return new WaitForSeconds(6);
...
}
最后一次尝试正在工作,但角色看起来停止了一瞬间,并突然跳转到动画。我希望角色从一开始就像其他角色一样设置动画
我的动画师:
简单求解
使用当前动画设置,此行为是正常的。您需要使用任何“状态”部分更改当前动画制作者,因为当您使用“从其他状态更改状态”时,动画需要时间来更改状态。对于“开始”,Animator需要时间进行初始化,但若您要使用任何状态,这将起作用
尝试这样做:
进入不同的国家
您可以使用官方文档提供给您的内容:
然后,您可以添加从入口节点到其他状态的附加转换,以控制状态机是否应以其他状态开始
例如:
前两个
Start
方法是编译时错误,因为(IEnumerator)始终必须至少包含一个yield
操作。如果您不一定需要协同程序,那么最好以void运行Start
,这并不要求您屈服于帧的末尾。@remy只是我代码的一部分。在此之后,我有一个waitforseconds(6),但它对于我的具体问题并不重要,因此我没有包括它。我编辑我的问题。@Juan Lopez,你能和你的动画师一起附上截图吗?因为这总是取决于你是怎么做的@洋葱粉