LibGDX BOX2D更改maxPolygonVertices

Bol*_*aul 6 vertices box2d libgdx

我需要制作一个超过8个顶点的体,我得到了错误.

   AL lib: (EE) alc_cleanup: 1 device not closed
Assertion failed!

Program: C:\Program Files\Java\jre7\bin\javaw.exe
File: /var/lib/jenkins/workspace/libgdx/gdx/jni/Box2D/Collision/Shapes/b2PolygonShape.cpp, Line 122

Expression: 3 <= count && count <= 8
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变那个常数?

我找到了这个文件https://github.com/libgdx/libgdx/blob/master/gdx/jni/Box2D/Common/b2Settings.h

我在这里看到了

#define b2_maxPolygonVertices   8
Run Code Online (Sandbox Code Playgroud)

如何从libGDX更改它?

noo*_*one 8

实际上你不应该改变它,因为它会降低性能.

你要做的是Body用几个创建一个Fixtures.这些灯具将具有最多8个顶点并将共享一些顶点,因此您将使用粘在一起的较小部件模拟较大的部件.

这称为多边形分解.当您导出场景时,Box2D的某些编辑器会自动为您执行此操作.可能是Box2D的最佳编辑器,有RUBE.还为乡巴佬场景一个libgdx装载机这里.

如果您以编程方式创建它们,您可能必须自己完成.也许有些LibGDX工具,如EarClippingTriangulator可以帮助你在这里.