【发布时间】:2014-05-22 05:58:21
【问题描述】:
在 libGDX 中调试绘制子弹物理的正确方法是什么,以便我可以看到我正在设置的 btCollisionObjects?
到目前为止,我有以下内容,但似乎没有出现 btCollisionObjects。
public void render(float delta) {
debugDrawer.begin(cam);
collisionWorld.debugDrawWorld();
debugDrawer.end();
modelBatch.begin(cam);
...
modelBatch.end();
}
@Override
public void show() {
Bullet.init();
...
collisionConfig = new btDefaultCollisionConfiguration();
dispatcher = new btCollisionDispatcher(collisionConfig);
broadphase = new btDbvtBroadphase();
collisionWorld = new btCollisionWorld(dispatcher, broadphase, collisionConfig);
debugDrawer = new DebugDrawer();
collisionWorld.setDebugDrawer(debugDrawer);
debugDrawer.setDebugMode(btIDebugDraw.DebugDrawModes.DBG_MAX_DEBUG_DRAW_MODE);
}
【问题讨论】:
-
您能尝试从模型批次开始/结束中获取调试绘图内容吗?另请注意,DebugDrawer 的内存存在严重问题。我认为它有内存泄漏。
-
我已更新代码以反映我所做的更改。仍然看不到物体。
-
DebugDrawer是来自测试的那个?它确实实现了一些回调? -
如果一切正常,我认为这与您提供的相机有关。在 DebugDrawer 回调中设置断点,看看它们是否根本没有被调用,或者它们是否只是被绘制到屏幕外。
标签: debugging libgdx bulletphysics