0

我有一个实现了角色控制器组件的胶囊。要移动它,我正在使用:

public float player_speed=0.6f;
if(Input.GetKey(KeyCode.W)){
    this.GetComponent<CharacterController>().Move(new Vector3(transform.forward.x*player_speed,0f,transform.forward.z*player_speed));
}

但是当我将值设置player_speed为 0.3f 时,它开始飞行。我不知道为什么。有人可以向我解释一下吗?

4

1 回答 1

0

Character Controller 不会自动添加重力,因此您需要自己实现。执行此操作的最简单方法通常是在角色接地时将重力保持在 0(或较小的数字),然后如果他没有接地,则逐渐增加重力强度(最大)。

于 2013-08-20T11:00:35.223 回答