Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有重力的Box2D会影响不同的质量_Java_Android_Box2d_Physics_Libgdx - Fatal编程技术网

Java 具有重力的Box2D会影响不同的质量

Java 具有重力的Box2D会影响不同的质量,java,android,box2d,physics,libgdx,Java,Android,Box2d,Physics,Libgdx,如果我给物体不同的密度/质量,它们仍然以相同的速度下落。我知道,在没有空气阻力的地方,质量不会影响下落速度 那么,我该如何逻辑地让气球和砖块以不同的速度下落呢?我能想到的最接近的方法是使用setGravityScale来设置这一切。一个选项是禁用重力并自己应用每个帧所需的加速度。这就是我在比赛中的路线。Box2d内置的重力可以用于快速模拟,但它不是非常可定制的 禁用重力后,必须决定将哪个加速度公式应用于对象。流体阻力有几种不同的模型(请查看维基百科),因此您必须进行实验并选择一种看起来最好的模型

如果我给物体不同的密度/质量,它们仍然以相同的速度下落。我知道,在没有空气阻力的地方,质量不会影响下落速度


那么,我该如何逻辑地让气球和砖块以不同的速度下落呢?我能想到的最接近的方法是使用setGravityScale来设置这一切。

一个选项是禁用重力并自己应用每个帧所需的加速度。这就是我在比赛中的路线。Box2d内置的重力可以用于快速模拟,但它不是非常可定制的


禁用重力后,必须决定将哪个加速度公式应用于对象。流体阻力有几种不同的模型(请查看维基百科),因此您必须进行实验并选择一种看起来最好的模型。

一个选项是禁用重力,并自己在每个帧上应用所需的加速度。这就是我在比赛中的路线。Box2d内置的重力可以用于快速模拟,但它不是非常可定制的


禁用重力后,必须决定将哪个加速度公式应用于对象。流体阻力有几种不同的模型(查看维基百科),因此您必须进行实验并选择一种看起来最好的模型。

在box2d中模拟空气减速效果的最佳方法是使用“阻尼”

见:

“阻尼用于降低物体的世界速度。阻尼不同于摩擦,因为摩擦只发生在接触时。阻尼不是摩擦的替代品,两者应一起使用。”

“阻尼参数应介于0和无穷大之间,0表示无阻尼,无穷大表示完全阻尼。通常,您将使用介于0和0.1之间的阻尼值。我通常不使用线性阻尼,因为它使物体看起来浮动。”

bodyDef.Linear阻尼=0.0f


车身定义角度阻尼=0.01f

在box2d中模拟空气减速效果的最佳方法是使用“阻尼”

见:

“阻尼用于降低物体的世界速度。阻尼不同于摩擦,因为摩擦只发生在接触时。阻尼不是摩擦的替代品,两者应一起使用。”

“阻尼参数应介于0和无穷大之间,0表示无阻尼,无穷大表示完全阻尼。通常,您将使用介于0和0.1之间的阻尼值。我通常不使用线性阻尼,因为它使物体看起来浮动。”

bodyDef.Linear阻尼=0.0f

车身定义角度阻尼=0.01f