我有以下简单的场景:在(0,0,0)楼层和1大小框在(0,2,0)的缩放框。我尝试做简单的重力和使用下面的代码:是在CharacterController不稳定的地方
private float gravity = 1.0f;
private Vector3 moveVector;
void Update()
{
if (characterController.IsGrounded)
{
Debug.Log("is grounded");
verticalVelocity = 0;
}
else
{
Debug.Log("not grounded");
verticalVelocity -= gravity;
}
Debug.Log("vertical velocity:" + verticalVelocity);
moveVector.x = 0;
moveVector.y = verticalVelocity;
moveVector.z = 0;
characterController.Move(moveVector * Time.deltaTime);
}
我在日志中看到该事件时,对象是我一直接地/不接地的消息在地板上。视觉对象是在地板上,而不是摆动。 当物体在地板上时,为什么我没有不停的“停飞”? 也许这是CharacterController的工作原理,但在文档中我找不到它。
我们可以看到代码其中'characterController.IsGrounded'一些重力组? –
@ḞḹáḿíṅḡⱫỏḿƀíé此属性由Unity引擎控制。我没有设置它。 –