Releases: stephengold/jme3-utilities
Releases · stephengold/jme3-utilities
Minie library v0.4.0
Extensive design and implementation changes to KinematicRagdollControl
and its ilk, now in its own com.jme3.bullet.animation
package. DynamicAnimControl
is now the core, with ConfigDynamicAnimControl
for configuration.
- Bone shapes are now aligned with bone coordinate axes instead of mesh coordinate axes.
- The inverse-kinematics code has been removed in anticipation of a complete redesign.
- Kinematic mode now has 4 submodes.
- Rigid body updates now take place just before each physics tick instead of during scene-graph updates.
- Added an interim tool for tuning a
DynamicAnimationControl
. - Added example tunings for the Jaime and Elephant models.
- Added per-axis freezing of dynamic joints.
Other noteworthy changes to Minie:
- Added a getSpatial() method to the
AbstractPhysicsControl
class and privatized itsspatial
field. Also added an empty controlRender() method. - Bugfix:
NullPointerException
inPhysicsSpace.getGravity()
. - Bugfix: JVM crashed while reading a
SixDofJoint
from a J3O asset. - Added check for invalid location in
RigidBodyMotionState.getWorldLocation()
- Disabled the
isInWorld
checks inPhysicsRigidBody
. - Renamed and standardized the accessors of
RigidBodyMotionState
. - In
RotationalLimitMotor
: renamed the limit/bounce accessors, added accessors for CFM parameters, addedgetAccumulatedImpulse()
andgetAngle()
methods. - In
TranslationalLimitMotor
: added accessors for 4 parameters, addedgetOffset()
andsetTargetVelocity()
methods. - Added
getPhysicsTransform()
andsetPhysicsTransform()
methods to thePhysicsRigidBody
class. - Bypassed
setSpatial()
inGhostControl
andRigidBodyControl
in case the spatial does not change. - Eliminated unnecessary aliasing in joint constructors.
- Named the debug textures in
BulletDebugAppState
. - Visualize kinematic bodies in blue instead of magenta, to distinguish them from dynamic bodies.
Minie library v0.3.5
Enhancements to KinematicRagdollControl
:
- Began treating the torso more like a bone.
- Implemented a new algorithm to construct hulls without weight thresholds.
- Redesigned how mass is configured and totaled.
- Lowered the default dispatch threshold from 10 to 0.
- Moved all the code in
RagdollUtils
to other classes. - Include the torso in
setDamping()
. - Added
boneMass()
,getBoneLink()
,getJointPreset()
,gravity()
,
linkedBoneNames()
,setGravity()
, andtorsoMass()
methods.
Other noteworthy changes:
- Added
getPhysicsScale()
andsetPhysicsScale()
methods to
PhysicsRigidBody
. - Removed the
space
argument from the addPhysics() and removePhysics()
methods ofAbstractPhysicsControl
and its subclasses. - Added a list-based constructor for
HullCollisionShape
. - Fixed a logic bug in
MyObject
where vehicles were not recognized. - Added a
setPivot
method toSixDofJoint.setPivot()
. - Added a
physicsTransform()
method toRigidBodyMotionState
. - Added
JointEnd
andTestRagdollScaling
classes. - Updated shared libraries to
jme3-bullet-native
v1.0.7 . - Removed the unused
PhysicsSpace.initNativePhysics()
method.
Minie library v0.3.4
Enhancements to KinematicRagdollControl
:
- Removed the
weightThreshold = -1
hack. - Replaced
boneList
andRagdollPreset
with a joint map. - Changed coordinate translation to utilize animated geometries
instead of the controlled spatial. - Eliminated the temporary removal of the controlled spatial from the scene.
- Changed to continue updating ragdoll even after the controlled spatial moves.
Other noteworthy changes:
- Fixed 2 logic errors in
CylinderCollisionShape.canScale()
. - Added result validation to
PhysicsRigidBody.getPhysicsLocation()
. - Fixed JME issue #931.
- Updated shared libraries to
jme3-bullet-native
v1.0.5 . - Improved
applyScale
option inGhostControl
andRigidBodyControl
so that
it will fall back to uniform scaling (if necessary) or skip rescale
(if scale is unchanged). - Added an
isEmpty()
method to thePhysicsSpace
class. - Added
TestSetScale
,TestIssue918
, andTestIssue919
.
Minie library v0.3.3
- Added applyScale option to RigidBodyControl and GhostControl.
- Added default margin for collision shapes other than capsule and sphere.
- Eliminated runtime dependency on JME's jme3-bullet-native library.
- Removed TestIssue896.
Minie library v0.3.2
- Made many classes JmeCloneable, especially physics controls.
- Added custom debug materials to collision objects.
- Added canScale() method to collision shapes.
- Worked around JME issue #919.
- Prevented setting the margin of a capsule/sphere shape.
- Implemented limb damping in KinematicRagdollControl.
- Added getTorso() method to KinematicRagdollControl.
- Added check for rotation/translation of a heightfield rigid body.
- Converted PhysicsBoneLink to a standalone class.
- Removed unnecessary constructor from CollisionShape.
- Added tests.
Minie library v0.3.1
- Fixed JME issue #896 and added a test for it.
- Disabled getMargin() and setMargin() for capsule and sphere shapes.
- Initialized the scale and margin of compound shapes.
- Removed various methods and arguments.
- Added TestSetMargin to the test project.
SkyControl v0.9.14, Wes v0.3.7, jme3-utilities-debug v0.9.3, jme3-utilities-ui v0.6.5, and jme3-utilities-x v0.2.5
- Renamed getVersionShort() to versionShort() in 4 classes.
- Added a texture asset for a "ring" point shape.
- Based on version 2.10 of the jme3-utilities-heart library.
jme3-utilities-heart v2.10.0
- Added findOverride(), listMaterialUsers() and listMeshUsers() methods to the MySpatial class
- Renamed Misc.deepClone() and deprecated the old name
- Deprecated the Misc.getVersion() and Misc.getVersionShort() methods
Minie v0.3.0 and jme3-utilities-nifty v0.8.2
Based on version 2.10 of the jme3-utilities-heart library.
Notable changes to Minie:
- Fixed JME issue #740.
- Standardized the design of constructors and accessors to reduce aliasing of vectors and quaternions and enable the use of caller-allocated storage.
- Implemented a more practical approach to filtering debug objects.
- Simplified PhysicsCollisionEvent by eliminating event types.
- Renamed 2 PhysicsJoint methods that misspelled "bodies".
- Removed many needless fields, methods, and constructors.
- Made the VehicleTuning class JmeCloneable and Savable.
- Addressed the possibility of multiple physics controls added to the same Spatial.
- Replaced 6 parameters of VehicleWheel with a VehicleTuning reference.
- Eviscerated 5 cloneForSpatial() methods.
Notable changes to jme3-utilities-nifty:
- Require a controller for every dialog box.
- Rename LibraryVersion.getVersionShort() to versionShort().
jme3-utilities-nifty v0.8.1
- Allow modal dialog boxes to open popup menus
- Replace PopScreenController.hasActiveDialog() with getActiveDialog() (API change)