Releases: stephengold/jme3-utilities
Releases · stephengold/jme3-utilities
Minie library v0.4.5
Main features added:
- New
MultiSphere
collision shape andMultiSphereDemo
app. - Configure normals and resolution of the debug mesh for each collision shape.
- Register an init listener for a
BulletDebugAppState
. - The Puppet model with its licensing history (for the
TestDac
app). - Test whether a collision shape is convex.
- Vertex counts and volume calculations for various collision shapes.
- Calculate half extents for simplex and hull collision shapes.
- Copy the vertices of a
SimplexCollisionShape
.
Bugs fixed:
- Incorrect default limits for
SixDofJoint
. - Crash in
PhysicsSpace.stepSimulation()
after reading a hull shape from a model asset. - Debug mesh is not updated after the shape's margin changes.
MyShape.volume()
ignores scaling of capsule shapes.
Incompatible changes to the library API:
- Renamed
PhysicsRigidBody.getJoints()
tolistJoints()
and changed its semantics to reduce aliasing. - Privatized the joint list in
PhysicsRigidBody
. - Removed 3 inverse-kinematics stub methods from
DynamicAnimControl
. - Standardized the
getLowerLimit()
andgetUpperLimit()
methods in theTranslationalLimitMotor
class. - Removed the
getTriangleIndexVertexArray()
method from theNativeMeshUtil
class.
Other details:
- Updated shared libraries to version 1.0.15 of
jme3-bullet-native
. - Based on version 2.13 of the
jme3-utilities-heart
library.
jme3-utilities-x v0.2.6
- Bugfix: assertion failure in
Population.size()
. - Based on version 2.12 of the jme3-utilities-heart library.
jme3-utilities-heart v2.12.0
- Added a
findIndex()
method for scene-graph controls to theMySpatial
class. - Added a
mean()
method to theMyVector3f
class. - Added
nonEmpty()
methods for Object arrays and collections to theValidate
class - Allow for negative bone weights in animated meshes.
jme3-utilities-debug v0.9.5
- Bugfix:
SkeletonVisualizer
custom colors not deeply cloned. - Added
dump()
anddescribe()
methods for Bone and Skeleton. - Dump material parameters one-per-line and make dumping optional.
- Based on version 2.12 of the jme3-utilities-heart library.
Minie library v0.4.4
- Fixed map cloning bugs in
DynamicAnimControl
andConfigDynamicAnimControl
. - Added a
countJoints()
method and removed thedestroy()
method of thePhysicsSpace
class. - Reduce aliasing in the
BulletDebugAppState
constructor.
Minie library v0.4.3
- Changed
DynamicAnimControl.setMass()
to take a bone name or a physics link. - Made
MyControlP
aware thatDynamicAnimControl
does not support local physics. - Added
DynamicAnimControl
tunings for the MhGame and Puppet models.
Minie library v0.4.2
More changes to DynamicAnimControl
:
- Added the capability to release attachments.
- Gave each
PhysicsLink
a name that's distinct from its bone's name. - Added
hasAttachmentLink()
andunlinkAttachment()
methods. - Removed the
isLinkName()
method. - Renamed the
isBoneLinkName()
method tohasBoneLink()
. - Renamed the
unlink()
method tounlinkBone()
. - Changed the
attachmentBoneNames()
andlinkedBoneNames()
methods to return
arrays instead of collections. - Added example tunings for the Ninja and Oto models.
- Detect and reject models with ignoreTransform geometries.
Other noteworthy changes to Minie:
- In
RangeOfMotion
, set the joint's angular limits in addition
to its motor limits. - In
SixDofJoint
, store rotational motors in an array, not a linked list.
Minie library v0.4.1
More design and implementation changes to DynamicAnimControl
.
- Added support for attachments nodes.
- The center of a linked rigid body can be offset from its joint.
- Major refactoring to base
AttachmentLink
,BoneLink
, andTorsoLink
on a newPhysicsLink
class. - Renamed
JointPreset
class toRangeOfMotion
. - Refer to links by reference instead of by name.
- Added a
forceKinematic
option to thefreeze()
methods. - Renamed many methods.
- Preserve animation data during a
rebuild()
. - Moved
RagdollCollisionListener
to thecom.jme3.bullet.animation
package. - Completed the
read()
andwrite()
methods. - Lowered the default for
torsoMass
from 15 to 1. - Fixed bug where
DynamicAnimControl
reported collisions from other DACs. - Catch any attempt to set local physics.
- Don't re-order controls unless it's necessary.
Other noteworthy changes to Minie:
- Improved dumps and descriptions of joints, physics controls, collision objects, and rigid bodies.
- Standardized
getPivot()
methods to avoid aliasing. - Avoided aliasing in
setViewPorts()
methods. - Added a
getTargetVelocity()
method toTranslationalLimitMotor
. - Added an
activate()
method toPhysicsCollisionObject
. - Fixed a bug that caused an assertion failure while reading a
CompoundCollisionShape
. - Updated native shared libraries to v1.0.12 of
jme3-bullet-native
.
jme3-utilities-heart v2.11.0
- Renamed 5 methods in the
MySpatial
class and deprecated the old names - Renamed 2
Validate.isNumber()
methods and deprecated the old name - Renamed
MyColor.parseColor()
and deprecated the old name - Eviscerated
SubtreeControl.cloneForSpatial()
- Added
copyLocalTransform()
,copyMeshTransform()
,preOrderBones()
, andsetLocalTransform()
methods to theMySkeleton
class - Added a
worldTransform()
method to theMySpatial
class - Added a
slerp()
method forTransform
to theMyMath
class - Added a
finite()
method forVector3f
to theValidate
class - Added an
isAnimated()
method to theMyMesh
class
jme3-utilities-debug v0.9.4
- Added a
subject
argument to theSkeletonVisualizer
constructor. (API change) - Bugfix:
AxisVisualizer
rescaled its controlled spatial. - Bugfix: custom scene-graph control caused Describer to throw an exception.
- Bugfix: reading an
AxesVisualizer
from J3O failed due to missing no-arg constructor. - Based on version 2.11 of the heart library.