@rapierphysicsplugin/client 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/clock-sync.test.d.ts +2 -0
- package/dist/__tests__/clock-sync.test.d.ts.map +1 -0
- package/dist/__tests__/clock-sync.test.js +63 -0
- package/dist/__tests__/clock-sync.test.js.map +1 -0
- package/dist/__tests__/interpolator.test.d.ts +2 -0
- package/dist/__tests__/interpolator.test.d.ts.map +1 -0
- package/dist/__tests__/interpolator.test.js +82 -0
- package/dist/__tests__/interpolator.test.js.map +1 -0
- package/dist/__tests__/state-reconciler.test.d.ts +2 -0
- package/dist/__tests__/state-reconciler.test.d.ts.map +1 -0
- package/dist/__tests__/state-reconciler.test.js +86 -0
- package/dist/__tests__/state-reconciler.test.js.map +1 -0
- package/dist/clock-sync.d.ts +17 -0
- package/dist/clock-sync.d.ts.map +1 -0
- package/dist/clock-sync.js +63 -0
- package/dist/clock-sync.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/input-manager.d.ts +18 -0
- package/dist/input-manager.d.ts.map +1 -0
- package/dist/input-manager.js +62 -0
- package/dist/input-manager.js.map +1 -0
- package/dist/interpolator.d.ts +35 -0
- package/dist/interpolator.d.ts.map +1 -0
- package/dist/interpolator.js +198 -0
- package/dist/interpolator.js.map +1 -0
- package/dist/networked-rapier-plugin.d.ts +82 -0
- package/dist/networked-rapier-plugin.d.ts.map +1 -0
- package/dist/networked-rapier-plugin.js +698 -0
- package/dist/networked-rapier-plugin.js.map +1 -0
- package/dist/rapier-body-ops.d.ts +27 -0
- package/dist/rapier-body-ops.d.ts.map +1 -0
- package/dist/rapier-body-ops.js +208 -0
- package/dist/rapier-body-ops.js.map +1 -0
- package/dist/rapier-collision-ops.d.ts +6 -0
- package/dist/rapier-collision-ops.d.ts.map +1 -0
- package/dist/rapier-collision-ops.js +200 -0
- package/dist/rapier-collision-ops.js.map +1 -0
- package/dist/rapier-constraint-ops.d.ts +29 -0
- package/dist/rapier-constraint-ops.d.ts.map +1 -0
- package/dist/rapier-constraint-ops.js +286 -0
- package/dist/rapier-constraint-ops.js.map +1 -0
- package/dist/rapier-plugin.d.ts +145 -0
- package/dist/rapier-plugin.d.ts.map +1 -0
- package/dist/rapier-plugin.js +263 -0
- package/dist/rapier-plugin.js.map +1 -0
- package/dist/rapier-shape-ops.d.ts +21 -0
- package/dist/rapier-shape-ops.d.ts.map +1 -0
- package/dist/rapier-shape-ops.js +314 -0
- package/dist/rapier-shape-ops.js.map +1 -0
- package/dist/rapier-types.d.ts +58 -0
- package/dist/rapier-types.d.ts.map +1 -0
- package/dist/rapier-types.js +4 -0
- package/dist/rapier-types.js.map +1 -0
- package/dist/state-reconciler.d.ts +28 -0
- package/dist/state-reconciler.d.ts.map +1 -0
- package/dist/state-reconciler.js +119 -0
- package/dist/state-reconciler.js.map +1 -0
- package/dist/sync-client.d.ts +110 -0
- package/dist/sync-client.d.ts.map +1 -0
- package/dist/sync-client.js +514 -0
- package/dist/sync-client.js.map +1 -0
- package/package.json +21 -0
- package/src/__tests__/clock-sync.test.ts +72 -0
- package/src/__tests__/interpolator.test.ts +98 -0
- package/src/__tests__/state-reconciler.test.ts +102 -0
- package/src/clock-sync.ts +77 -0
- package/src/index.ts +9 -0
- package/src/input-manager.ts +72 -0
- package/src/interpolator.ts +256 -0
- package/src/networked-rapier-plugin.ts +909 -0
- package/src/rapier-body-ops.ts +251 -0
- package/src/rapier-collision-ops.ts +229 -0
- package/src/rapier-constraint-ops.ts +327 -0
- package/src/rapier-plugin.ts +364 -0
- package/src/rapier-shape-ops.ts +369 -0
- package/src/rapier-types.ts +60 -0
- package/src/state-reconciler.ts +151 -0
- package/src/sync-client.ts +640 -0
- package/tsconfig.json +12 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networked-rapier-plugin.js","sourceRoot":"","sources":["../src/networked-rapier-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Vector3, Quaternion, PhysicsMotionType } from '@babylonjs/core';
|
|
2
|
+
import type { PhysicsBody, PhysicsMassProperties, TransformNode } from '@babylonjs/core';
|
|
3
|
+
import type { RapierPluginState } from './rapier-types.js';
|
|
4
|
+
export declare function initBody(state: RapierPluginState, body: PhysicsBody, motionType: PhysicsMotionType, position: Vector3, orientation: Quaternion): void;
|
|
5
|
+
export declare function disposeBody(state: RapierPluginState, body: PhysicsBody): void;
|
|
6
|
+
export declare function syncBody(state: RapierPluginState, body: PhysicsBody): void;
|
|
7
|
+
export declare function syncTransform(state: RapierPluginState, body: PhysicsBody, transformNode: TransformNode): void;
|
|
8
|
+
export declare function setMotionType(state: RapierPluginState, body: PhysicsBody, motionType: PhysicsMotionType): void;
|
|
9
|
+
export declare function getMotionType(state: RapierPluginState, body: PhysicsBody): PhysicsMotionType;
|
|
10
|
+
export declare function computeMassProperties(state: RapierPluginState, body: PhysicsBody): PhysicsMassProperties;
|
|
11
|
+
export declare function setMassProperties(state: RapierPluginState, body: PhysicsBody, massProps: PhysicsMassProperties): void;
|
|
12
|
+
export declare function getMassProperties(state: RapierPluginState, body: PhysicsBody): PhysicsMassProperties;
|
|
13
|
+
export declare function setLinearDamping(state: RapierPluginState, body: PhysicsBody, damping: number): void;
|
|
14
|
+
export declare function getLinearDamping(state: RapierPluginState, body: PhysicsBody): number;
|
|
15
|
+
export declare function setAngularDamping(state: RapierPluginState, body: PhysicsBody, damping: number): void;
|
|
16
|
+
export declare function getAngularDamping(state: RapierPluginState, body: PhysicsBody): number;
|
|
17
|
+
export declare function setLinearVelocity(state: RapierPluginState, body: PhysicsBody, linVel: Vector3): void;
|
|
18
|
+
export declare function getLinearVelocityToRef(state: RapierPluginState, body: PhysicsBody, linVel: Vector3): void;
|
|
19
|
+
export declare function setAngularVelocity(state: RapierPluginState, body: PhysicsBody, angVel: Vector3): void;
|
|
20
|
+
export declare function getAngularVelocityToRef(state: RapierPluginState, body: PhysicsBody, angVel: Vector3): void;
|
|
21
|
+
export declare function applyImpulse(state: RapierPluginState, body: PhysicsBody, impulse: Vector3, location: Vector3): void;
|
|
22
|
+
export declare function applyAngularImpulse(state: RapierPluginState, body: PhysicsBody, angularImpulse: Vector3): void;
|
|
23
|
+
export declare function applyForce(state: RapierPluginState, body: PhysicsBody, force: Vector3, location: Vector3): void;
|
|
24
|
+
export declare function setGravityFactor(state: RapierPluginState, body: PhysicsBody, factor: number): void;
|
|
25
|
+
export declare function getGravityFactor(state: RapierPluginState, body: PhysicsBody): number;
|
|
26
|
+
export declare function setTargetTransform(state: RapierPluginState, body: PhysicsBody, position: Vector3, rotation: Quaternion): void;
|
|
27
|
+
//# sourceMappingURL=rapier-body-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rapier-body-ops.d.ts","sourceRoot":"","sources":["../src/rapier-body-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { Vector3, Quaternion, PhysicsMotionType } from '@babylonjs/core';
|
|
2
|
+
export function initBody(state, body, motionType, position, orientation) {
|
|
3
|
+
let bodyDesc;
|
|
4
|
+
switch (motionType) {
|
|
5
|
+
case PhysicsMotionType.DYNAMIC:
|
|
6
|
+
bodyDesc = state.rapier.RigidBodyDesc.dynamic();
|
|
7
|
+
break;
|
|
8
|
+
case PhysicsMotionType.STATIC:
|
|
9
|
+
bodyDesc = state.rapier.RigidBodyDesc.fixed();
|
|
10
|
+
break;
|
|
11
|
+
case PhysicsMotionType.ANIMATED:
|
|
12
|
+
bodyDesc = state.rapier.RigidBodyDesc.kinematicPositionBased();
|
|
13
|
+
break;
|
|
14
|
+
default:
|
|
15
|
+
bodyDesc = state.rapier.RigidBodyDesc.dynamic();
|
|
16
|
+
}
|
|
17
|
+
bodyDesc.setTranslation(position.x, position.y, position.z);
|
|
18
|
+
bodyDesc.setRotation(new state.rapier.Quaternion(orientation.x, orientation.y, orientation.z, orientation.w));
|
|
19
|
+
const rigidBody = state.world.createRigidBody(bodyDesc);
|
|
20
|
+
state.bodyToRigidBody.set(body, rigidBody);
|
|
21
|
+
state.bodyToColliders.set(body, []);
|
|
22
|
+
}
|
|
23
|
+
export function disposeBody(state, body) {
|
|
24
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
25
|
+
if (rb) {
|
|
26
|
+
const colliders = state.bodyToColliders.get(body) ?? [];
|
|
27
|
+
for (const col of colliders) {
|
|
28
|
+
state.colliderHandleToBody.delete(col.handle);
|
|
29
|
+
}
|
|
30
|
+
state.world.removeRigidBody(rb);
|
|
31
|
+
state.bodyToRigidBody.delete(body);
|
|
32
|
+
state.bodyToColliders.delete(body);
|
|
33
|
+
state.bodyCollisionObservables.delete(body);
|
|
34
|
+
state.bodyCollisionEndedObservables.delete(body);
|
|
35
|
+
state.collisionCallbackEnabled.delete(body);
|
|
36
|
+
state.collisionEndedCallbackEnabled.delete(body);
|
|
37
|
+
const shape = state.bodyToShape.get(body);
|
|
38
|
+
if (shape) {
|
|
39
|
+
state.shapeToBody.delete(shape);
|
|
40
|
+
}
|
|
41
|
+
state.bodyToShape.delete(body);
|
|
42
|
+
state.bodyEventMask.delete(body);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function syncBody(state, body) {
|
|
46
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
47
|
+
if (!rb)
|
|
48
|
+
return;
|
|
49
|
+
const tn = body.transformNode;
|
|
50
|
+
if (!tn)
|
|
51
|
+
return;
|
|
52
|
+
const pos = rb.translation();
|
|
53
|
+
const rot = rb.rotation();
|
|
54
|
+
tn.position.set(pos.x, pos.y, pos.z);
|
|
55
|
+
tn.rotationQuaternion = tn.rotationQuaternion ?? new Quaternion();
|
|
56
|
+
tn.rotationQuaternion.set(rot.x, rot.y, rot.z, rot.w);
|
|
57
|
+
}
|
|
58
|
+
export function syncTransform(state, body, transformNode) {
|
|
59
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
60
|
+
if (!rb)
|
|
61
|
+
return;
|
|
62
|
+
const pos = rb.translation();
|
|
63
|
+
const rot = rb.rotation();
|
|
64
|
+
transformNode.position.set(pos.x, pos.y, pos.z);
|
|
65
|
+
transformNode.rotationQuaternion = transformNode.rotationQuaternion ?? new Quaternion();
|
|
66
|
+
transformNode.rotationQuaternion.set(rot.x, rot.y, rot.z, rot.w);
|
|
67
|
+
}
|
|
68
|
+
export function setMotionType(state, body, motionType) {
|
|
69
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
70
|
+
if (!rb)
|
|
71
|
+
return;
|
|
72
|
+
switch (motionType) {
|
|
73
|
+
case PhysicsMotionType.DYNAMIC:
|
|
74
|
+
rb.setBodyType(state.rapier.RigidBodyType.Dynamic, true);
|
|
75
|
+
break;
|
|
76
|
+
case PhysicsMotionType.STATIC:
|
|
77
|
+
rb.setBodyType(state.rapier.RigidBodyType.Fixed, true);
|
|
78
|
+
break;
|
|
79
|
+
case PhysicsMotionType.ANIMATED:
|
|
80
|
+
rb.setBodyType(state.rapier.RigidBodyType.KinematicPositionBased, true);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export function getMotionType(state, body) {
|
|
85
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
86
|
+
if (!rb)
|
|
87
|
+
return PhysicsMotionType.STATIC;
|
|
88
|
+
if (rb.isDynamic())
|
|
89
|
+
return PhysicsMotionType.DYNAMIC;
|
|
90
|
+
if (rb.isKinematic())
|
|
91
|
+
return PhysicsMotionType.ANIMATED;
|
|
92
|
+
return PhysicsMotionType.STATIC;
|
|
93
|
+
}
|
|
94
|
+
export function computeMassProperties(state, body) {
|
|
95
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
96
|
+
if (!rb)
|
|
97
|
+
return { mass: 1, centerOfMass: Vector3.Zero(), inertia: Vector3.One(), inertiaOrientation: Quaternion.Identity() };
|
|
98
|
+
const com = rb.localCom();
|
|
99
|
+
const inertia = rb.principalInertia();
|
|
100
|
+
const inertiaFrame = rb.principalInertiaLocalFrame();
|
|
101
|
+
return {
|
|
102
|
+
mass: rb.mass(),
|
|
103
|
+
centerOfMass: new Vector3(com.x, com.y, com.z),
|
|
104
|
+
inertia: new Vector3(inertia.x, inertia.y, inertia.z),
|
|
105
|
+
inertiaOrientation: new Quaternion(inertiaFrame.x, inertiaFrame.y, inertiaFrame.z, inertiaFrame.w),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export function setMassProperties(state, body, massProps) {
|
|
109
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
110
|
+
if (!rb)
|
|
111
|
+
return;
|
|
112
|
+
const mass = massProps.mass ?? 0;
|
|
113
|
+
const com = massProps.centerOfMass ?? Vector3.Zero();
|
|
114
|
+
const inertia = massProps.inertia ?? Vector3.Zero();
|
|
115
|
+
const inertiaOrientation = massProps.inertiaOrientation ?? Quaternion.Identity();
|
|
116
|
+
rb.setAdditionalMassProperties(mass, new state.rapier.Vector3(com.x, com.y, com.z), new state.rapier.Vector3(inertia.x, inertia.y, inertia.z), new state.rapier.Quaternion(inertiaOrientation.x, inertiaOrientation.y, inertiaOrientation.z, inertiaOrientation.w), true);
|
|
117
|
+
}
|
|
118
|
+
export function getMassProperties(state, body) {
|
|
119
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
120
|
+
if (!rb)
|
|
121
|
+
return { mass: 1, centerOfMass: Vector3.Zero(), inertia: Vector3.One(), inertiaOrientation: Quaternion.Identity() };
|
|
122
|
+
const com = rb.localCom();
|
|
123
|
+
const inertia = rb.principalInertia();
|
|
124
|
+
const inertiaFrame = rb.principalInertiaLocalFrame();
|
|
125
|
+
return {
|
|
126
|
+
mass: rb.mass(),
|
|
127
|
+
centerOfMass: new Vector3(com.x, com.y, com.z),
|
|
128
|
+
inertia: new Vector3(inertia.x, inertia.y, inertia.z),
|
|
129
|
+
inertiaOrientation: new Quaternion(inertiaFrame.x, inertiaFrame.y, inertiaFrame.z, inertiaFrame.w),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export function setLinearDamping(state, body, damping) {
|
|
133
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
134
|
+
if (rb)
|
|
135
|
+
rb.setLinearDamping(damping);
|
|
136
|
+
}
|
|
137
|
+
export function getLinearDamping(state, body) {
|
|
138
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
139
|
+
return rb?.linearDamping() ?? 0;
|
|
140
|
+
}
|
|
141
|
+
export function setAngularDamping(state, body, damping) {
|
|
142
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
143
|
+
if (rb)
|
|
144
|
+
rb.setAngularDamping(damping);
|
|
145
|
+
}
|
|
146
|
+
export function getAngularDamping(state, body) {
|
|
147
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
148
|
+
return rb?.angularDamping() ?? 0;
|
|
149
|
+
}
|
|
150
|
+
export function setLinearVelocity(state, body, linVel) {
|
|
151
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
152
|
+
if (rb)
|
|
153
|
+
rb.setLinvel(new state.rapier.Vector3(linVel.x, linVel.y, linVel.z), true);
|
|
154
|
+
}
|
|
155
|
+
export function getLinearVelocityToRef(state, body, linVel) {
|
|
156
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
157
|
+
if (rb) {
|
|
158
|
+
const v = rb.linvel();
|
|
159
|
+
linVel.set(v.x, v.y, v.z);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
export function setAngularVelocity(state, body, angVel) {
|
|
163
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
164
|
+
if (rb)
|
|
165
|
+
rb.setAngvel(new state.rapier.Vector3(angVel.x, angVel.y, angVel.z), true);
|
|
166
|
+
}
|
|
167
|
+
export function getAngularVelocityToRef(state, body, angVel) {
|
|
168
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
169
|
+
if (rb) {
|
|
170
|
+
const v = rb.angvel();
|
|
171
|
+
angVel.set(v.x, v.y, v.z);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
export function applyImpulse(state, body, impulse, location) {
|
|
175
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
176
|
+
if (!rb)
|
|
177
|
+
return;
|
|
178
|
+
rb.applyImpulseAtPoint(new state.rapier.Vector3(impulse.x, impulse.y, impulse.z), new state.rapier.Vector3(location.x, location.y, location.z), true);
|
|
179
|
+
}
|
|
180
|
+
export function applyAngularImpulse(state, body, angularImpulse) {
|
|
181
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
182
|
+
if (!rb)
|
|
183
|
+
return;
|
|
184
|
+
rb.applyTorqueImpulse(new state.rapier.Vector3(angularImpulse.x, angularImpulse.y, angularImpulse.z), true);
|
|
185
|
+
}
|
|
186
|
+
export function applyForce(state, body, force, location) {
|
|
187
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
188
|
+
if (!rb)
|
|
189
|
+
return;
|
|
190
|
+
rb.addForceAtPoint(new state.rapier.Vector3(force.x, force.y, force.z), new state.rapier.Vector3(location.x, location.y, location.z), true);
|
|
191
|
+
}
|
|
192
|
+
export function setGravityFactor(state, body, factor) {
|
|
193
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
194
|
+
if (rb)
|
|
195
|
+
rb.setGravityScale(factor, true);
|
|
196
|
+
}
|
|
197
|
+
export function getGravityFactor(state, body) {
|
|
198
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
199
|
+
return rb?.gravityScale() ?? 1;
|
|
200
|
+
}
|
|
201
|
+
export function setTargetTransform(state, body, position, rotation) {
|
|
202
|
+
const rb = state.bodyToRigidBody.get(body);
|
|
203
|
+
if (!rb)
|
|
204
|
+
return;
|
|
205
|
+
rb.setNextKinematicTranslation(new state.rapier.Vector3(position.x, position.y, position.z));
|
|
206
|
+
rb.setNextKinematicRotation(new state.rapier.Quaternion(rotation.x, rotation.y, rotation.z, rotation.w));
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=rapier-body-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rapier-body-ops.js","sourceRoot":"","sources":["../src/rapier-body-ops.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAQzE,MAAM,UAAU,QAAQ,CACtB,KAAwB,EACxB,IAAiB,EACjB,UAA6B,EAC7B,QAAiB,EACjB,WAAuB;IAEvB,IAAI,QAA8B,CAAC;IACnC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,iBAAiB,CAAC,OAAO;YAC5B,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM;QACR,KAAK,iBAAiB,CAAC,MAAM;YAC3B,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM;QACR,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;YAC/D,MAAM;QACR;YACE,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9G,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxD,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAwB,EAAE,IAAiB;IACrE,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAwB,EAAE,IAAiB;IAClE,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC1B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,IAAI,IAAI,UAAU,EAAE,CAAC;IAClE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAwB,EAAE,IAAiB,EAAE,aAA4B;IACrG,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC1B,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,aAAa,CAAC,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,IAAI,IAAI,UAAU,EAAE,CAAC;IACxF,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAwB,EAAE,IAAiB,EAAE,UAA6B;IACtG,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,iBAAiB,CAAC,OAAO;YAC5B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM;QACR,KAAK,iBAAiB,CAAC,MAAM;YAC3B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM;QACR,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACxE,MAAM;IACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAwB,EAAE,IAAiB;IACvE,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC;IAEzC,IAAI,EAAE,CAAC,SAAS,EAAE;QAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC;IACrD,IAAI,EAAE,CAAC,WAAW,EAAE;QAAE,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACxD,OAAO,iBAAiB,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAwB,EAAE,IAAiB;IAC/E,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7H,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,EAAE,CAAC,0BAA0B,EAAE,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QACf,YAAY,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,kBAAkB,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,IAAiB,EAAE,SAAgC;IAC7G,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;IAEjF,EAAE,CAAC,2BAA2B,CAC5B,IAAI,EACJ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC7C,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACzD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACnH,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,IAAiB;IAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7H,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,EAAE,CAAC,0BAA0B,EAAE,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QACf,YAAY,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,kBAAkB,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,IAAiB,EAAE,OAAe;IAC3F,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE;QAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,IAAiB;IAC1E,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,IAAiB,EAAE,OAAe;IAC5F,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE;QAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,IAAiB;IAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,IAAiB,EAAE,MAAe;IAC5F,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE;QAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAwB,EAAE,IAAiB,EAAE,MAAe;IACjG,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAwB,EAAE,IAAiB,EAAE,MAAe;IAC7F,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE;QAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAwB,EAAE,IAAiB,EAAE,MAAe;IAClG,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,IAAiB,EAAE,OAAgB,EAAE,QAAiB;IAC3G,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,EAAE,CAAC,mBAAmB,CACpB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACzD,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAC5D,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,IAAiB,EAAE,cAAuB;IACtG,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,EAAE,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAwB,EAAE,IAAiB,EAAE,KAAc,EAAE,QAAiB;IACvG,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,EAAE,CAAC,eAAe,CAChB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EACnD,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAC5D,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,IAAiB,EAAE,MAAc;IAC1F,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE;QAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,IAAiB;IAC1E,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAwB,EAAE,IAAiB,EAAE,QAAiB,EAAE,QAAoB;IACrH,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,EAAE,CAAC,2BAA2B,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,EAAE,CAAC,wBAAwB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type RAPIER from '@dimforge/rapier3d-compat';
|
|
2
|
+
import type { CollisionEventData } from '@rapierphysicsplugin/shared';
|
|
3
|
+
import type { RapierPluginState } from './rapier-types.js';
|
|
4
|
+
export declare function processCollisionEvents(state: RapierPluginState, eventQueue: RAPIER.EventQueue): void;
|
|
5
|
+
export declare function injectCollisionEvents(state: RapierPluginState, events: CollisionEventData[]): void;
|
|
6
|
+
//# sourceMappingURL=rapier-collision-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rapier-collision-ops.d.ts","sourceRoot":"","sources":["../src/rapier-collision-ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAQpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,MAAM,CAAC,UAAU,GAC5B,IAAI,CAuHN;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CA6FlG"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Vector3, PhysicsEventType } from '@babylonjs/core';
|
|
2
|
+
export function processCollisionEvents(state, eventQueue) {
|
|
3
|
+
eventQueue.drainCollisionEvents((handle1, handle2, started) => {
|
|
4
|
+
const body1 = state.colliderHandleToBody.get(handle1);
|
|
5
|
+
const body2 = state.colliderHandleToBody.get(handle2);
|
|
6
|
+
if (!body1 || !body2)
|
|
7
|
+
return;
|
|
8
|
+
const collider1 = state.world.getCollider(handle1);
|
|
9
|
+
const collider2 = state.world.getCollider(handle2);
|
|
10
|
+
if (!collider1 || !collider2)
|
|
11
|
+
return;
|
|
12
|
+
const isSensor = collider1.isSensor() || collider2.isSensor();
|
|
13
|
+
if (isSensor) {
|
|
14
|
+
const eventType = started ? PhysicsEventType.TRIGGER_ENTERED : PhysicsEventType.TRIGGER_EXITED;
|
|
15
|
+
const baseEvent1 = {
|
|
16
|
+
collider: body1,
|
|
17
|
+
collidedAgainst: body2,
|
|
18
|
+
colliderIndex: 0,
|
|
19
|
+
collidedAgainstIndex: 0,
|
|
20
|
+
type: eventType,
|
|
21
|
+
};
|
|
22
|
+
const baseEvent2 = {
|
|
23
|
+
collider: body2,
|
|
24
|
+
collidedAgainst: body1,
|
|
25
|
+
colliderIndex: 0,
|
|
26
|
+
collidedAgainstIndex: 0,
|
|
27
|
+
type: eventType,
|
|
28
|
+
};
|
|
29
|
+
state.onTriggerCollisionObservable.notifyObservers(baseEvent1);
|
|
30
|
+
if (state.collisionCallbackEnabled.has(body1)) {
|
|
31
|
+
const triggerEvent = { ...baseEvent1, point: null, normal: null, distance: 0, impulse: 0 };
|
|
32
|
+
state.bodyCollisionObservables.get(body1)?.notifyObservers(triggerEvent);
|
|
33
|
+
}
|
|
34
|
+
if (state.collisionCallbackEnabled.has(body2)) {
|
|
35
|
+
const triggerEvent = { ...baseEvent2, point: null, normal: null, distance: 0, impulse: 0 };
|
|
36
|
+
state.bodyCollisionObservables.get(body2)?.notifyObservers(triggerEvent);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (started) {
|
|
40
|
+
let point = null;
|
|
41
|
+
let normal = null;
|
|
42
|
+
let impulse = 0;
|
|
43
|
+
state.world.contactPair(collider1, collider2, (manifold, flipped) => {
|
|
44
|
+
const n = manifold.normal();
|
|
45
|
+
normal = flipped
|
|
46
|
+
? new Vector3(-n.x, -n.y, -n.z)
|
|
47
|
+
: new Vector3(n.x, n.y, n.z);
|
|
48
|
+
if (manifold.numContacts() > 0) {
|
|
49
|
+
const cp = manifold.localContactPoint1(0);
|
|
50
|
+
if (cp) {
|
|
51
|
+
const t = collider1.translation();
|
|
52
|
+
point = new Vector3(cp.x + t.x, cp.y + t.y, cp.z + t.z);
|
|
53
|
+
}
|
|
54
|
+
impulse = manifold.contactImpulse(0);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const eventType = PhysicsEventType.COLLISION_STARTED;
|
|
58
|
+
const fullEvent1 = {
|
|
59
|
+
collider: body1,
|
|
60
|
+
collidedAgainst: body2,
|
|
61
|
+
colliderIndex: 0,
|
|
62
|
+
collidedAgainstIndex: 0,
|
|
63
|
+
type: eventType,
|
|
64
|
+
point,
|
|
65
|
+
normal,
|
|
66
|
+
distance: 0,
|
|
67
|
+
impulse,
|
|
68
|
+
};
|
|
69
|
+
const fullEvent2 = {
|
|
70
|
+
collider: body2,
|
|
71
|
+
collidedAgainst: body1,
|
|
72
|
+
colliderIndex: 0,
|
|
73
|
+
collidedAgainstIndex: 0,
|
|
74
|
+
type: eventType,
|
|
75
|
+
point,
|
|
76
|
+
normal: normal ? normal.negate() : null,
|
|
77
|
+
distance: 0,
|
|
78
|
+
impulse,
|
|
79
|
+
};
|
|
80
|
+
state.onCollisionObservable.notifyObservers(fullEvent1);
|
|
81
|
+
if (state.collisionCallbackEnabled.has(body1)) {
|
|
82
|
+
state.bodyCollisionObservables.get(body1)?.notifyObservers(fullEvent1);
|
|
83
|
+
}
|
|
84
|
+
if (state.collisionCallbackEnabled.has(body2)) {
|
|
85
|
+
state.bodyCollisionObservables.get(body2)?.notifyObservers(fullEvent2);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const eventType = PhysicsEventType.COLLISION_FINISHED;
|
|
90
|
+
const baseEvent1 = {
|
|
91
|
+
collider: body1,
|
|
92
|
+
collidedAgainst: body2,
|
|
93
|
+
colliderIndex: 0,
|
|
94
|
+
collidedAgainstIndex: 0,
|
|
95
|
+
type: eventType,
|
|
96
|
+
};
|
|
97
|
+
const baseEvent2 = {
|
|
98
|
+
collider: body2,
|
|
99
|
+
collidedAgainst: body1,
|
|
100
|
+
colliderIndex: 0,
|
|
101
|
+
collidedAgainstIndex: 0,
|
|
102
|
+
type: eventType,
|
|
103
|
+
};
|
|
104
|
+
state.onCollisionEndedObservable.notifyObservers(baseEvent1);
|
|
105
|
+
if (state.collisionEndedCallbackEnabled.has(body1)) {
|
|
106
|
+
state.bodyCollisionEndedObservables.get(body1)?.notifyObservers(baseEvent1);
|
|
107
|
+
}
|
|
108
|
+
if (state.collisionEndedCallbackEnabled.has(body2)) {
|
|
109
|
+
state.bodyCollisionEndedObservables.get(body2)?.notifyObservers(baseEvent2);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
export function injectCollisionEvents(state, events) {
|
|
115
|
+
for (const event of events) {
|
|
116
|
+
const bodyA = state.bodyIdToPhysicsBody.get(event.bodyIdA);
|
|
117
|
+
const bodyB = state.bodyIdToPhysicsBody.get(event.bodyIdB);
|
|
118
|
+
if (!bodyA || !bodyB)
|
|
119
|
+
continue;
|
|
120
|
+
const point = event.point ? new Vector3(event.point.x, event.point.y, event.point.z) : null;
|
|
121
|
+
const normal = event.normal ? new Vector3(event.normal.x, event.normal.y, event.normal.z) : null;
|
|
122
|
+
const eventType = PhysicsEventType[event.type];
|
|
123
|
+
const baseEventA = {
|
|
124
|
+
collider: bodyA,
|
|
125
|
+
collidedAgainst: bodyB,
|
|
126
|
+
colliderIndex: 0,
|
|
127
|
+
collidedAgainstIndex: 0,
|
|
128
|
+
type: eventType,
|
|
129
|
+
};
|
|
130
|
+
const baseEventB = {
|
|
131
|
+
collider: bodyB,
|
|
132
|
+
collidedAgainst: bodyA,
|
|
133
|
+
colliderIndex: 0,
|
|
134
|
+
collidedAgainstIndex: 0,
|
|
135
|
+
type: eventType,
|
|
136
|
+
};
|
|
137
|
+
switch (event.type) {
|
|
138
|
+
case 'COLLISION_STARTED': {
|
|
139
|
+
const fullEventA = {
|
|
140
|
+
...baseEventA,
|
|
141
|
+
point,
|
|
142
|
+
normal,
|
|
143
|
+
distance: 0,
|
|
144
|
+
impulse: event.impulse,
|
|
145
|
+
};
|
|
146
|
+
const fullEventB = {
|
|
147
|
+
...baseEventB,
|
|
148
|
+
point,
|
|
149
|
+
normal: normal ? normal.negate() : null,
|
|
150
|
+
distance: 0,
|
|
151
|
+
impulse: event.impulse,
|
|
152
|
+
};
|
|
153
|
+
state.onCollisionObservable.notifyObservers(fullEventA);
|
|
154
|
+
if (state.collisionCallbackEnabled.has(bodyA)) {
|
|
155
|
+
state.bodyCollisionObservables.get(bodyA)?.notifyObservers(fullEventA);
|
|
156
|
+
}
|
|
157
|
+
if (state.collisionCallbackEnabled.has(bodyB)) {
|
|
158
|
+
state.bodyCollisionObservables.get(bodyB)?.notifyObservers(fullEventB);
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case 'COLLISION_FINISHED': {
|
|
163
|
+
state.onCollisionEndedObservable.notifyObservers(baseEventA);
|
|
164
|
+
if (state.collisionEndedCallbackEnabled.has(bodyA)) {
|
|
165
|
+
state.bodyCollisionEndedObservables.get(bodyA)?.notifyObservers(baseEventA);
|
|
166
|
+
}
|
|
167
|
+
if (state.collisionEndedCallbackEnabled.has(bodyB)) {
|
|
168
|
+
state.bodyCollisionEndedObservables.get(bodyB)?.notifyObservers(baseEventB);
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
case 'TRIGGER_ENTERED':
|
|
173
|
+
case 'TRIGGER_EXITED': {
|
|
174
|
+
state.onTriggerCollisionObservable.notifyObservers(baseEventA);
|
|
175
|
+
if (state.collisionCallbackEnabled.has(bodyA)) {
|
|
176
|
+
const triggerEventA = {
|
|
177
|
+
...baseEventA,
|
|
178
|
+
point: null,
|
|
179
|
+
normal: null,
|
|
180
|
+
distance: 0,
|
|
181
|
+
impulse: 0,
|
|
182
|
+
};
|
|
183
|
+
state.bodyCollisionObservables.get(bodyA)?.notifyObservers(triggerEventA);
|
|
184
|
+
}
|
|
185
|
+
if (state.collisionCallbackEnabled.has(bodyB)) {
|
|
186
|
+
const triggerEventB = {
|
|
187
|
+
...baseEventB,
|
|
188
|
+
point: null,
|
|
189
|
+
normal: null,
|
|
190
|
+
distance: 0,
|
|
191
|
+
impulse: 0,
|
|
192
|
+
};
|
|
193
|
+
state.bodyCollisionObservables.get(bodyB)?.notifyObservers(triggerEventB);
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=rapier-collision-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rapier-collision-ops.js","sourceRoot":"","sources":["../src/rapier-collision-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type RAPIER from '@dimforge/rapier3d-compat';
|
|
2
|
+
import { PhysicsConstraintAxis, PhysicsConstraintMotorType } from '@babylonjs/core';
|
|
3
|
+
import type { PhysicsBody, PhysicsConstraint, PhysicsConstraintAxisLimitMode, ConstrainedBodyPair, Nullable } from '@babylonjs/core';
|
|
4
|
+
import type { ConstraintDescriptor } from '@rapierphysicsplugin/shared';
|
|
5
|
+
import type { RapierPluginState } from './rapier-types.js';
|
|
6
|
+
export declare function buildConstraintDescriptor(constraint: PhysicsConstraint): ConstraintDescriptor;
|
|
7
|
+
export declare function createJointFromConstraint(state: RapierPluginState, constraint: PhysicsConstraint, rbA: RAPIER.RigidBody, rbB: RAPIER.RigidBody): RAPIER.ImpulseJoint;
|
|
8
|
+
export declare function initConstraint(state: RapierPluginState, constraint: PhysicsConstraint, body: PhysicsBody, childBody: PhysicsBody): void;
|
|
9
|
+
export declare function disposeConstraint(state: RapierPluginState, constraint: PhysicsConstraint): void;
|
|
10
|
+
export declare function setEnabled(state: RapierPluginState, constraint: PhysicsConstraint, isEnabled: boolean): void;
|
|
11
|
+
export declare function getEnabled(state: RapierPluginState, constraint: PhysicsConstraint): boolean;
|
|
12
|
+
export declare function setCollisionsEnabled(state: RapierPluginState, constraint: PhysicsConstraint, isEnabled: boolean): void;
|
|
13
|
+
export declare function getCollisionsEnabled(state: RapierPluginState, constraint: PhysicsConstraint): boolean;
|
|
14
|
+
export declare function setAxisFriction(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, friction: number): void;
|
|
15
|
+
export declare function getAxisFriction(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
|
|
16
|
+
export declare function setAxisMode(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, limitMode: PhysicsConstraintAxisLimitMode): void;
|
|
17
|
+
export declare function getAxisMode(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<PhysicsConstraintAxisLimitMode>;
|
|
18
|
+
export declare function setAxisMinLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, minLimit: number): void;
|
|
19
|
+
export declare function getAxisMinLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
|
|
20
|
+
export declare function setAxisMaxLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, limit: number): void;
|
|
21
|
+
export declare function getAxisMaxLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
|
|
22
|
+
export declare function setAxisMotorType(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, motorType: PhysicsConstraintMotorType): void;
|
|
23
|
+
export declare function getAxisMotorType(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<PhysicsConstraintMotorType>;
|
|
24
|
+
export declare function setAxisMotorTarget(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, target: number): void;
|
|
25
|
+
export declare function getAxisMotorTarget(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
|
|
26
|
+
export declare function setAxisMotorMaxForce(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, maxForce: number): void;
|
|
27
|
+
export declare function getAxisMotorMaxForce(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
|
|
28
|
+
export declare function getBodiesUsingConstraint(state: RapierPluginState, constraint: PhysicsConstraint): ConstrainedBodyPair[];
|
|
29
|
+
//# sourceMappingURL=rapier-constraint-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rapier-constraint-ops.d.ts","sourceRoot":"","sources":["../src/rapier-constraint-ops.ts"],"names":[],"mappings":"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"}
|