CharacterController控制的物体移动:
public class playerMove : MonoBehaviour
{
public float Speed;
private CharacterController CC;
private float x;
private float y;
void Start()
{ //定义A D W S键盘控制
//定义第一人称控制器
CC = GetComponent<CharacterController>();
}
void Update()
{
//定义A D W S键盘控制
x = Input.GetAxis("Horizontal");
y = Input.GetAxis("Vertical");
//判断控制器是否移动
if (x != 0 || y != 0)
{
//定义移动坐标
Vector3 movePosition = new Vector3(x, 0, y);
//移动坐标位置偏移量
Vector3 dir = transform.position + movePosition;
//定义视线视角旋转
transform.LookAt(dir);
//移动速度坐标
Vector3 moVector3 = transform.forward * Time.deltaTime * Speed;
//确认人称控制器移动
CC.Move(moVector3);
}
}
}
注:视角偏移速度 transform.LookAt(dir)可自行确认调节,改变偏转速度。