相机跟随一般写在生命周期LateUpdate中
最简单,无代码,固定距离,固定视角
最简单的就是 直接 把主相机作为Player角色的子物体,并自行固定好相机的位置和角度
优点:使用方便
缺点:使用不灵活,相机转动死板,体验不好,相机瞬间移动位置
using UnityEngine;
public class MainCameraController : MonoBehaviour
{
public Transform player;
private Vector3 _distance;
private void Start()
{
_distance = transform.position - player.position;
}
private void LateUpdate()
{
transform.position = player.position + _distance;
}
}
代码控制,固定距离,固定视角,平滑阻尼移动
在官方的手册里也有推荐用此函数 来实现 平滑的相机跟随
using UnityEngine;
public class MainCameraController : MonoBehaviour
{
public Transform player;
private Vector3 _distance;
private Vector3 _ve;
private void Start()
{
_distance = transform.position - player.position;
}
private void LateUpdate()
{
transform.position = Vector3.SmoothDamp
(
transform.position,
player.position + _distance,
ref _ve,
0
);
}
}