Integrate Bullet Physics and V-HACD into jMonkeyEngine projects. (code has New BSD license)
Deleted 9 public methods that had previously been deprecated: (API changes)
CollisionShape.getObjectId()
CollisionSpace.getSpaceId()
PhysicsCollisionObject.getObjectId()
PhysicsCollisionObject.listIgnoredIds()
PhysicsCollisionObject.setIgnoreList()
PhysicsJoint.getObjectId()
RigidBodyMotionState.getObjectId()
RotationalLimitMotor.getMotor()
TranslationalLimitMotor.getMotor()
Privatized the setIgnoreCollisionCheck()
method in the PhysicsCollisionObject
class. (API change)
Added the capability to define custom collision shapes using JVM code:
CustomConvexShape
class.PhysicsDescriber
to recognize custom shapes.Bugfix: CharacterController.onGround()
returns false positives after stepping (not jumping) off a cliff
Added runtime checks to MeshCollisionShape
for meshes that are too complex.
The "+big3" build flavor was replaced with "+big4" that includes native binaries for MacOSX_ARM64.
Changed how meshes for debug visualization are generated:
IndexedMesh
constructor to efficiently generate visualization meshes for collision shapes.DebugMeshCallback
with IndexedMesh
in DebugShapeFactory
.DebugMeshCallback
class.Added 10 new public methods:
BetterCharacterControl.getInitialHeight()
BetterCharacterControl.getInitialRadius()
CompoundMesh.countSubmeshes()
CompoundMesh.getSubmesh()
IndexedMesh.copyTriangles()
IndexedMesh.distinctVertices()
IndexedMesh.footprint()
IndexedMesh.maxDistance()
IndexedMesh.surfaceArea()
IndexedMesh.volumeConvex()
Updated to depend on v9.0.0 of the Heart library.
Updated the native libraries to v20.1.0 of Libbulletjme.
PhysicsCharacter
disregards ignore listsmakeMergedMesh()
uses the JME_PHYSICSIGNORE
tag differently from other methods in CollisionShapeFactory
ContactManager
interface and split off the DefaultContactManager
class the from the PhysicsSpace
class.PhysicsSpace
to instantiate collision events only when a corresponding listener is registered.addContactListener()
method to the PhysicsSpace
class.NullPointerException
after rebuilding a DynamicAnimControl
PhysicsRigidBody
MinkowskiSum
collision shapeClassFilter
class, for filtering physics objectsConvex2dShape.getBaseShape()
DynamicAnimControl
now logs a warning if armature scaling exceeds 1%.IllegalStateException
in DropTest
while creating a ragdollSoftBodyControl
.applyAllExceptIgnoreListTo()
method to the RigidBodySnapshot
class.static
in the tutorial apps.BetterCharacterControl
oscillates while unducking near an overhangBetterCharacterController.isOnGround()
is unreliableTestIssue18Heightfield
application throws an IllegalArgumentException
TestIssue13
applicationBetterCharacterControl
and JoinedBodyControl
.CollisionShape.getObjectId()
CollisionSpace.getSpaceId()
PhysicsCollisionObject.getObjectId()
PhysicsJoint.getObjectId()
RigidBodyMotionState.getObjectId()
RotationalLimitMotor.getMotor()
TranslationalLimitMotor.getMotor()
DynamicAnimControl
to a spatial resets its armaturePhysicsCollisionObject.cloneIgnoreList()
throws a NullPointerException
BetterCharacterControl.setPhysicsLocation()
never updates the fieldPhysicsSpace.enqueueOnThisThread()
never executeJointedBodyControl
class.CollisionSpace.isForceUpdateAllAabbs()
CollisionSpace.setForceUpdateAllAabbs()
DynamicAnimControl.blendToKinematicMode(KinematicSubmode, float, Transform)
DynamicAnimControl.saveCurrentPose()
DynamicAnimControl.setKinematicMode(KinematicSubmode)
PhysicsCollisionObject.listIgnoredPcos()
PhysicsCollisionObject.setIgnoreList(PhysicsCollisionObject[])
DynamicAnimControl
.IndexedMesh
classDacLinks.getTransformer()
RagUtils.findMainJoint()
PhysicsCollisionObject.listIgnoredIds()
PhysicsCollisionObject.setIgnoreList(long[])
PhysicsCollisionObject.findInstance()
creates a weak global reference that's never deletedDynamicAnimControl.totalMass()
returns NaN
even when the control is added to a Spatial
PhysicsCollisionObject
and MultiBody
are never deletedCollisionSpace.jniEnvId()
NativeLibrary.jniEnvId()
RagUtils.makeRectangularSolid()
method.DynamicAnimControl
tunings for a Mixamo rig.