Minie v3.1

Version 3.1.0 of the Minie Physics Library was released today. It’s available from both GitHub and JCenter.

In addition to some important bug fixes, v3.1 brings some features that I hope will prove useful. Here are the highlights:

  1. Two new builds for building more compact applications:
    • “3.1.0+big3” for JMonkeyEngine applications that need only support the 3 major platforms (Linux64, MacOSX64, and Windows64). It includes native physics libraries only for those 3.
    • “3.1.0+bare” for applications that provide their own native physics libraries. It doesn’t include any native libraries.
  2. Methods added to CollisionShapeFactory to create box and hull shapes using a merged mesh. These methods produce simpler, more efficient shapes than the old createBoxShape() and createDynamicMeshShape() methods, without sacrificing much accuracy.
  3. For applications that empty out a PhysicsSpace in order to re-use it, the destroy() function was re-implemented. The function was defined as a no-op in previous releases. It’s not difficult to code this yourself; it’s provided solely for convenience.
  4. “miniedump”, a new command-line tool for analyzing J3O files. Very much a “work in progress” at this time.
  5. Added support for Linux_ARM32 platforms such as the Raspberry Pi. (Thanks again, Pavly!)

For more details, see the release page at GitHub. For even more details, see the release log.

17 Likes

Hi Stephen,
I just integrated v3.1 into my project and I think the Box collision shape is still placed in an offset (see pic below).
If you want I can provide a sample program for reproducing this issue.
Besides that It is great that the lib (3big) is ~10MB smaller then the previous one! just great.
Thanks,
Adi

2 Likes

Yes, I’d like to see a sample program!

Here is a sample code reproducing the problem:

3 Likes

A BoxCollisionShape represents a box with its center at (0, 0, 0) in shape coordinates. However, the taxi model’s bounding box is centered at (0, 0.75, 0). The sample code ignores the center coordinates of the bounding box. Hence the mismatch.

You could work around this using a compound shape to position the box shape at (0, 0.75, 0).

An easier way to create collision shapes for models is to use the CollisionShapeFactory class, which includes 2 methods to create box shapes. In this case, I suspect what you want is:

CollisionShape modelShape = CollisionShapeFactory.createMergedBoxShape(n);
3 Likes

OK Thanks! I will test CollisionShapeFactory.createMergedBoxShape(n) and see if it’s OK with 100 concurrent cars, performance wise

2 Likes

I use CollisionShapeFactory in MinieV3.1 ,as well , to create a full collisionable chassis for my car :

     public VehicleAutoShop initializeVehiclePhysics(){
            CompoundCollisionShape compoundShape = (CompoundCollisionShape)CollisionShapeFactory.createDynamicMeshShape(chassis);
            compoundShape.translate(new Vector3f(0,1,0));
            vehicle = new VehicleControl(compoundShape, 600f);
            vehicleNode.addControl(vehicle);

            return this;
        }

where chassis is a Spatial Object , but when you have a high poly shape (too much modifiers Soldifies + Subsurface Divisions or too much tris), it will take time to load up.

1 Like

Using createMergedBoxShape(), shape generation shouldn’t take much time, even for complex models.

Shape generation lag can be avoided by generating shapes in advance and storing them as J3O assets. This is especially important when V-HACD is used to generate the shape, but it might help when using createDynamicMeshShape() as well.

2 Likes

Hi @sgold , I was experimenting with the Minie library, but unfortunately the wiki page is no longer reachable: Project overview :: The Minie project

The same goes for many links in the Tutorials section GitHub - stephengold/Minie: Integrate Bullet Physics and V-HACD into jMonkeyEngine projects. (code has New BSD license)

All those links are working for me. Try again?

nothing

Can you reach other GitHub pages?

this first link work for me.

so github.io dont work for you?

edit: All your links work for me Stephen, i guess github.io is somehow blocked on network path for @capdevon

the first link works for me too, the second one doesn’t

all these don’t work for me

i reply to earlier message, overall ALL links work for me.

it looks like you have problem with github.io @capdevon

check proxy web sites, it also work there. You can make traceroute to see where it break.

$ traceroute github.io

or you can just go https://www.proxysite.com/ and see this wiki from there.

1 Like

from the eleventh package onwards here is the result:

tracert github.io

11 * * * Request timed out.
12 * * * Request timed out.
13 * * * Request timed out.
14 * * * Request timed out.
15 * * * Request timed out.
16 * * * Request timed out.
17 * * * Request timed out.
18 * * * Request timed out.
19 * * * Request timed out.
20 * * * Request timed out.
21 * * * Request timed out.
22 * * * Request timed out.
23 * * * Request timed out.
24 * * * Request timed out.
25 * * * Request timed out.
26 * * * Request timed out.
27 * * * Request timed out.
28 * * * Request timed out.
29 * * * Request timed out.
30 * * * Request timed out.

well im not tracert specialist, but seems like 10 cause issue then.

you can just skip it and use proxy site i give, its your Network provider issue(or someone on path), not yours.

Maybe it’s just a temporary problem, a few days ago I reached the pages correctly. I can’t even reach the link you gave me https://www.proxysite.com/

sounds serious. probably you might be right its some temporary issue that Network providers need to solve.

I’ll try again, thanks to both of you for the help.

2 Likes