角色在奔跑的时候,摄像机不停地轻微晃动,马马虎虎的人似乎注意不到,但是稍一仔细的人就发现了。而且发现以后一般都很留意这个,容易给人造成轻微眩晕的感觉。
我查看了一下摄像机上依附的脚本,角色在奔跑的时候摄像机是根据角色的transform来决定摄像机的位置方向变化的。于是到PlayerController里面查看角色transform在奔跑状态下是如何变化的。没有找到直接在脚本中控制奔跑状态下transform的代码。看了一下角色的Animator组件的设置,Apply Root Motion是被选中的。这就意味着角色的transform是直接由动画来控制的。而动画中角色奔跑的时候存在轻微左右摇摆,这就难怪摄像机会跟着左右摇摆。将Apply Root Motion去除勾选,摄像机即停止晃动了。
我这边这个例子是不需要Animator来控制角色的transform,所以这样做是没问题的。