我正在使用Unity,我有一个平板电脑的场景。我复制了这个场景并改变了一些东西,但除了一些纹理改变了它的同一个场景。在第二个场景中,我将平板电脑上的动画更改为不同的动画,并且工作正常。但回到第一个场景,我发现它改变了两个场景的动画。我有很多脚本引用平板电脑对象和脚本的名称,所以有没有办法解决这个问题,而无需重新制作平板电脑和所有脚本?我没有物品预制件。动画完全不同。唯一共享的是对象名称和脚本。
答案 0 :(得分:0)
为了解决您的问题,您需要为每个平板电脑制作两种不同的动画。
我们假设您已将动画1应用于平板电脑1 你复制了所有东西,现在你也有了带动画1的平板电脑2 现在,如果您在场景2(平板电脑2)上工作时编辑动画1,场景1(平板电脑1)将自动受到影响,因为它也指的是同一个动画1
所以你需要做的是以下几点: - 制作两个单独的动画:动画1和动画2 - 为每个平板电脑分配不同的动画
最后,您可以应用两种方法:
OR
然后,转到动画师,右键单击并添加空状态,然后右键单击它并设置为图层默认状态 链接到你的两个动画
转到参数 - >添加一个新的布尔值,使其中一个转换为true,另一个为false
最后,您可以在代码中执行以下操作:
添加public bool animationtype
可以从检查器控制(如果将其设置为true,则动画1将播放,如果将播放假动画2)
你可以使用:
whatevername.SetBool("whatevername", animationtype);
如果您有两个以上的动画,请考虑使用Integer而不是Boolean。
答案 1 :(得分:0)
感谢Sara Kat的出色回答,虽然这不是我的问题的解决方案。我犯了一个很无聊的错误,我创建了一个新的动画和对象,但我使用了相同的动画控制器。如果其他人遇到此问题,请确保您创建了一个新控制器以及一个新动画