unity 的character controller不太好用,碰撞什么的不好操作,经常需要自己写人物移动的脚本,所以就记录一下。
这个脚本代码很简单,实现的是按下键盘上下方向键,人物前进后退,按下键盘左右方向键,人物向左或向右转弯。一般情况下使用一个胶囊体代表player,将脚本挂载在其上即可。
代码如下:
mainTransform.position = this.transform.position + new Vector3(0f, 3.1f, 0f);
if (Input.GetKey (KeyCode.LeftArrow)) {
transform.Rotate (Vector3.up * -rotateSpeed * Time.deltaTime);
mainTransform.Rotate (Vector3.up * -rotateSpeed * Time.deltaTime);
}
if (Input.GetKey (KeyCode.RightArrow)) {
transform.Rotate (Vector3.up * rotateSpeed * Time.deltaTime);
mainTransform.Rotate (Vector3.up * rotateSpeed * Time.deltaTime);
}
if (Input.GetKey (KeyCode.UpArrow)) {
transform.Translate (Vector3.forward * moveSpeed * Time.deltaTime);