Unity 第三人称镜头跟随

    xiaoxiao2021-03-25  101

    最近在学习Unity3D制作游戏,不是很喜欢预设的第三人称镜头,就自己写了一个镜头代码。自己是一个新人,代码也有很多不足,请大家多多包涵~ using UnityEngine; using System.Collections; //第三人称镜头跟随,鼠标控制镜头缩放和环绕 public class CameraFlow : MonoBehaviour { //请在Editor界面选定摄像头的锁定目标,推荐选定模型的头部文件 public Transform target; //防止镜头卡死,在使用前把镜头放在合适位置 Vector3 CameraDis; // 初始化 void Start() { CameraDis = transform.position - target.position; } void LateUpdate() { Scale(); transform.position = target.position + CameraDis; transform.LookAt(target); Rotate(); } //缩放 private void Scale() { float Scaledis = CameraDis.magnitude; Scaledis -= Input.GetAxis("Mouse ScrollWheel") * 5; //限制缩放 if ((Scaledis <= 2)) { Scaledis = 2; } else if(Scaledis >= 8) Scaledis = 8; CameraDis = CameraDis.normalized * Scaledis; } //摄像头环绕 private void Rotate() { //速度可以通过修改数字来调整 transform.RotateAround(target.position, Vector3.up, Input.GetAxis("Mouse X") * 10); float t = Input.GetAxis ("Mouse Y") * -1/5; CameraDis = transform.position - target.position ; CameraDis.y += t; //对旋转的角度加以限制 if(CameraDis.y>=2) { CameraDis.y = 2; } else if (CameraDis.y<=0) { CameraDis.y = 0; } } }
    转载请注明原文地址: https://ju.6miu.com/read-19234.html

    最新回复(0)