我有以下簡單的場景:在(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引擎控制。我沒有設置它。 –