我想在jBullet中创建一个 BoxShape 。构造函数请求 Vector3f 对象作为参数,该参数要求三个 float 参数。
BoxShape(Vector3f boxHalfExtends) //The constructor for the "BoxShape" class.
我查看了jBullet页面,找不到 boxHalfExtends 是什么。
我应该为 BoxShape 输入构造函数参数?
答案 0 :(得分:1)
“要创建一个框,你必须传递一个带有半范围的向量。”
来源: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 值不是关于盒子放置在世界的哪个位置,而是它的大小。