@threlte/rapier
Version:
Components and hooks to use the Rapier physics engine in Threlte
21 lines (20 loc) • 778 B
JavaScript
import { ActiveEvents } from '@dimforge/rapier3d-compat';
export const applyColliderActiveEvents = (collider, colliderEvents = {}, rigidBodyEvents = {}) => {
let events = 0;
if (colliderEvents.oncollisionenter ||
colliderEvents.oncollisionexit ||
rigidBodyEvents.oncollisionenter ||
rigidBodyEvents.oncollisionexit ||
colliderEvents.onsensorenter ||
colliderEvents.onsensorexit ||
rigidBodyEvents.onsensorenter ||
rigidBodyEvents.onsensorexit) {
events = events | ActiveEvents.COLLISION_EVENTS;
}
if (colliderEvents.oncontact || rigidBodyEvents.oncontact) {
events = events | ActiveEvents.CONTACT_FORCE_EVENTS;
}
if (events > 0) {
collider.setActiveEvents(events);
}
};