Skip to content

Releases: stephengold/Minie

Minie v0.6.3

17 Jan 17:37
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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.

Minie v0.5.0

29 Nov 22:15
Compare
Choose a tag to compare

Minie moved from the Jme3-utilities Project to a new GitHub repo.

Notable features added:

  • Added single-ended versions of all 6 PhysicsJoint types.
  • Added optional heuristics for configuring the center, shape, and mass of a PhysicsLink.
  • Added 4 methods for compatibility with the jme3-bullet library.
  • Cache and re-use debug meshes.
  • Added an enable flag and a breaking impulse threshold to every PhysicsJoint object.
  • Added an MhGame model for use by TestDac.
  • Added SeJointDemo, TestLargeMesh and TestRectangularSolid applications.
  • Added a HullCollisionShape constructor based on RectangularSolid.
  • Added MultiSphere constructors based on BoundingSphere and RectangularSolid.

Other important changes:

  • Debug-mesh properties are now per-collision object, instead of per-shape.
  • In the example model tunings, configure masses based on density.
  • In BulletJointDebugControl, visualize the A and B ends of each joint in distinct colors.
  • Moved 10 assertion-based tests to the library's "test" source set.
  • Fixed a bug in the TestDac application where controls were not removed for certain models.
  • Fixed a bug in BulletVehicleDebugControl where odd-numbered wheels were never updated.
  • Updated the native libraries to version 1.0.18 of jme3-bullet-native.
  • Based on version 2.14 of the jme3-utilities-heart library.