The Minie physics library


#21

No news. I’m focused on Minie right now. Next priority is a closed-source game project, then JME in general.

If there are features you need soon, I suggest you use Minie. If you foresee a future need in jMonkeyEngine for a particular feature, I suggest you open an issue at GitHub:
https://github.com/jMonkeyEngine/jmonkeyengine/issues/new


#22

What is the pros/cons of this versus jme3-bullet?


#23

Everything is documented in README page:


#24

Version 0.9.1 was just released. It’s available from GitHub, BinTray, and JitPack:

The soft-body demo code is shaping up nicely: https://github.com/stephengold/Minie/blob/master/MinieExamples/src/main/java/jme3utilities/minie/test/TestSoftBody.java :

  • press F1 to run the “squishy ball” demo
  • press F2 to run the “tablecloth” demo
  • press F3 to run the “wind-blown flag” demo

Coming up:

  • SoftBodyControl
  • soft-body joints
  • more complete cloning and serialization of PhysicsSoftBody

#25

Regarding soft body, for example in this model, I want to apply soft body physics to the character skirt, the character itself is rigged and animated.

Is this possible?

And one more thing, does it matter what material I use, I mean PBR,…?


#26

Skirts seem like a good application for soft-body physics. One approach would be to animate a skirt-less model composed of rigid bodies (a DynamicAnimControl in kinematic mode) and attach a soft-body skirt using anchors. I’ll try this approach in my next demo.

You can use any material (including PBR) with soft-body physics. PBR may work better once Minie is compatible with JME 3.3.


#27

Cool,

Looking forward to it.

And one thing just in case, now that JME 3.3 supports morphs in mesh, and morph track animation, I guess it would be possible to add a feature to bake the result of soft body animation to morphs by providing a utility class for Minie.
I guess this should be possible and probably easy to do. :slightly_smiling_face:


#28

yeah, would like to make the same :slight_smile: +1


#29

I’ve thought about this. Not sure this would be any easier than simulating the physics in Blender 3D and baking the animation there. But yeah, another reason to port Minie to JME 3.3.


#30

I’m developing against 3.3 master and would like to begin using Minie for physics soon-ish (on native Bullet now, but definitely want soft body + IK in the near future). If you’d like help with anything (even just testing) I’d be happy to contribute as time allows.


#31

I hope you can start porting Minie to 3.3 soon, I can also help with testing too. :slightly_smiling_face:


#32

maybe even i will switch to see how it works, but still really want it in JME basecode :smiley:

was also curious if hair cards would use it too(but there are a lot of them)


#33

I’m always glad to hear “happy to contribute”.

What I most want is for people to use Minie and provide constructive feedback:

  • suggestions to improve the API (including names)
  • suggestions to improve the documentation (including javadoc and README)
  • bugs (including crashes, unexpected behaviors, incompatibilities, performance bottlenecks)
  • missing features to prioritize
  • anything about Minie that seems unexpected or difficult

There’s an issue tracker at GitHub that needs to be “broken in”: https://github.com/stephengold/Minie/issues

You could write a simple game (or a demo or a proof-of-concept) and post screenshots, video, or code for others to study. Demonstrate an animated character pulling on a rope. Test anisotropic friction. Write a bubble-popping game. Figure out how to make dynamic bipeds walk, or simulate a basketball hoop or a sailboat or long hair. Compare performance and ease-of-use with the other physics libraries.

If you have Android experience, you might help me get automated Android builds running on Travis—this is something JME needs as well as Minie!

If you’re really ambitious, you could clone the repo and contribute PRs.


#34

I’ve been waiting to port Minie until JME 3.3 enters beta test. But if I reach a stopping point on soft-body physics before 3.3 goes beta, perhaps I’ll do the port then.


#35

Okay, thanks. :slightly_smiling_face:


#36

Sorry if my question seems shallow. I did a quick look at TestSoftBody, is it possible to apply a soft body physics to any JME mesh topology?
I see you are using an special type of mesh called ClothGrid in skirt example.


#37

In principal, you could apply soft-body physics to any Mesh—but a few caveats:

  • Currently Minie’s soft bodies are set up to work easily only with Triangle- and Line-mode meshes. I have a TODO to address that limitation.
  • Many meshes (such as com.jme3.scene.debug.Grid) were designed for visualization, not physics; if converted to soft bodies, they wouldn’t do anything useful.
  • I haven’t actually tested Line-mode meshes for soft bodies yet.

#38

Okay, thanks for the explanation.
Yes, I mean a Triangle mesh.
Actually what I want to know is, for cloth simulation specifically, should it be an instance of ClothGrid?
Should I convert the cloth mesh which comes when loading the model somehow to a ClothGrid to be able to do cloth simulation ?


#39

It looks AMAZING to me. I have started implementing it in my SceneMax3d (animation language for kids) project.
I’m getting a few warnings such as this (I’m using JDK 1.7.0_80):
Warning:java: /C:/dev/scenemax_desktop/scenemax_win_projector/libs/Minie-0.9.1.jar!/com/jme3/bullet/util/CollisionShapeFactory.class: major version 52 is newer than 51, the highest major version supported by this compiler.
It is recommended that the compiler be upgraded.

Does it mean I need to upgrade JME core libs or upgrade the JDK?

Thank you so much for this library!


#40

It means it was compiled using java 8 and you’re using java 7, so you need to upgrade to java 8.