Releases: stephengold/Minie
Releases · stephengold/Minie
Minie v0.6.4
- 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 thePhysicsRigidBody
class. - Added optional axes to debug visualizations.
- Moved the CCD accessors to the
PhysicsCollisionObject
class. - Added a
copyCenter()
method to theMultiSphere
class. - Added the capability to disable the startup message.
- Added
getUpDirection()
andreset()
methods to thePhysicsCharacter
class. - Added the capability to configure the
PhysicsCharacter
sweep test. - Reduced
CollisionShape
validation in thePhysicsRigidBody
class. - Updated the native libraries to version 1.0.29 of
Libbulletjme
.
Minie v0.6.3
Important changes to the library:
- Prohibited
PhysicsRigidBody.setKinematic()
on static bodies. - Use
EmptyShape
to permit linking a bone without vertices in aDynamicAnimControl
. - Added
getSpatial()
methods toGhostControl
andRigidBodyControl
. - 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
, andTestBoneRagdoll
. - Added example tuning for CesiumMan model. (model not provided)
- Simplified the example tuning for the Jaime model.
Minie v0.6.2
- Fixed bug where
SimpleSolidControl.onAdd()
threw aNullPointerException
if the control wasn't added to aPhysicsSpace
. - Added a
countJoints()
method toPhysicsRigidBody
. - Added a
setLimit()
method toHingeJoint
. - 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
- Added an option to calculate local coordinates in
DynamicAnimControl.findManagerForVertex()
. - Added a
chainLength
argument toDynamicAnimControl.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
Noteworthy additions:
- An
IKController
class for inverse kinematics. EachPhysicsLink
maintains a list of IK controllers. - 3 IK joint creation methods in
DynamicAnimControl
:moveToBody()
,moveToWorld()
, andpinToWorld()
. - Each
DynamicAnimControl
keeps a list of IK joints and disables those joints when entering ragdoll mode. - A
BalanceDemo
with 2 examples ofIKController
. - An
EmptyShape
class. - A
setDynamicChain()
method inDynamicAnimControl
. - Optional
Biped
andBinocular
interfaces forDynamicAnimControl
subclasses. - A
footprint()
method to calculate the "footprint" of aPhysicsLink
. - An
animateSubtree()
method forDynamicAnimControl
. - 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()
, andhash()
methods for collision objects.
Bugs fixed:
- Single-ended point-to-point joints were created with incorrect world locations for their pivots.
PhysicsRigidBody
andPhysicsCharacter
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
toDacLinks
. (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
- Added a "contact response" option for rigid bodies.
- Added an
isStatic()
method toPhysicsCollisionObject
. - 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
ordebugMeshResolution
. - For a
CompoundCollisionShape
, generate a new debug spatial on every frame. - Visualize non-responsive rigid bodies in yellow.
Noteworthy changes to DynamicAnimControl
:
- Added
centerOfMass()
andsetAttachmentConfig()
methods. - Collect mesh-vertex coordinates in a
HashSet
(instead of anArrayList
) to increase the efficiency ofcreateSpatialData()
.
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
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
andTestRectangularSolid
applications. - Added a
HullCollisionShape
constructor based onRectangularSolid
. - Added
MultiSphere
constructors based onBoundingSphere
andRectangularSolid
.
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.