sdk
sdk copied to clipboard
Vehicle editor crashes when opening it
Vehicle editor crashes when opening it. It doesn't seem to able to load the model. There is something wrong with it clearly... hs_err_pid13948.log
https://hub.jmonkeyengine.org/t/sdk-vehicle-editing-direct-flash-back-problem/43258
Seems that jME 3.1 was the last one able to open the Raceway model. It just needs to be reconstructed somehow.
Precisely jME SDK 3.1 alpha 1 is capable of opening the model. Nothing newer than that. Couldn't get my buggy (from the jME test data) moving but the vehicle editor itself opened and loaded the buggy to the race track. But that version of the SDK doesn't show the scene graph, so can't easily see what is going on there. I guess if it could be opened without the physics with 3.3, and the physics then re-added...
Seems that the jBullet can open the scene. But somehow the shape generation fails with the native bullet, for reasons unknown to me.
So to reiterate that, our racetrack j3o got broken due to engine updates / changes in serialization basically? Does anyone (maybe @normen ) know where the source file was from, so we could reconvert it?
Yes. The following was my idea to fix it:
- Open the model with modified jME code that doesn't try to serialize the physics at all
- Generate (?) physics there with 3.3 bullet native and save
Found the model .blend file: https://cloud.bitwaves.de/s/WpPrBzjLPQW6moZ
Can someone who is good with blender take a quick look and maybe re-convert the track with pbr/gltf for j3o?
@grizeldi maybe? Then we can probably add the blend file to the resources folder of the SDK, it even has a CC license, which is embedded into the blend file.
Hey, just an idea.... The race track is all nice'n'shit... But.... what if your vehicle is too big for the track etc. To me, it would make more sense to switch the race track for the test environment used in https://github.com/stephengold/jme-vehicles. If the license allows, it should, right? Maybe copy some other stuff from the project as well...
@stephengold What is your opinion? The License is BSD-3, so it's certainly possible from a legal side. I just wonder how good the track is from a top down view, because that's iirc how the vehicle editor was, just a thing to see your model and drive a very limited bit(?)
The License is BSD-3, so it's certainly possible from a legal side. I just wonder how good the track is from a top down view, because that's iirc how the vehicle editor was, just a thing to see your model and drive a very limited bit(?)
The vehicle editor was mainly meant to be able to visually configure a model with the raycast vehicle, including some tricks to make the wheels turn around their own angle etc. So its more fo creating collision shapes, add wheels and maybe test your vehicle a little bit.
@stephengold What is your opinion?
The Vehicle Playground is definitely a cool environment. I don't know enough about the Vehicle Editor to say whether it would be an improvement. I say try it and see.
Note that Vehicle Playground is licensed under CC Zero Universal.
I tried to fix the Vehicle editor, but my internet speed is problematic and I cannot submit the code...
Could you sent us a patch file?
Is some blender work still required for this ticket? If so, I can do it.
Here's a fixed version + updated blender and glb files. The textures are no longer needed since they're bundled. The asset is loaded, but yields this error. I'll see if I can fix it and make a PR with everything, but I think my fork is beyond saving.
java.lang.AbstractMethodError: Receiver class com.jme3.bullet.BulletAppState does not define or inherit an implementation of the resolved method 'abstract java.lang.String getId()' of interface com.jme3.app.state.AppState.
at com.jme3.app.state.AppStateManager.attach(AppStateManager.java:141)
at com.jme3.gde.vehiclecreator.VehicleEditorController.prepareApplication(VehicleEditorController.java:101)
at com.jme3.gde.vehiclecreator.VehicleCreatorTopComponent$11.call(VehicleCreatorTopComponent.java:919)
at com.jme3.gde.vehiclecreator.VehicleCreatorTopComponent$11.call(VehicleCreatorTopComponent.java:916)
at com.jme3.app.AppTask.invoke(AppTask.java:147)