在使用cinemachine freelook相机制作第三人称控制器时,发现人物在左右移动时,并不是直线移动,而是跟随相机的圆弧旋转运动,
通过观察看出,人物在移动时,相机并没有移动,只有相机视角发生变换,这就导致人物按相机位置做旋转运动
后来在这里找到了解决方案
通过修改 freelook相机的Binding Mode绑定模式:从目标推断位置时使用的坐标空间。
- Lock To Target On Assign:本地空间,相机被激活或target赋值时的相对位置。
- Lock To Target With World Up:本地空间,保持相机y轴朝上,yaw和roll为0。
- Lock To Target No Roll:本地空间,锁定到目标物体,roll为0。
- Lock To Target:本地空间,锁定到目标物体
- World Space:世界空间
Simple Follow With World Up:相对于目标的位置,使用相机的本地坐标系,保持相机y轴朝上
作者:大智_Unity技术探路者 https://www.bilibili.com/read/cv4702573/ 出处:bilibili
将相机修改为Lock To Target On Assign
这时,相机就会保持相对位置,从而自动跟随物体进行移动
这时候物体进行左右移动时,相机在保持相对位置不变 的情况下
就不会变成圆弧移动了