[英]Smooth ball movement (Unity)
我正在开发一个简单的带球的 3D 游戏。 并且球移动不顺畅。
while (i < Input.touchCount)
{
if(Input.GetTouch(i).position.y < ScreenHeight / 2)
{
if (Input.GetTouch(i).position.x > ScreenWidth / 2)
{
//move right
rigidBody.velocity += new Vector3(0.75f, 0, 0);
}
if (Input.GetTouch(i).position.x < ScreenWidth / 2)
{
//move left
rigidBody.velocity -= new Vector3(0.75f, 0, 0);
}
}
++i;
}
正如你所看到的,我使用了刚体的速度,它开始缓慢,然后快速。 但我希望球在触摸屏幕后立即以恒定速度移动。 此外,它正在猛烈地移动,而不是平稳地移动。 你能帮我改进一下吗?
请记住,物理计算需要在FixedUpdate()
事件方法中:
用于物理计算的帧速率独立 MonoBehaviour.FixedUpdate 消息。
MonoBehaviour.FixedUpdate 有物理系统的频率; 它被称为每个固定帧率帧。 在 FixedUpdate 之后计算物理系统计算。 0.02 秒(每秒 50 次调用)是调用之间的默认时间。 使用 Time.fixedDeltaTime 访问此值。
参考:
希望它会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.