libgdx / fbx-conv

Command line utility using the FBX SDK to convert FBX/Collada/Obj files to a custom text/binary format for static, keyframed and skinned meshes.
Apache License 2.0
448 stars 116 forks source link

Segmentation Fault and Model not Supported #30

Closed susmark closed 10 years ago

susmark commented 10 years ago

When using a release version it throws Segmentation Fault when converting a file. When using a debug version it converts fine but the problem is in loading it in libgdx. I'm using Linux Mint 15 32bit.

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: data/test.g3db at com.badlogic.gdx.assets.AssetManager.handleTaskError(AssetManager.java:517) at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:351) at com.marku.wizduel.LoadScreen.render(LoadScreen.java:37) at com.badlogic.gdx.Game.render(Game.java:46) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:207) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114) Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: data/test.g3db at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:119) at com.badlogic.gdx.assets.AssetLoadingTask.update(AssetLoadingTask.java:89) at com.badlogic.gdx.assets.AssetManager.updateTask(AssetManager.java:454) at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:349) ... 4 more Caused by: com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Model version not supported at com.badlogic.gdx.utils.async.AsyncResult.get(AsyncResult.java:46) at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:117) ... 7 more Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Model version not supported at com.badlogic.gdx.graphics.g3d.loader.G3dModelLoader.parseModel(G3dModelLoader.java:74) at com.badlogic.gdx.graphics.g3d.loader.G3dModelLoader.loadModelData(G3dModelLoader.java:64) at com.badlogic.gdx.assets.loaders.ModelLoader.getDependencies(ModelLoader.java:74) at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:64) at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34) at com.badlogic.gdx.utils.async.AsyncExecutor$2.call(AsyncExecutor.java:65) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724)

xoppa commented 10 years ago

Does using the last prebuild binary (http://libgdx.badlogicgames.com/fbx-conv/) work? Please try to convert to g3dj (fbx-conv -o G3DJ test.fbx) and check if that works.

jfelrod1960 commented 10 years ago

Xoppa I tried using the prebuild binary and got the same error as above. But when I conveted to a G3DJ file and tried to load that, I didn't get any errors, but the model did not display. Here is the output:

main: [java] Mesh 0: Center = 0.0,0.0032219514,-0.14426626 Dims = 0.21645461,0.084602304,0.38413337 [java] Prefix: [java] #define positionFlag [java] #define diffuseColorFlag [java] [java] Prefix: [java] #define positionFlag [java] #define binormalFlag [java] #define tangentFlag [java] #define normalFlag [java] #define lightingFlag [java] #define ambientCubemapFlag [java] #define numDirectionalLights 2 [java] #define numPointLights 5 [java] #define texCoord0Flag [java] #define boneWeight0Flag [java] #define boneWeight1Flag [java] #define boneWeight2Flag [java] #define boneWeight3Flag [java] #define tangentFlag [java] #define binormalFlag [java] #define diffuseTextureFlag [java] #define diffuseTextureCoord texCoord0 [java] #define normalTextureFlag [java] #define normalTextureCoord texCoord0 [java] #define diffuseColorFlag [java] #define specularColorFlag [java] #define numBones 12 [java] [java] Prefix: [java] #define positionFlag [java] #define normalFlag [java] #define lightingFlag [java] #define ambientCubemapFlag [java] #define numDirectionalLights 2 [java] #define numPointLights 5 [java] #define diffuseColorFlag [java] [java] Java Result: -1

Thanks ... Jeff

xoppa commented 10 years ago

I made a stupid mistake during cleanup prior to committing, causing little endian. Should be fixed in next nightly.