Soft body dynamics?

hello all. independent game developer (project formerly known as underworld mmo) who is heavily considering jmonkey engine. i am self funded, so have freedom (and experience) to explore the bleeding edge.

unfortunately blender engine is not what i would call a safe bet, so i was wondering what work (beyond of course using native bullet) would be needed to implement the realtime soft body dynamic feature of bullet native into jmonkey engine?

(instead of double posting, let em also say that i will be investigating the integration or creation of whatever libraries i need to gather together approximate functionality/editors of other closed source game engines) (18+)

funny, i was in same situation.

Soon you will only choose between jMonkeyEngine and Unity3D :slight_smile:

Well you need to wrap the soft body functions in a similar fashion to the RigidBodies, so a PhysicsSoftBody class and a SoftBodyControl maybe, additionally you have to update the mesh data of the displayed geometries… I guess by looking at how the current native bullet implementation works you should get an idea on how it could be done. If you have any specific questions on how to implement what, just hit me with a @normen, maybe directly in this thread.

If you load the project in NetBeans you can compile and run the bullet native version by switching to the “Bullet Native” configuration (see build-bullet-natives.txt in the engine directory on what software you need to compile etc.), if you have the C++ plugins installed you can also edit the C++ code (add JNI and bullet to the global C/C++ paths) with completion etc., its all in the main jME3 engine project.

i should have mentioned that ii will be on windows 64 so i have been payng attention to the thread about windows 64 and native bullet. i must admit, coming from corporate app background,. i almost always use visual studio. netbeans, mingw64 and cmake are part of a triumvirate if i want to get away from VS dependences?

Well, first of all you can still use the 32bit native on win64, you just need to make sure you run the 32bit JVM. Then you can code however you like but the code has to be compilable using mingw as we need to build the executables for each platform on our server. Using (and configuring/debugging) the main project would probably be what helps us most :wink:

Adding a reply here so I will be informed of progress. My own needs will extend only to flags, I think.


as you may have noticed in another thread… i got an acer w500 tablet (dual core low end amd with integrated 6150) 2gb ram

needless to say, i will not be installing a 64 bit os so i will be makign the game 32 bit to see if it might run oon this lowend (i have a desktop to work alongside this)

will keep you posted

Just to note, I compiled my win64 with the sourcecodemodifications with gcc (if you did not read that in the other post), so no dependencies on microsoft runtime stuff.

The soft phyiscs is a bit of work to do, but I see no reason why it should not work with jme3.

→ you can modify vertice positions somewhat easy

→ you mostly need to write a callback or similar where the c++ stuff notifies the engine about mesh changes and supplies the new mehs data.

→ And a wrapper class that allows you to get the native calls done for initialisation, if you are familiar with c++, its mostly a ant call(for header generation, the build process already does all that sutff) and a little bit of coding to fill the empty methods with logic.

There is a 64bit windows binary now, without source changes. And editing the C++ code in the project in NetBeans (or any other editor) and then using the build script to build and test it should work fine, no need to do anything manually. Theres even an ant target for creating the header files only (e.g. after adding the native methods to the java classes).