Duo*_*bix 5 c# unity-game-engine
我在一个场景中得到了两个或更多相同预制件的实例。他们每个人都有一个动画师,每个人都有相同的动画师控制器与之相连。当我为其中一个设置动画时,所有这些都得到了完全相同的动画。关于地球上正在发生什么的任何线索?我应该为场景中的每个玩家配备一个单独的动画控制器吗?如何在 C# 中将动画师彼此分开?
即使您没有将代码作为资源,我也会将其添加为答案。这只是我的赌注。
我制作了一个游戏,它也与相同的预制件共享动画师,但如果您只调用需要动画的游戏对象。它不应该调用其他 Animator 调用 每次都会用不同的 Animator 实例化一个对象,即使 Animator 的文件是相同的。
为了测试这一点,我建议每次实例化游戏对象时。将其命名为其他名称。例如。
public GameObject[] myPrefabs; //make sure to add the size in the inspector
myPrefabs[0] = (GameObject)Instantiate(nameofPrefab);
myPrefabs[0].name = "myPrefabs0"; // this is to make sure that name (Clone) is removed;
// Then call the animation.
myPrefabs[0].GetComponent<Animator>().SetTrigger("Attack");
Run Code Online (Sandbox Code Playgroud)
//SetTrigger、SetBool、SetInt。既然是动画师
我使用 List 而不是 Array,但我认为这是我能给出的最基本的一个。
预制件的命名并不是解决您的问题所必需的。但您需要它,以便您可以检查它是否是接受您的动画调用的正确游戏对象
| 归档时间: |
|
| 查看次数: |
2940 次 |
| 最近记录: |