SurvivalShooter 是Unity的官方教程案例
主角移动
先选中Assets->Models->Characters将主角Player拖到场景中
给主角添加Rigidbody组件
在Assets中新建一个文件夹Scripts专门用来存放脚本语言(当然你也可以任意命名)在Scripts文件夹中新建Player文件夹专门存放主角的脚本,接着新建一个C#脚本
4.开始写主角移动的代码
public float playerSpeed = 5f;
设置主角的速度,定义成public方便前台的修改
playerRigidbody = GetComponent ();
表示获得角色身上的刚体组件,后面会大量用到这个写法
float h = Input.GetAxisRaw (“Horizontal”);
float v = Input.GetAxisRaw (“Vertical”);
表示主角接收水平,垂直方向上的玩家输入。
vector = transform.position + vector.normalized * playerSpeed * Time.deltaTime;
这里第二个参数固定为0是因为主角不会跳动,Y坐标始终保持在一个位置,Time.deltaTime,这是一个规范写法保证在不同的cpu机器上主角移动的距离是一样的。
playerRigidbody.MovePosition (vector);
将代码拖拽到主角的面板上,点击运行
6.发现主角掉下去了,这是个严重的问题。下面是解决这个问题的步骤:
给主角加上CapsuleCollider组件
调整大小,差不多框住主角
给地板加上BoxCollider
现在点击运行键,按上下左右或WASD可以看到主角滑动起来了
如果遇到主角倒地情况
小技巧:点开Rigidbody的Constraints,锁住旋转轴XZ