Releases: stephengold/Minie
3.1.0-test4
A pre-release of v3.1.0, intended for advance testers.
3.1.0-test3
A pre-release of v3.1.0, intended for advance testers.
3.1.0-test2
- Updated the native libraries to v9.2.3 of Libbulletjme (minSdkVersion=22).
- Upgraded to JUnit v4.13.1 .
3.1.0-test1
A pre-release of v3.1.0, intended for advance testers.
3.0.0
- Bug fixes:
- collision-group checks are ineffective due to missing parentheses
ConcurrentModificationException
thrown by the "Physics Cleaner" thread- assertion failures while tracking the ID of a soft-body anchor
- JVM crash while reading the collision flags of a static rigid body
- assertion failure during
PhysicsLink.postTick()
- API changes:
- changed the semantics of the
countJoints()
andlistJoints()
methods in thePhysicsBody
class - changed the return type of the
rayTestRaw()
method in theCollisionSpace
class
- changed the semantics of the
- New
DynamicAnimControl
features:- a mechanism to ignore collisions between physics links that aren't directly joined
- a mechanism to apply bone rotations (from an
AnimClip
, for instance) to linked bones in dynamic mode setLocalTransform()
methods for the managed bones of physics links- a
fixToWorld()
method to lock aPhysicsLink
into position - an adjustable
pinToWorld()
method
- Improvements to
New6Dof
constraints:- enable springs in
RangeOfMotion
for more effective locking of axes - a
NewHinge
subclass inspired by Bullet'sbtHinge2Constraint
- getters for the calculated transforms
- enable springs in
- More convenience:
- added a factory method to construct a satisfied, double-ended
New6Dof
constraint using physics-space coordinates (instead of local ones) - added a
clearIgnoreList()
method to thePhysicsCollisionObject
class - added a
CcdFilter
class to select rigid bodies with CCD active - added a
DacUserFilter
class to select physics objects belonging to a particularDynamicAnimControl
- added
findEnd()
andfindOtherBody()
methods to thePhysicsJoint
class - publicized the
boneIndex()
methods ofBoneLink
andTorsoLink
- construct a
RangeOfMotion
(for a fixed joint) using Euler angles
- added a factory method to construct a satisfied, double-ended
- Improvements to
PhysicsDumper
:- dump the positions of locked DoFs in a
New6Dof
- an option to dump the ignored PCOs of a
PhysicsCollisionObject
- dump the application data of a
PhysicsCollisionObject
- dump the positions of locked DoFs in a
- Built using Gradle v6.6.1 .
- Based on:
- v6.0.0 of the Heart Library,
- v0.9.0 of the jme3-utilities-ui library,
- v0.6.0 of the Wes Library, and
- v0.9.15 of the jme3-utilities-nifty library.
- Updated the native libraries to v9.2.2 of Libbulletjme.
2.0.1
Bugfix: characters and ghosts ignore their own ignore lists!
2.0.0
-
Changes to the library API:
- Deleted the
MinieCharacterControl
andVHACDResults
classes. - Replaced inner class
PhysicsSoftBody.Material
withSoftBodyMaterial
. - Deleted deprecated methods and constructors.
- De-publicized 7 debug-control classes.
- Changed arguments of the
PhysicsCharacter
,CharacterControl
, andConvex2dShape
constructors fromCollisionShape
toConvexShape
. - Changed an argument of a
HullCollisionShape
constructor tofloat...
. - Changed the
shape
arguments ofsweepTest()
methods toConvexShape
. - Changed an argument of the
volumeConvex()
method toConvexShape
. - Privatized 6 fields:
CollisionSpace.physicsSpaceTL
CompoundMesh.scale
PhysicsSpace.physicsJoints
PhysicsSpace.pQueue
VHACD.indices
VHACD.vertices
- Changed 7 returned collections to unmodifiable collections.
- Based the
PhysicsCollisionObject
andPhysicsCollisionEvent
classes on theNativePhysicsObject
class. - Added a private constructor to the
VHACD
class.
- Deleted the
-
Bugfix: location not initialized when creating a
PhysicsCharacter
. -
Eliminated all
finalize()
methods by implementing a cleaner thread and adding 4 classes:BoundingValueHierarchy
CharacterController
NpoTracker
VehicleController
-
Added collision listeners for ongoing contacts (to the
PhysicsSpace
class). -
Added
totalAppliedForce()
andtotalAppliedTorque()
methods to thePhysicsRigidBody
class. -
Added 2 new constructors to the
HeightfieldCollisionShape
class. -
Implemented debug visualization for local physics.
-
Added argument validation to the
setMaxSlope()
method in thePhysicsCharacter
class. -
Added a
setContactCalcArea3Points()
method to thePhysicsCollisionEvent
class. -
Added accessors for the speculative contact restitution flag of a
PhysicsSpace
. -
Added 3 compatibility methods to the
PhysicsCollisionEvent
class. -
Dump additional information for rigid bodies.
-
Improved descriptions of user objects.
-
Upgraded to Gradle v6.5.1, Libbulletjme v8.4.0, and JUnit v4.13 .
2.0.0-test2
Another pre-release of v2.0.0, intended for advance testers.
2.0.0-test1
A pre-release of v2.0.0, intended for advance testers.
1.7.0
-
Fixed bugs in the library:
- kinematic
PhysicsRigidBody
cloned as a dynamic one CompoundCollisionShape.correctAxes()
yields incorrect results when multiple children reference the same shape- native objects of
SoftBodyWorldInfo
andVehicleTuning
are never freed worldInfo
field ofPhysicsSoftBody
not cloned, loaded, or savedFINE
logging of collision spaces reportsnativeId=0
increate()
- kinematic
-
Deprecated many obsolete methods slated to be removed from v2.
-
Added debug-visualization features:
- rebuild the debug shape of a
CompoundCollisionShape
ONLY when it changes - arrows to visualize cluster/node/rigid body velocity vectors
- markers to visualize pinned soft-body nodes
- arrows to visualize rigid/soft body gravity vectors
- add texture coordinates when visualizing a
PlaneCollisionShape
- specify line widths for
PhysicsJoint
debug arrows - configure the shadow mode of the debug root node
- rebuild the debug shape of a
-
Additional
PhysicsDumper
output:- restitution of each rigid body
- angular velocity of each dynamic rigid body
- split-impulse parameters of each
SolverInfo
isGravityProtected
for rigid bodies andisWorldInfoProtected
for soft bodies- native ID for each
SoftBodyWorldInfo
-
Other added library features:
- an application-specific data reference for each
PhysicsCollisionObject
- an ignore list for each
PhysicsCollisionObject
- contact tests for collision spaces
- an option to protect the gravity of a
PhysicsRigidBody
from modification by aPhysicsSpace
- an option to protect the world info of a
PhysicsSoftBody
from replacement by aPhysicsSoftSpace
- methods to rotate/translate a
CompoundCollisionShape
- a method to activate all collision objects in a
PhysicsSpace
- publicized the
addJoint()
andremoveJoint()
methods ofPhysicsSpace
- keep track of the
PhysicsSpace
(if any) to which eachPhysicsJoint
is added - construct an
IndexedMesh
from the debug mesh of aCollisionShape
- construct a
MeshCollisionShape
from a collection of native meshes - a method to copy the cluster velocities of a
PhysicsSoftBody
- getters for the combined rolling/spinning friction of a
PhysicsCollisionEvent
- access the split-impulse parameters of a
SolverInfo
nativeId()
methods forPhysicsCollisionEvent
andPhysicsCollisionObject
, to prepare for v2- getters for the proxy group and proxy mask of a
PhysicsCollisionObject
- construct a
CompoundCollisionShape
with specified initial capacity
- an application-specific data reference for each
-
Major refactoring efforts:
- many classes based on a new
NativePhysicsObject
class - 4 debug controls based on a new
CollisionShapeDebugControl
class - physics appstate configuration using a new
DebugConfiguration
class
- many classes based on a new
-
Updated the native libraries to v6.4.0 of Libbulletjme.
-
Based on:
- the 3.3.2-stable release of jMonkeyEngine,
- v5.5.0 of the Heart Library,
- v0.8.3 of the jme3-utilities-ui library, and
- v0.5.0 of the Wes Library.