using UnityEngine;
using System.Collections;
/**
* 人物移动,摄像机跟随
* */
public class PersonMove : MonoBehaviour {
//跟随的摄像机
public Camera currCamera;
//人物目标坐标
private Vector3 targetPos;
//人物与摄像机的距离
private Vector3 apartPos;
// Use this for initialization
private Vector3 mouseRightPos;
void Start () {
//将目标坐标初始化成当前坐标
targetPos = transform.position;
//计算人物与摄像机的距离
apartPos = transform.position - currCamera.transform.position;
}
void FixedUpdate(){
if (targetPos != transform.position) {
//获取人物身上的组件
CharacterController cc = GetComponent<CharacterController> ();
//获取人物每一步移动的坐标
Vector3 currPos = Vector3.ClampMagnitude (targetPos - transform.position, 0.1f);
//移动到坐标
cc.Move (currPos);
//计算出摄像机的目标坐标
Vector3 cameraTarget = transform.position-apartPos;
//设置摄像机的坐标
currCamera.transform.position=Vector3.MoveTowards(currCamera.transform.position,cameraTarget,0.1f);
}
}
voi
Unity3D 人物移动 摄像机跟随
最新推荐文章于 2024-09-01 23:40:15 发布
