您的位置:首页 > 移动开发 > Unity3D

unity 利用差值实现相机跟随与轴值实现人物拉近

2017-06-19 11:45 495 查看
using UnityEngine;

public class ICamerafollow : MonoBehaviour {

float speed = 2;//定义相机跟随速度
Transform mRoot;//定义相机现在的位置
Transform MTatget;//定义相机目标的位置
Vector3 vec3offset;//定义他们的差值

void Start () {
mRoot = this.transform;//定义相机位置
MTatget = GameObject.Find("主角位置").transform;//定义目标位置
vec3offset = mRoot.position - MTatget.position;//计算差值
}

void Update () {
//如果人物为空
if(MTatget ==null)
{
return;
}
else
{
//如果人物发生变化,相机要随之跟随移动,移动我们使用差值进行移动
//三个参数 1.现在位置2.目标位置3.速度
mRoot.position = Vector3.Lerp(mRoot.position, MTatget.position+ vec3offset, Time.deltaTime * speed);

}
//滚轴缩放大小(轴值)取值范围(-1~~~1)
//Input.GetButton
//Input.GetKey
//fieldOfView相机的角度(作用于物体的放大与缩小)
if (  Input.GetAxis("Mouse ScrollWheel")>0)
{
if (Camera.main.fieldOfView>30f)
Camera.main.fieldOfView -= 5f;
}
if (Input.GetAxis("Mouse ScrollWheel") <0)
{
if (Camera.main.fieldOfView <80f)
Camera.main.fieldOfView += 5f;
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity