Skip to content

Releases: stephengold/Minie

Minie v0.7.2

09 Mar 10:52

Choose a tag to compare

Important changes to the library:

  • Fixed a bug where the angular factors of PhysicsRigidBody were not cloned correctly.
  • Fixed a bug where the inverse inertia of PhysicsRigidBody wasn't read/written/cloned.
  • Write the platform type during MeshCollisionShape save and compare during load, since saved BVH may be incompatible between platforms.
  • Added a getInverseInertiaWorld() method to the PhysicsRigidBody class.
  • Added a copyHullVertices() method to the HullCollisionShape class.
  • Simplified PhysicsDumper output.
  • Updated the native libraries to version 1.0.37 of Libbulletjme.

Minie v0.7.1

04 Mar 22:12

Choose a tag to compare

Important changes to the library:

  • Fixed read/write/clone bugs in MeshCollisionShape.
  • Fixed JME issue #1029 using riccardobl's approach.
  • Fixed a crash that occurred while loading a rigid body with mass=0.
  • Fixed a NullPointerException that occurred while dumping single-ended joints.
  • Add jump(void) and setGravity(float) methods to PhysicsCharacter.
  • Changed the default gravity direction for a PhysicsCharacter from -Z to -Y.
  • Moved the MyObject.describeUser() method to the PhysicsDescriber class.
  • Publicized the BulletAppState.stopPhysics() method for better compatibility with jme3-bullet.
  • Added 2 new constructors for BoxCollisionShape.
  • Dump additional information on rigid bodies in PhysicsDumper.
  • Ensure that translation axes are locked in RangeOfMotion.
  • Reorganized the location/orientation getters for collision objects.
  • Updated the native libraries to version 1.0.34 of Libbulletjme.

Minie v0.7.0

19 Feb 17:14

Choose a tag to compare

Important changes to the library:

  • Changed the semantics of DacConfiguration.detach(): from unlinking a Bone to detaching an attachment. (API change)
  • Removed the unlinkAttachment() method from the DacConfiguration class. (API change)
  • Replaced CompoundCollisionShape.getChildren() with a new listChildren() method. (API change)
  • Fixed a bug where adding a DynamicAnimControl to a Geometry caused a crash.
  • Fixed a bug where an attached model didn't follow the rigid body when its AttachmentLink was in dynamic mode.
  • Fixed a bug where MultiSphere.read() threw a ClassCastException.
  • Created a MinieCharacterControl class as a replacement for JME's CharacterControl.
  • Added a pinToSelf() method to the DynamicAnimControl class.
  • Added a contains() method to the PhysicsSpace class.
  • Added findIndex() and listChildren() methods to the CompoundCollisionShape class

Minie v0.6.5

08 Feb 23:58

Choose a tag to compare

  • Fixed various read/write bugs in BetterCharacterControl.
  • Cloned the rigid body in BetterCharacterControl.cloneFields().
  • Standardized BetterCharacterControl getters to use caller-provided storage. (API changes)
  • Renamed the describe(), getAxis(), and parseShapeId() methods in the MyShape class. (API changes)
  • Added a getRigidBody() method to the BetterCharacterControl class.
  • Added accessors for 7 parameters (anisotropic friction, rolling friction, spinning friction, contact damping, contact stiffness, deactivation time, and contact processing threshold) to the PhysicsCollisionObject class. These parameter should affect only rigid bodies and vehicles.
  • Added a parseId() method to the MyObject class.
  • Implemented the Comparable interface for the CollisionShape class.
  • Added a setLocationAndBasis() method to the PhysicsCollisionObject class.
  • Added accessors for friction and restitution to the PhysicsGhostObject and PhysicsCharacter classes. These should have no effect.
  • Updated the native libraries to version 1.0.30 of Libbulletjme.

Minie v0.6.4

25 Jan 22:02

Choose a tag to compare

  • Standardized the PhysicsCharacter.getWalkDirection() method. (API change)
  • Fixed a bug where debug shapes were re-used incorrectly.
  • Fixed a bug where 6 PhysicsCharacter parameters were neither loaded nor saved.
  • Added an isDynamic() method to the PhysicsRigidBody class.
  • Added optional axes to debug visualizations.
  • Moved the CCD accessors to the PhysicsCollisionObject class.
  • Added a copyCenter() method to the MultiSphere class.
  • Added the capability to disable the startup message.
  • Added getUpDirection() and reset() methods to the PhysicsCharacter class.
  • Added the capability to configure the PhysicsCharacter sweep test.
  • Reduced CollisionShape validation in the PhysicsRigidBody class.
  • Updated the native libraries to version 1.0.29 of Libbulletjme.

Minie v0.6.3

17 Jan 17:37

Choose a tag to compare

Important changes to the library:

  • Prohibited PhysicsRigidBody.setKinematic() on static bodies.
  • Use EmptyShape to permit linking a bone without vertices in a DynamicAnimControl.
  • Added getSpatial() methods to GhostControl and RigidBodyControl.
  • Updated the native libraries to version 1.0.24 of jme3-bullet-native.

Important changes to the examples:

  • Added new apps: HelloDac, HelloBoneLink, TestHullContact.
  • Added apps from the jme3-examples (sub)project: TestSimplePhysics, TestRagdollCharacter, and TestBoneRagdoll.
  • Added example tuning for CesiumMan model. (model not provided)
  • Simplified the example tuning for the Jaime model.

Minie v0.6.2

06 Jan 16:19

Choose a tag to compare

  • Fixed bug where SimpleSolidControl.onAdd() threw a NullPointerException if the control wasn't added to a PhysicsSpace.
  • Added a countJoints() method to PhysicsRigidBody.
  • Added a setLimit() method to HingeJoint.
  • Allowed vertical translation of heightfields.
  • Based on version 2.18 of the jme3-utilities-heart library and JME 3.2.2-stable.

Minie v0.6.1

29 Dec 05:51

Choose a tag to compare

  • Added an option to calculate local coordinates in DynamicAnimControl.findManagerForVertex().
  • Added a chainLength argument to DynamicAnimControl.setDynamicChain().
  • Finalized 4 library methods.
  • Created a CameraOrbitAppState class for use in examples.
  • Based on version 2.17 of the jme3-utilities-heart library and JME 3.2.2-beta1.
  • Disable scene-graph culling for animated models in examples.

Minie v0.6.0

15 Dec 19:58

Choose a tag to compare

Noteworthy additions:

  • An IKController class for inverse kinematics. Each PhysicsLink maintains a list of IK controllers.
  • 3 IK joint creation methods in DynamicAnimControl: moveToBody(), moveToWorld(), and pinToWorld().
  • Each DynamicAnimControl keeps a list of IK joints and disables those joints when entering ragdoll mode.
  • A BalanceDemo with 2 examples of IKController.
  • An EmptyShape class.
  • A setDynamicChain() method in DynamicAnimControl.
  • Optional Biped and Binocular interfaces for DynamicAnimControl subclasses.
  • A footprint() method to calculate the "footprint" of a PhysicsLink.
  • An animateSubtree() method for DynamicAnimControl.
  • A constructor for a single-ended Point2PointJoint with its constraint already satisfied.
  • An isActive() method for all collision objects (not just rigid bodies).
  • An isDetached() method for all physics links (not just attachments).
  • A setContactResponse() method for physics characters (not just bodies).
  • Simple compareTo(), equals(), and hash() methods for collision objects.

Bugs fixed:

  • Single-ended point-to-point joints were created with incorrect world locations for their pivots.
  • PhysicsRigidBody and PhysicsCharacter were not cloned properly.

Debugging improvements:

  • Generally made dumps more compact by trimming trailing zeros.
  • In dumps, indicate joints with out-of-space bodies.
  • In dumps, indicate joints that lack a dynamic body.
  • In dumps, indicate non-responsive rigid bodies.
  • In visualizations, draw non-contact physics characters in yellow wireframe.

Other important changes:

  • Added the concept of a DynamicAnimControl being "ready" for dynamic-mode only after the 1st physics timestep. This helps avert initialization bugs.
  • Turned off hardware skinning in DacLinks.createSpatialData() to provide access to the true positions of mesh vertices.
  • Modified the DynamicAnimControl.centerOfMass() method to also estimate the velocity vector of the center of mass.
  • Links in kinematic mode now update their body's location and velocity for every frame, instead of just for each timestep.
  • Eliminated the PhysicsJoint.getPivotInWorld() method. (API change)
  • Renamed DacPhysicsLinks to DacLinks. (API change)
  • PhysicsSpace accessors now return physics-object collections sorted by ID.

Other details:

  • Updated the native libraries to version 1.0.21 of jme3-bullet-native.
  • Based on version 2.16 of the jme3-utilities-heart library.

Minie v0.5.1

05 Dec 18:05

Choose a tag to compare

  • Added a "contact response" option for rigid bodies.
  • Added an isStatic() method to PhysicsCollisionObject.
  • Prohibited scaling of SimplexCollisionShape.
  • Added a MultiSphere constructor for a capsule shape with specified axis.

Noteworthy changes to debug visualization:

  • Fixed a bug where physics objects and joints continued being visualized after setting a filter to exclude them.
  • Update debug spatials on every change to debugMeshNormals or debugMeshResolution.
  • For a CompoundCollisionShape, generate a new debug spatial on every frame.
  • Visualize non-responsive rigid bodies in yellow.

Noteworthy changes to DynamicAnimControl:

  • Added centerOfMass() and setAttachmentConfig() methods.
  • Collect mesh-vertex coordinates in a HashSet (instead of an ArrayList) to increase the efficiency of createSpatialData().

Other details:

  • Updated the native libraries to version 1.0.20 of jme3-bullet-native.
  • Based on version 2.15 of the jme3-utilities-heart library.