unity 摄像头跟着鼠标移动_Unity 实用教程 之 摄像机跟随主角移动方法三

SmoothFollow 脚本具体内容如下:

using UnityEngine;

namespace UnityStandardAssets.Utility

{

public class SmoothFollow : MonoBehaviour

{

// The target we are following

[SerializeField]

private Transform target;

// The distance in the x-z plane to the target

[SerializeField]

private float distance = 10.0f;

// the height we want the camera to be above the target

[SerializeField]

private float height = 5.0f;

[SerializeField]

private float rotationDamping;

[SerializeField]

private float heightDamping;

// Use this for initialization

void Start() { }

// Update is called once per frame

void LateUpdate()

{

// Early out if we don't have a target

if (!target)

return;

// Calculate the current rotation angles

var wantedRotationAngle = target.eulerAngles.y;

var wantedHeight = target.position.y + height;

var currentRotationAngle = transform.eulerAngles.y;

var currentHeight = transform.position.y;

// Damp the rotation around the y-axis

currentRotationAngle = Mathf.LerpAngle(currentRotationAngle,

antedRotationAngle, rotationDamping * Time.deltaTime);

// Damp the height

currentHeight = Mathf.Lerp(currentHeight, wantedHeight, heightDamping * Time.deltaTime);

// Convert the angle into a rotation

var currentRotation = Quaternion.Euler(0, currentRotationAngle, 0);

// Set the position of the camera on the x-z plane to:

// distance meters behind the target

transform.position = target.position;

transform.position -= currentRotation * Vector3.forward * distance;            // Set the height of the camera

transform.position = new Vector3(transform.position.x ,currentHeight , transform.position.z);

// Always look at the target

transform.LookAt(target);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值