I can’t run the test examples in JmeTests (the built-in example project) that have to do with jbullit and/or bullit. I get the same errors that others have previously written about here in the forum but I still fail to understand how those discussions apply in my case. They honestly seem to not at all apply as they relate to older versions of jMonkeyEngine and to libraries that are not part of my recently downloaded version of NetBeans/the jME3 SDK (that I run on a mac, but that should not matter).
I have fixed the java version from the default 6 to 8 (well, 1.8) and I have read about the once upon a time conflicting libraries. But as I understand it, there is now just one bullit library (jme3-jbullit) around. My search through old posts and documentation has ended up with basically nothing. I am now very frustrated and totally stuck.
Could someone please once for all sort out how to make all code in JmeTests work “out of the box”?
… JmeTests/src/jme3test/bullet/PhysicsHoverControl.java:187: error: cannot access MotionState
getMotionState().applyTransform(spatial);
class file for com.bulletphysics.linearmath.MotionState not found
Downloaded and installed just a couple of weeks ago. (And I have not tempered with it since.)
jMonkeyEngine programs I have written myself work fine but, then, they do not use everything in the examples.
(I took screen shots (PNG:s) of the list of libraries in the project and the list of compile-time libraries but get an error when I try to upload them.)
I have no idea why I can’t upload images (I just get a dialog box that says it is not possible and tells me to try again later…) so instead I uploaded them to myfile.org. To the best of my knowledge, there is nothing fishy with that site so I hope this is allowed here in this forum.
Image upload to the forum has been disabled for months due to a shortage of disk space on the server.
There are 2 changes required to run the JmeTests with 3.1.0-stable SDK:
change the source/binary form from “JDK 6” to “JDK 7” or “JDK 8” AND
replace the “jme3-jbullet” library with both “jme-bullet” and “jme3-bullet-native”.
If you’re getting an error in PhysicsHoverControl, that implies that you tried to run TestHoveringTank. With the changes described above, the test works for me.
The “cannot access MotionState” error is exactly the error I get if I build using the “jme3-jbullet” library. See requirement #2 above.
Not sure that’s going to happen. You can fix almost everything with basic java knowledge but for those things that are jme3 specific, like deprecated things, its a great learning experience if you read the wiki. I have found it to be enjoyably challenging myself.
I will help you with the Hover Tank file though. Heres a diff file from my changes.
Thank you very much for explaining in detail what to do, @sgold! I’m certain I’m not the only one grateful for that.
Just one thing: I do not know where to get jme-bullet and jme3-bullet-native. Are they already included somewhere in the 3.1.0-stable SDK distribution I downloaded? Or where can they be found?
The 3.1 libraries are included in the SDK, and also downloadable from GitHub and JFrog.
To access them in the SDK, right-click on a NetBeans project (such as JmeTests) to access its popup menu, select the “Properties” menu item, under “Categories:” select “Libraries”, and click on the “Add Library…” button.
The only part I’m not sure about is how you access a project’s popup menu if you don’t have a 3-button mouse.
FYI I think the MotionState Thing was due to missing jbullet.jar inside of jme3-jbullet (however this should have been fixed with the sdk, maybe not in time for stable).