繁体   English   中英

平滑的球运动(Unity)

[英]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 消息。

MonoBehaviour.FixedUpdate 有物理系统的频率; 它被称为每个固定帧率帧。 在 FixedUpdate 之后计算物理系统计算。 0.02 秒(每秒 50 次调用)是调用之间的默认时间。 使用 Time.fixedDeltaTime 访问此值。

参考:

希望它会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM