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