是否可以使用代码交换对象的基于动画的动画?

时间:2015-05-13 16:19:37

标签: c# animation unity3d

我有一个2D游戏,并且在一个对象上有一个非常简单的循环4帧动画(使用Animator)。这个对象,Snake,还有一些我需要保留的脚本(使用Snake的统计数据,攻击等)。我想使用代码将这个4帧动画与不同但非常相似的4帧动画交换,但我不知道这是否可行。

我一直在阅读有关此事的相互矛盾的报道(因为我不确切地知道在哪里看)而且如果它是一个死胡同,我不想超越它。

编辑:据我所知,对象当前使用的控制器很好,但我想交换它的.anim文件?或.anim文件使用的精灵表。

1 个答案:

答案 0 :(得分:1)

创建具有类似动画的新状态。然后你可以简单地通过

切换动画
float transitionTime = 0;
animator.CrossFade("StateName", transitionTime);

还有另一种选择:您可以为抽象值设置动画,然后在自定义代码中使用它来加载精灵,具体取决于您的条件。例如,您可以为int值设置动画并访问在数组中存储sprite的参数。