@MackeyK24 On aside, do you know how to detect collisions between a kinematic character controller and a rigid body? The normal methods don’t seem to be doing for me via:
export const setupContactPairResultCallback = (Ammo) => {
const cbContactPairResult = new Ammo.ConcreteContactResultCallback()
//@ts-ignore
cbContactPairResult.hasContact = false
/*
for each contact point search:
cbContactPairResult = callback object (results) for contactPairTest
addSingleResult = method to search for colission between the 2 defined objects
cp = contact point
colObjWrap, colObj1Wrap = wrappers to retrieve participating object in collision
*/
cbContactPairResult.addSingleResult = function(cp, colObj0Wrap, partId0, index0, colObj1Wrap, partId1, index1) {
//@ts-ignore
const contactPoint = Ammo.wrapPointer(cp, ammoInstance.btManifoldPoint)
const distance = contactPoint.getDistance()
console.log("here, distance: ", distance)
if (distance > 0) return 0; /* theres no contact */
//@ts-ignore
cbContactPairResult.hasContact = true
return 1
}
return cbContactPairResult
}
const cb = setupContactPairResultCallback()
const testBody = new Ammo.btRigidBody() /* assume it's scaled and positioned correctly */
physicsWorld.contactPairTest(testBody , player.controller.getGhostObject(), cb) // nothing happens