Unity:与动画师一起实例化预制件

本文关键字:实例化 一起 动画师 Unity | 更新日期: 2023-09-27 17:57:33

我正在使用Unity 4.3.4引擎制作2D平台游戏。我已经创建了一个简单的预制,其中有两个动画:"空闲"answers"死亡"(我使用"动画师")和脚本来控制这些动画。

问题是:当我实例化这个预制件的克隆时,它们总是显示"空闲"动画,并且在需要时不打开"死亡"。

pos = new Vector3 (-5, 4, 0) * TileSize; 
newObject = Instantiate (Bonus, pos, Quaternion.identity) as GameObject;

但值得注意的是:我找到了一种让动画效果良好的方法。只需在实例化后添加一个字符串,如下所示:

newObject.animation["boxNew"].speed=1;

或者这个(或者任何试图用"animaton"操作的字符串):

newObject.animation.enabled=true;

当然,我在这个字符串中得到了异常:"MissingComponentException:没有‘Animation’附加到"BonusBlock(Clone)"游戏对象"。这是真的,我真的没有动画组件,我有Animator。但为什么一切都是这样的呢?有人能解释一下吗?

Unity:与动画师一起实例化预制件

只有当你使用新的mecamin/state flow动画师时,动画师才会真正使用,举个简单的例子,你想做的就是在你的预制件中添加一个动画(而不是动画师)组件,并将你的2个动画分配到所述动画组件的检查器中的动画列表中。然后在对象上可以使用newObject.animation.Play("死亡");当你想触发死亡动画时播放它。或者使用类似newObject.animation.CrosFade("死亡")的东西;用于混合动画。

在此处找到->http://docs.unity3d.com/Documentation/ScriptReference/Animation.html

Unity Technologies给出了答案:在停用之前,使用默认状态重置gameObject。关于Unity3d论坛的讨论

如果你能读懂中文,点击这里