Unity 实现人物相机前后跟随, 带延迟效果

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingangxin666/article/details/80557766

效果图:

这里写图片描述

需求:

  • 相机在人物后上方, 相机跟随人物前后跳动而做延迟跟随

实现方法:

1.将相机移动到人物右上方合适的位置

这里写图片描述

2.在相机下面创建空物体, 并命名为CameraAnchor , 此时它的Position(0,0,0)

这里写图片描述

3.将CameraAnchor 拖到需要跟随的人物物体里面, 成为它的子物体. 此时CameraAnchorPosition已发生改变, 同时可以实现人物位置跟随

这里写图片描述

4.创建脚本CameraMovement.cs, 挂着相机上

using UnityEngine;

public class CameraMovement : MonoBehaviour {
    //相机跟随对象
    public GameObject followTarget;
    //相机跟随延迟速度
    public float moveSpeed;

    void Update() {
        if (followTarget != null) {
            //相机位置Z值与目标点的Z值做插值, 实现相机前后跟随, 而目标点运动不影响
            var newZ = Mathf.Lerp(transform.position.z, followTarget.transform.position.z, Time.deltaTime * moveSpeed);
            var newVector3 = new Vector3(transform.position.x, transform.position.y, newZ);
            transform.position = newVector3;
        }
    }
}

5.指定跟随对象为CameraAnchor , 跟随速度挑一个合适的

这里写图片描述

6.搞定啦o( ̄▽ ̄)ブ

项目地址:

猜你喜欢

转载自blog.csdn.net/jingangxin666/article/details/80557766