我想为从正面到背面翻转的卡片制作动画。两张卡片的面孔都有不同的精灵作为背景。
我的卡上有一个Animator
组件。动画师将卡围绕z轴旋转180度,并在旋转90度后更改背景精灵。一切正常。
问题在于动画剪辑完成后,精灵会变回原始的精灵。我尝试将动画事件添加到动画剪辑事件功能的末尾,并让动画剪辑执行GetComponent<SpriteRenderer>().sprite = ...
,但这也不起作用。即使我在Unity Inspector中更改了卡的精灵,它也不起作用(该精灵实际上并没有改变)。
这是我的动画师的样子(Idle
动画没有附加剪辑):
以下是其中一个动画的样子:
有没有办法让我的动画师更改游戏对象的精灵,然后让游戏对象维护新的精灵,直到再次更改它?我知道我可以通过协程以编程方式执行此操作,但是如果不需要,我不想执行解决方法。
答案 0 :(得分:1)
Afaik,您只需禁用States的Write Defaults
值
这意味着,如果某个属性在此状态下没有可用的关键帧,则使用非动画模型中的默认关键帧(无论您在编辑模式下看到什么,而无需在Animator预览中查看)。
因此,如果禁用它,则此State将使用从动画之前获得的任何当前属性值,而不是未设置动画的值。
答案 1 :(得分:0)
将动画剪辑的包装模式更改为ClampForever。
https://docs.unity3d.com/ScriptReference/WrapMode.ClampForever.html