版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingangxin666/article/details/80557766
效果图:
需求:
- 相机在人物后上方, 相机跟随人物前后跳动而做延迟跟随
实现方法:
1.将相机移动到人物右上方合适的位置
2.在相机下面创建空物体, 并命名为CameraAnchor
, 此时它的Position
为(0,0,0)
3.将CameraAnchor
拖到需要跟随的人物物体里面, 成为它的子物体. 此时CameraAnchor
的Position
已发生改变, 同时可以实现人物位置跟随
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( ̄▽ ̄)ブ