Unity2D开发入门-相机跟随

2023-07-24 15:44:19 浏览数 (2)

前言

相机跟随一般写在生命周期LateUpdate中

子物体

最简单,无代码,固定距离,固定视角

最简单的就是 直接 把主相机作为Player角色的子物体,并自行固定好相机的位置和角度

优点:使用方便

缺点:使用不灵活,相机转动死板,体验不好,相机瞬间移动位置

代码控制 设置位置

代码语言:javascript复制
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;
    }
}

代码控制 平滑移动

代码控制,固定距离,固定视角,平滑阻尼移动

在官方的手册里也有推荐用此函数 来实现 平滑的相机跟随

代码语言:javascript复制
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
        );
    }
}

0 人点赞