java - 如何在jBullet中创建 "BoxShape"?

标签 java parameters jbullet

我想在 jBullet 中创建一个 BoxShape。构造函数要求一个 Vector3f 对象作为参数,该对象需要三个float 参数。

BoxShape(Vector3f boxHalfExtends) //The constructor for the "BoxShape" class.

我查看了 jBullet 页面,但找不到 boxHalfExtends 是什么。

我应该在 BoxShape构造函数参数中输入什么?

最佳答案

"To create a box you have to pass a vector with the half-extents."

来源:http://www.panda3d.org/manual/index.php/Bullet_Collision_Shapes

这意味着,您需要在 x,y,z 轴上传入框的宽度和高度的一半。

float dx = 0.5f; //X Width = 0.5 * 2 = dx - (-dx) = 1
float dy = 0.5f; //Y Width = 0.5 * 2 = dy - (-dy) = 1
float dz = 1.0f; //Z Width = 1.0 * 2 = dz - (-dz) = 2

CollisionObject boxShape = BoxShape(Vector3f(dx, dy, dz));

dx,dy,dz值与盒子放置在世界上的哪个位置无关,而是与盒子有多大有关。

关于java - 如何在jBullet中创建 "BoxShape"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164005/

相关文章:

android - 将屏幕坐标转换为 OpenGL 坐标

java - mac中JAVA_HOME设置错误

java - 使用 Java 通过网络发送对象

c++ - 有没有办法在模板类中处理可变数量的参数?

powershell - 使用参数但在 powershell 中保存 $args

c++ - 'auto ... arg' 的参数包形式在 lambda 中启用但在函数中没有启用?

java - JBullet - 静态时凸形状无法正常工作

java - 韩文字符在 JTextField 上显示为空框

java - 从大型 Set<String> 中获取重复项的最佳性能方法是什么?