一.简介:
通过键盘wasd移动这个蓝色物体
二.实现
1.新建plane做地板
2.摄像机对齐平面 快捷键 shift+ctrl+f
3.新建一个胶囊,添加CharacterController组件(我弄了颜色,就是建个Material)
4.新建脚本
using UnityEngine;
public class PlayerMove : MonoBehaviour
{
private CharacterController cc;
public float speed = 4;
void Start()
{
cc = GetComponent();
}
void Update()
{
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
if (Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1)
{
Vector3 targetDir = new Vector3(h, 0, v);
transform.LookAt(targetDir + transform.position);
cc.SimpleMove(transform.forward * speed);
}
}
}
5.脚本解析:
1.使用Input.GetAxis(“”)的"Horizontal"和 "Vertical"得到键盘(操纵杆)输入的垂直和横向的值。
2.使用CharacterController.SimpleMove(Vector3)设置物体运动的方向和速度
3.targetDir 是键盘输入之后获取到的方向,将目标用SimpleMove方法向获取到方向移动
4.transform.lookat 是让目标旋转到获取到的方向
5.transform.forward 是让目标向正前方移动
三.参考文档:【Unity3D日常开发】(一)实现角色移动行走之CharacterController组件-云社区-华为云



