//绑定在角色身上的脚本
using UnityEngine;
using System.Collections;
public class PlayerMove : MonoBehaviour
{
// Update is called once per frame
void Update()
{
//按W键 前进
if (Input.GetKey(KeyCode.W))
{
transform.position += transform.forward * 1 * Time.deltaTime;
}
//按S键 后退
if (Input.GetKey(KeyCode.S))
{
transform.position += transform.forward * -1 * Time.deltaTime;
}
//按A键 向左旋转
if (Input.GetKey(KeyCode.A))
{
transform.Rotate(transform.up, -30 * Time.deltaTime);
}
//按D键 向右旋转
if (Input.GetKey(KeyCode.D))
{
transform.Rotate(transform.up, -30 * Time.deltaTime);
}
}
}
//绑定在相机身上的脚本
using UnityEngine;
using System.Collections;
public class Follow : MonoBehaviour
{
public Transform target;
public Vector3 offset;
//向后的距离
public float backDistance = 2;
//高度
public float topDistance = 2;
//在LateUpdate中进行物理
void LateUpdate()
{
//设置偏移量
offset = -target.forward * backDistance + target.up * topDistance;
//使用插值,让宠物有一个平滑的移动
transform.position = Vector3.Lerp(transform.position, target.position + offset, Time.deltaTime);
//宠物的旋转和玩家的旋转保持一致
transform.rotation = target.rotation;
}
}