Files
CocosCreatorTutorial/CameraFollowDemo/README.md
2022-01-22 19:30:55 +08:00

1.3 KiB

相机跟随

计算目标节点的前向量(世界坐标下)

节点当前四元数=获取世界坐标系下的旋转()
向向量=向量四元数乘法(节点默认前方向,节点当前四元数)
向向量=向向量.将当前向量归一化()

计算摄像机的向前四元数

摄像机前向量=摄像机位置-目标节点位置
摄像机节点前向量=摄像机前向量*-1
角度四元数=根据视口的前方向和上方向计算四元数()
摄像机节点角度四元数=角度四元数

计算跟随距离

CameraPos=TargetPos-TargetForward*hDist+targetUp*vDist;
摄像机位置=目标节点位置-目标节点单位前向量*水平距离+目标节点单位上向量*垂直距离

计算弹簧

理想位置=计算理想位置函数()
相对差值=实际位置-理想位置
加速度=-1*弹性系数*相对差值-阻尼系数*当前速度
速度=速度+加速度*间隔时间
实际位置=实际位置+速度*间隔时间

参考