//声明变量,保存摄影机要跟随的目标
public Transform target;
//声明变量,保存移动速度,初始化为2
public float moveSpeed = 2;
//声明变量,保存位移
private Vector3 offset;
void Awake() {
//位移为摄像机位置与目标位置的距离
offset = transform.position - target.position;
//位移的x轴坐标锁定为0
offset = new Vector3(0, offset.y, offset.z);
}
void LateUpdate() {
//摄像机的预备开始点坐标为目标点坐标加上位移的坐标
Vector3 beginPos = target.position + offset;
//摄像机预备最终点坐标为目标点坐标的正上方(高度为位移的长度)
Vector3 endPos =target.position+offset.magnitude * Vector3.up;
//取预备开始点与预备最终点的1/5的点作为预备中间的第一个点
Vector3 pos1 = Vector3.Lerp(beginPos, endPos, 0.2f);
//取预备开始点与预备最终点的2/5的点作为预备中间的第二个点
Vector3 pos2 = Vector3.Lerp(beginPos, endPos, 0.4f);
//取预备开始点与预备最终点的3/5的点作为预备中间的第三个点
Vector3 pos3 = Vector3.Lerp(beginPos, endPos, 0.6f);
//取预备开始点与预备最终点的4/5的点作为预备中间的第四个点
Vector3 po
Unity C#摄像机高级跟随脚本
最新推荐文章于 2024-07-29 21:59:26 发布
该博客介绍了一种Unity中实现摄像机高级跟随目标的C#脚本,通过计算多个过渡点并检查遮挡,确保摄像机在不被障碍物阻挡的情况下平滑跟踪目标,同时保持在目标上方特定高度。
摘要由CSDN通过智能技术生成