您的位置:首页 > 移动开发 > Unity3D

Unity物体穿墙问题

2017-07-04 15:15 155 查看
今天跟朋友聊到这个问题,由于都是在学习Unity的初期,所以由于自己的水平太低,会出现各种各样的问题。以前用gameObject.transform.Translate对物体进行移动,会出现穿墙问题,速度较低的情况下只是出现抖动的现象,速度快了就会直接穿过。

由于transform.Translate是对物体进行强制位移,所以才出现了这种状况,建议使用Character Control实现。

private CharacterController Cc;
private float speed;

void Awake() {
Cc = gameObject.GetComponent<CharacterController>();
speed = 3.0f;
}

void Update() {
if (Input.GetKey(KeyCode.W)){
Cc.Move(Vector3.forward * Time.deltaTime * speed);
}
}


Move可换为SimpleMove,Move是没有重力的,而SimpleMove则有重力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Unity character 移动