Skip to content

Releases: stephengold/jme3-utilities

Minie library v0.4.0

20 Oct 16:14
Compare
Choose a tag to compare

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 its spatial field. Also added an empty controlRender() method.
  • Bugfix: NullPointerException in PhysicsSpace.getGravity().
  • Bugfix: JVM crashed while reading a SixDofJoint from a J3O asset.
  • Added check for invalid location in RigidBodyMotionState.getWorldLocation()
  • Disabled the isInWorld checks in PhysicsRigidBody.
  • Renamed and standardized the accessors of RigidBodyMotionState.
  • In RotationalLimitMotor: renamed the limit/bounce accessors, added accessors for CFM parameters, added getAccumulatedImpulse() and getAngle() methods.
  • In TranslationalLimitMotor: added accessors for 4 parameters, added getOffset() and setTargetVelocity() methods.
  • Added getPhysicsTransform() and setPhysicsTransform() methods to the PhysicsRigidBody class.
  • Bypassed setSpatial() in GhostControl and RigidBodyControl 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

10 Oct 16:05
Compare
Choose a tag to compare

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(), and torsoMass() methods.

Other noteworthy changes:

  • Added getPhysicsScale() and setPhysicsScale() methods to
    PhysicsRigidBody.
  • Removed the space argument from the addPhysics() and removePhysics()
    methods of AbstractPhysicsControl 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 to SixDofJoint.setPivot().
  • Added a physicsTransform() method to RigidBodyMotionState.
  • Added JointEnd and TestRagdollScaling classes.
  • Updated shared libraries to jme3-bullet-native v1.0.7 .
  • Removed the unused PhysicsSpace.initNativePhysics() method.

Minie library v0.3.4

05 Oct 21:06
Compare
Choose a tag to compare

Enhancements to KinematicRagdollControl:

  • Removed the weightThreshold = -1 hack.
  • Replaced boneList and RagdollPreset 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 in GhostControl and RigidBodyControl so that
    it will fall back to uniform scaling (if necessary) or skip rescale
    (if scale is unchanged).
  • Added an isEmpty() method to the PhysicsSpace class.
  • Added TestSetScale, TestIssue918, and TestIssue919.

Minie library v0.3.3

02 Oct 18:54
Compare
Choose a tag to compare
  • 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

29 Sep 06:24
Compare
Choose a tag to compare
  • 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

24 Sep 06:44
Compare
Choose a tag to compare
  • 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

23 Sep 17:34
Compare
Choose a tag to compare
  • 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

23 Sep 15:39
Compare
Choose a tag to compare
  • 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

23 Sep 18:46
Compare
Choose a tag to compare

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

14 Sep 18:22
Compare
Choose a tag to compare
  • Allow modal dialog boxes to open popup menus
  • Replace PopScreenController.hasActiveDialog() with getActiveDialog() (API change)