Unity 动画——迈出一小步
Unity Animation - Taking a Tiny Step
我制作马里奥动画是为了学习 Unity。我有一个状态机 运行ning 允许马里奥 运行 左右(和空闲)。我关心的是当我点击箭头键只迈出一小步动画比屏幕上的移动稍长时会发生什么。马里奥在原地走一点。
使它看起来不错的正确方法是什么?我的状态机具有从闲置到行走 (left/right) 然后返回的状态。更好的方法是在空闲和 WalkLeft/WalkRight 状态之间包含一个 MicroWalkLeft/Right 还是在释放箭头键时中断动画?我正在使用触发器来 start/stop 动画,这里是启动 WalkLeft 的代码片段。
animator.ResetTrigger("Idle");
animator.SetTrigger("WalkLeft");
根据我的经验,触发器用于不应停止的动画。换句话说,对于一次性动画。
在你的情况下,因为你想要“微”步骤,我会使用布尔值将“向左走”或“向右走”设置为 true
或 false
。因此,当“向右走”布尔值 true
时,Idle 过渡到 WalkRight,而当它是 false
时,Idle 过渡到 WalkRight。你的过渡也需要没有退出时间,或者没有办法有“微”步骤,因为你的动画可以在用户停止按下键并且布尔值设置为 false 的任何时候中断。
要更进一步,您可以将 WalkLeft 和 WalkRight 动画合并为一个,并使用混合树设置向左或向右的方向,然后您只有一个进入动画的布尔“行走”和一个控制方向的矢量左动画或右动画。
我制作马里奥动画是为了学习 Unity。我有一个状态机 运行ning 允许马里奥 运行 左右(和空闲)。我关心的是当我点击箭头键只迈出一小步动画比屏幕上的移动稍长时会发生什么。马里奥在原地走一点。
使它看起来不错的正确方法是什么?我的状态机具有从闲置到行走 (left/right) 然后返回的状态。更好的方法是在空闲和 WalkLeft/WalkRight 状态之间包含一个 MicroWalkLeft/Right 还是在释放箭头键时中断动画?我正在使用触发器来 start/stop 动画,这里是启动 WalkLeft 的代码片段。
animator.ResetTrigger("Idle");
animator.SetTrigger("WalkLeft");
根据我的经验,触发器用于不应停止的动画。换句话说,对于一次性动画。
在你的情况下,因为你想要“微”步骤,我会使用布尔值将“向左走”或“向右走”设置为 true
或 false
。因此,当“向右走”布尔值 true
时,Idle 过渡到 WalkRight,而当它是 false
时,Idle 过渡到 WalkRight。你的过渡也需要没有退出时间,或者没有办法有“微”步骤,因为你的动画可以在用户停止按下键并且布尔值设置为 false 的任何时候中断。
要更进一步,您可以将 WalkLeft 和 WalkRight 动画合并为一个,并使用混合树设置向左或向右的方向,然后您只有一个进入动画的布尔“行走”和一个控制方向的矢量左动画或右动画。