gpt4 book ai didi

debugging - libGDX 中的调试绘图

转载 作者:行者123 更新时间:2023-12-04 19:06:13 25 4
gpt4 key购买 nike

在 libGDX 中调试 draw Bullet 物理的正确方法是什么,以便我可以看到 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);
}

最佳答案

希望这在事后 3 个月后仍能对您有所帮助,因为您的片段肯定对我有帮助! ;)

我将您的代码片段放入我的应用程序中,并且能够使调试绘图正常工作。

作为记录,我使用的是 dynamicsWorld,但换掉了代码并且它可以工作。

dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher, broadphase, constraintSolver, collisionConfig);

我建议的一件事是在绘制模型和绘制调试时进行交换。如果您将调试放在第二位,它将最后绘制,因此位于模型之上。否则,您将体验到被模型掩盖的调试绘图。试试这个:

public void render(float delta) {

modelBatch.begin(cam);
...
modelBatch.end();

debugDrawer.begin(cam);
collisionWorld.debugDrawWorld();
debugDrawer.end();
}

关于debugging - libGDX 中的调试绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23798844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com