1

所以在那里我做了一个很好的调试抽屉......并让所有世界对象都被淹没......现在我想要一些用特殊颜色绘制(例如子弹播放器,敌人网格表示)。那么如何指定网格颜色以便dynamicsWorld->getDebugDrawer()->debugDrawWorld();正确绘制呢?我在btCollisionShapebtCollisionObject API=( 那么如何设置颜色呢?

4

2 回答 2

1

如果我没记错的话,您应该能够在覆盖btIDebugDraw::drawLine和时控制颜色btIDebugDraw::drawContactPoint,因为两者的最后一个参数是const btVector3&代表红色、绿色和蓝色 - 来自班级的评论,范围为 [0 .. 1]。

于 2013-02-11T20:30:48.623 回答
0

迟到总比不到好。

const glm::mat4 transform = glm::mat4(1.0f); // Identiy
btTransform btTransf;
btTransf.setIdentity();
btTransf.setFromOpenGLMatrix(glm::value_ptr(transform));
btRigidBody* rb = new btRigidBody(0.0f, new btDefaultMotionState(btTransf), new btSphereShape(0.5f));
rb->setCustomDebugColor(btVector3(1.0f, 0.0f, 0.0f)); // Red collision
于 2021-09-20T17:41:48.643 回答