zoukankan      html  css  js  c++  java
  • Unity 中简单的第三人称摄像机跟随

    先说较为简单的一种:

    一、将摄像机作为人物角色的子对象,设置好相对距离和偏移量即可,但这种方法弊端较多,一般不采用。

    二、 设置好摄像机跟物体的相对距离,之后利用插值让摄像机平滑跟随。

    原理:摄像机与player以向量(有大小,有方向)相连,这样就可以确定摄像机与player的相对距离了,这样人物走动,摄像机也会跟随移动。

     

    将下列代码与camera绑定就可以实现第三人称摄像机跟随。代码:

    public class CameraFollow : MonoBehaviour {

    // 摄像机跟随的对象

    public Transform target;

    // The speed with which the camera will be following.

    public float smoothing = 5f;

    //偏移量

    Vector3 offset;

    void Start() {

    //计算偏移量

    offset = transform.position - target.position;

    }

     

    void LateUpdate () {

    Vector3 targetCamPos = target.position + offset;

    transform.position = Vector3.Lerp (transform.position, targetCamPos, smoothing * Time.deltaTime);

    }

    }

    FixedUpdate():固定更新事件,执行N次,0.02秒执行一次。所有物理组件相关的更新都在这个事件中处理。

    LateUpdate(): 一般用来处理摄像机方面的。

    将场景中的角色(摄像机跟随的物体)拖入target中场景中的就可以实现简单的第三人称摄像机跟随。

  • 相关阅读:
    漫谈 C++ 的 内存堆 实现原理
    我发起了一个 .Net 开源 数据库 项目 SqlNet
    谈谈 数据库原理
    论 数据库 B Tree 索引 在 固态硬盘 上 的 离散存储
    论 东坡肉 和 红烧肉 的 区别
    浅谈 操作系统原理
    引子 初识
    P2P Downloader
    利用 MessageRPC 和 ShareMemory 来实现 分布式并行计算
    MessageRPC
  • 原文地址:https://www.cnblogs.com/allyh/p/10987100.html
Copyright © 2011-2022 走看看