reze-engine 0.50.4 → 0.50.5
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/engine.d.ts +10 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +29 -0
- package/dist/model.d.ts +49 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +160 -4
- package/dist/physics/physics.d.ts +35 -0
- package/dist/physics/physics.d.ts.map +1 -1
- package/dist/physics/physics.js +64 -0
- package/dist/physics/world.d.ts +4 -0
- package/dist/physics/world.d.ts.map +1 -1
- package/dist/physics/world.js +6 -0
- package/package.json +1 -1
- package/src/engine.ts +28 -0
- package/src/model.ts +163 -4
- package/src/physics/physics.ts +63 -0
- package/src/physics/world.ts +7 -0
package/dist/engine.d.ts
CHANGED
|
@@ -566,6 +566,16 @@ export declare class Engine {
|
|
|
566
566
|
* this line, and the accessors then answer 0 rather than failing to compile.
|
|
567
567
|
*/
|
|
568
568
|
private static readonly MRT_IDS;
|
|
569
|
+
/**
|
|
570
|
+
* What fraction of its authored damping a chest rig's body keeps.
|
|
571
|
+
*
|
|
572
|
+
* The whole tuning surface for how long those rigs swing: lower rings
|
|
573
|
+
* longer, 1 restores the authored value exactly. It does NOT change where
|
|
574
|
+
* they hang at rest — that is the property that made damping the right knob
|
|
575
|
+
* (see RezePhysics.setJiggleDamping). Judge it against the models that
|
|
576
|
+
* motivated it; it is a starting point, not a measurement.
|
|
577
|
+
*/
|
|
578
|
+
private static readonly JIGGLE_DAMPING_SCALE;
|
|
569
579
|
/** The id attachment. Multisampled with the pass and NEVER resolved: an
|
|
570
580
|
* averaged id belongs to nothing, so consumers textureLoad sample 0. */
|
|
571
581
|
private idTexture;
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -6335,6 +6335,10 @@ export class Engine {
|
|
|
6335
6335
|
if (inst.physics && this.physicsEnabled && inst.model.visible) {
|
|
6336
6336
|
const tPhys = performance.now();
|
|
6337
6337
|
inst.physics.step(deltaTime, inst.model.getWorldMatrices(), inst.model.getBoneInverseBindMatrices());
|
|
6338
|
+
// The step published new world matrices for the simulated bones; the
|
|
6339
|
+
// bones that INHERIT from them are still wearing the animated pose.
|
|
6340
|
+
// Returns immediately unless this rig actually has such a bone.
|
|
6341
|
+
inst.model.applyPhysicsAppend();
|
|
6338
6342
|
physicsMs += performance.now() - tPhys;
|
|
6339
6343
|
}
|
|
6340
6344
|
if (inst.vertexBufferNeedsUpdate)
|
|
@@ -7290,6 +7294,21 @@ export class Engine {
|
|
|
7290
7294
|
// solver for the heaviest mesh in the scene and dropping it afterwards was
|
|
7291
7295
|
// both wasted work and an invariant maintained in the wrong place.
|
|
7292
7296
|
const physics = !isStage && rbs.length > 0 ? new RezePhysics(rbs, model.getJoints()) : null;
|
|
7297
|
+
// Which bones the simulation will overwrite, handed to the pose pipeline so
|
|
7298
|
+
// the append (付与) pass can consume the simulated result instead of the
|
|
7299
|
+
// animated one. Precomputed here, once, because the answer is topology —
|
|
7300
|
+
// see Model.setPhysicsDrivenBones for what it costs when a rig needs it and
|
|
7301
|
+
// why it costs nothing when none does.
|
|
7302
|
+
if (physics) {
|
|
7303
|
+
model.setPhysicsDrivenBones(physics.getPhysicsDrivenBones());
|
|
7304
|
+
// The bodies an inherited-from bone rides on are damped less than the
|
|
7305
|
+
// rest, so they swing longer WITHOUT hanging lower — see
|
|
7306
|
+
// RezePhysics.setJiggleDamping for why damping is the separable knob and
|
|
7307
|
+
// solver iterations are not.
|
|
7308
|
+
const appendSources = model.getAppendSourceBones();
|
|
7309
|
+
if (appendSources.length > 0)
|
|
7310
|
+
physics.setJiggleDamping(appendSources, Engine.JIGGLE_DAMPING_SCALE);
|
|
7311
|
+
}
|
|
7293
7312
|
// Adopt the scene's air, or a model added mid-session would fall under
|
|
7294
7313
|
// different gravity from the ones already on stage.
|
|
7295
7314
|
if (physics) {
|
|
@@ -10058,6 +10077,16 @@ Engine.BLOOM_MASK_FORMAT = "rg8unorm";
|
|
|
10058
10077
|
* this line, and the accessors then answer 0 rather than failing to compile.
|
|
10059
10078
|
*/
|
|
10060
10079
|
Engine.MRT_IDS = true;
|
|
10080
|
+
/**
|
|
10081
|
+
* What fraction of its authored damping a chest rig's body keeps.
|
|
10082
|
+
*
|
|
10083
|
+
* The whole tuning surface for how long those rigs swing: lower rings
|
|
10084
|
+
* longer, 1 restores the authored value exactly. It does NOT change where
|
|
10085
|
+
* they hang at rest — that is the property that made damping the right knob
|
|
10086
|
+
* (see RezePhysics.setJiggleDamping). Judge it against the models that
|
|
10087
|
+
* motivated it; it is a starting point, not a measurement.
|
|
10088
|
+
*/
|
|
10089
|
+
Engine.JIGGLE_DAMPING_SCALE = 0.5;
|
|
10061
10090
|
/**
|
|
10062
10091
|
* The installed effect's particle system, or null when it declared none.
|
|
10063
10092
|
*
|
package/dist/model.d.ts
CHANGED
|
@@ -198,6 +198,15 @@ export declare class Model {
|
|
|
198
198
|
private rootIsIdentity;
|
|
199
199
|
private skinMatricesArray?;
|
|
200
200
|
private deformOrder;
|
|
201
|
+
/** 1 where the simulation overwrites the bone's world matrix. See setPhysicsDrivenBones. */
|
|
202
|
+
private physicsDriven;
|
|
203
|
+
/** Bones to recompute after a step, in deform order — null when no rig needs it. */
|
|
204
|
+
private physicsAppendOrder;
|
|
205
|
+
/** Simulated bones something inherits from; their local rotation is recovered. */
|
|
206
|
+
private physicsAppendSources;
|
|
207
|
+
/** Recovered post-step local rotations, kept OUT of localRotations on purpose. */
|
|
208
|
+
private appendRotOverride;
|
|
209
|
+
private appendRotOverrideSet;
|
|
201
210
|
private bindWorldPos;
|
|
202
211
|
private tweenState;
|
|
203
212
|
private tweenTimeMs;
|
|
@@ -511,7 +520,46 @@ export declare class Model {
|
|
|
511
520
|
private solveIKChains;
|
|
512
521
|
private ikComputedSet;
|
|
513
522
|
private computeSingleBoneWorldMatrix;
|
|
514
|
-
|
|
523
|
+
/**
|
|
524
|
+
* Which bones the physics simulation overwrites, and what that costs the
|
|
525
|
+
* append (付与) pass — the 胸 problem.
|
|
526
|
+
*
|
|
527
|
+
* PMX lets a bone inherit a fraction of another bone's rotation (付与親 /
|
|
528
|
+
* append parent). The pipeline computes that inheritance inside
|
|
529
|
+
* computeWorldMatrices, which runs BEFORE physics — and it reads the
|
|
530
|
+
* parent's LOCAL rotation, which physics never writes: the simulation
|
|
531
|
+
* publishes world matrices only. So when a rig hangs a bone off a simulated
|
|
532
|
+
* one, the inheritance saw the animated pose and nothing else, and the
|
|
533
|
+
* dependent bone sat still no matter how much the parent swung. Rigs that
|
|
534
|
+
* drive a chest this way — a simulated bone with the visible bones
|
|
535
|
+
* appending from it — produced no motion at all.
|
|
536
|
+
*
|
|
537
|
+
* The engine calls this once, after building the simulation, and it
|
|
538
|
+
* precomputes the whole answer: WHICH bones need revisiting after a step,
|
|
539
|
+
* in deform order. Everything downstream is a walk over that list.
|
|
540
|
+
*/
|
|
541
|
+
setPhysicsDrivenBones(boneIndices: number[]): void;
|
|
542
|
+
/** The simulated bones that visible bones INHERIT from — the chest rig, in
|
|
543
|
+
* one list. Empty unless setPhysicsDrivenBones found such a relationship. */
|
|
544
|
+
getAppendSourceBones(): number[];
|
|
545
|
+
/**
|
|
546
|
+
* Re-run the append pass against the simulation's result. Call after a step.
|
|
547
|
+
*
|
|
548
|
+
* Two halves. First the simulated bones an append parent list names get their
|
|
549
|
+
* post-step LOCAL rotation recovered — physics published only world matrices,
|
|
550
|
+
* and the append math speaks local. The recovery is the ordinary change of
|
|
551
|
+
* basis: local = parentWorld⁻¹ · world, read back as a quaternion off the
|
|
552
|
+
* relative basis, which is exact for the rigid transforms these are.
|
|
553
|
+
*
|
|
554
|
+
* Then the dependent bones recompute, in deform order, reading that recovered
|
|
555
|
+
* rotation instead of the animated one. The recovered value lives in its OWN
|
|
556
|
+
* array rather than in localRotations, deliberately: localRotations is what
|
|
557
|
+
* next frame's pose blends against and what the simulation reads to build
|
|
558
|
+
* kinematic targets, and writing a simulation result back into it would make
|
|
559
|
+
* the animation chase its own tail.
|
|
560
|
+
*/
|
|
561
|
+
applyPhysicsAppend(): void;
|
|
562
|
+
computeWorldMatrices(subset?: Int32Array): void;
|
|
515
563
|
}
|
|
516
564
|
export {};
|
|
517
565
|
//# sourceMappingURL=model.d.ts.map
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/model.js
CHANGED
|
@@ -13,6 +13,10 @@ const _animSlerp = new Quat(0, 0, 0, 1);
|
|
|
13
13
|
const _animInterpT = new Vec3(0, 0, 0);
|
|
14
14
|
const _convOut = new Vec3(0, 0, 0);
|
|
15
15
|
const _convMat = new Float32Array(16);
|
|
16
|
+
// Scratch for the post-physics append recovery — see applyPhysicsAppend.
|
|
17
|
+
const _appendBasisX = new Vec3(0, 0, 0);
|
|
18
|
+
const _appendBasisY = new Vec3(0, 0, 0);
|
|
19
|
+
const _appendBasisZ = new Vec3(0, 0, 0);
|
|
16
20
|
// Blend-path scratch: per-entry sample target and the crossfade's two fixed entries.
|
|
17
21
|
const _blendQ = new Quat(0, 0, 0, 1);
|
|
18
22
|
const _blendT = new Vec3(0, 0, 0);
|
|
@@ -118,6 +122,15 @@ export class Model {
|
|
|
118
122
|
this.rootMatrixValues = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
119
123
|
this.rootMatrixDirty = false;
|
|
120
124
|
this.rootIsIdentity = true;
|
|
125
|
+
/** 1 where the simulation overwrites the bone's world matrix. See setPhysicsDrivenBones. */
|
|
126
|
+
this.physicsDriven = null;
|
|
127
|
+
/** Bones to recompute after a step, in deform order — null when no rig needs it. */
|
|
128
|
+
this.physicsAppendOrder = null;
|
|
129
|
+
/** Simulated bones something inherits from; their local rotation is recovered. */
|
|
130
|
+
this.physicsAppendSources = null;
|
|
131
|
+
/** Recovered post-step local rotations, kept OUT of localRotations on purpose. */
|
|
132
|
+
this.appendRotOverride = null;
|
|
133
|
+
this.appendRotOverrideSet = null;
|
|
121
134
|
this.tweenTimeMs = 0; // Time tracking for tweens (milliseconds)
|
|
122
135
|
// Animation: state and multiple slots (idle, walk, attack, etc.); commit/rollback for action-game style
|
|
123
136
|
this.animationState = new AnimationState();
|
|
@@ -2175,7 +2188,139 @@ export class Model {
|
|
|
2175
2188
|
worldMat.values.set(localMVals);
|
|
2176
2189
|
}
|
|
2177
2190
|
}
|
|
2178
|
-
|
|
2191
|
+
/**
|
|
2192
|
+
* Which bones the physics simulation overwrites, and what that costs the
|
|
2193
|
+
* append (付与) pass — the 胸 problem.
|
|
2194
|
+
*
|
|
2195
|
+
* PMX lets a bone inherit a fraction of another bone's rotation (付与親 /
|
|
2196
|
+
* append parent). The pipeline computes that inheritance inside
|
|
2197
|
+
* computeWorldMatrices, which runs BEFORE physics — and it reads the
|
|
2198
|
+
* parent's LOCAL rotation, which physics never writes: the simulation
|
|
2199
|
+
* publishes world matrices only. So when a rig hangs a bone off a simulated
|
|
2200
|
+
* one, the inheritance saw the animated pose and nothing else, and the
|
|
2201
|
+
* dependent bone sat still no matter how much the parent swung. Rigs that
|
|
2202
|
+
* drive a chest this way — a simulated bone with the visible bones
|
|
2203
|
+
* appending from it — produced no motion at all.
|
|
2204
|
+
*
|
|
2205
|
+
* The engine calls this once, after building the simulation, and it
|
|
2206
|
+
* precomputes the whole answer: WHICH bones need revisiting after a step,
|
|
2207
|
+
* in deform order. Everything downstream is a walk over that list.
|
|
2208
|
+
*/
|
|
2209
|
+
setPhysicsDrivenBones(boneIndices) {
|
|
2210
|
+
const bones = this.skeleton.bones;
|
|
2211
|
+
const n = bones.length;
|
|
2212
|
+
this.physicsDriven = new Uint8Array(n);
|
|
2213
|
+
for (const b of boneIndices)
|
|
2214
|
+
if (b >= 0 && b < n)
|
|
2215
|
+
this.physicsDriven[b] = 1;
|
|
2216
|
+
// Bones to recompute after a step: anything that INHERITS from a simulated
|
|
2217
|
+
// bone, everything under it, and anything inheriting from those in turn.
|
|
2218
|
+
// Simulated bones themselves are deliberately excluded — their world matrix
|
|
2219
|
+
// IS the simulation's output, and recomputing it from a local pose the
|
|
2220
|
+
// simulation never wrote would throw the step away.
|
|
2221
|
+
const affected = new Uint8Array(n);
|
|
2222
|
+
let changed = true;
|
|
2223
|
+
while (changed) {
|
|
2224
|
+
changed = false;
|
|
2225
|
+
for (let k = 0; k < n; k++) {
|
|
2226
|
+
const i = this.deformOrder[k];
|
|
2227
|
+
if (affected[i] || this.physicsDriven[i])
|
|
2228
|
+
continue;
|
|
2229
|
+
const b = bones[i];
|
|
2230
|
+
const ap = b.appendParentIndex;
|
|
2231
|
+
const inheritsAffected = (b.appendRotate || b.appendMove) && ap !== undefined && ap >= 0 && ap < n && (this.physicsDriven[ap] || affected[ap]);
|
|
2232
|
+
const parentAffected = b.parentIndex >= 0 && affected[b.parentIndex];
|
|
2233
|
+
if (inheritsAffected || parentAffected) {
|
|
2234
|
+
affected[i] = 1;
|
|
2235
|
+
changed = true;
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2239
|
+
const order = [];
|
|
2240
|
+
for (let k = 0; k < n; k++) {
|
|
2241
|
+
const i = this.deformOrder[k];
|
|
2242
|
+
if (affected[i])
|
|
2243
|
+
order.push(i);
|
|
2244
|
+
}
|
|
2245
|
+
this.physicsAppendOrder = order.length > 0 ? Int32Array.from(order) : null;
|
|
2246
|
+
// The simulated bones something actually inherits from — the only ones
|
|
2247
|
+
// whose post-step local rotation has to be recovered below.
|
|
2248
|
+
const sources = new Set();
|
|
2249
|
+
for (const i of order) {
|
|
2250
|
+
const ap = bones[i].appendParentIndex;
|
|
2251
|
+
if (ap !== undefined && ap >= 0 && ap < n && this.physicsDriven[ap])
|
|
2252
|
+
sources.add(ap);
|
|
2253
|
+
}
|
|
2254
|
+
this.physicsAppendSources = sources.size > 0 ? Int32Array.from(sources) : null;
|
|
2255
|
+
if (this.appendRotOverride === null && this.physicsAppendOrder) {
|
|
2256
|
+
this.appendRotOverride = Array.from({ length: n }, () => Quat.identity());
|
|
2257
|
+
this.appendRotOverrideSet = new Uint8Array(n);
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
/** The simulated bones that visible bones INHERIT from — the chest rig, in
|
|
2261
|
+
* one list. Empty unless setPhysicsDrivenBones found such a relationship. */
|
|
2262
|
+
getAppendSourceBones() {
|
|
2263
|
+
return this.physicsAppendSources ? Array.from(this.physicsAppendSources) : [];
|
|
2264
|
+
}
|
|
2265
|
+
/**
|
|
2266
|
+
* Re-run the append pass against the simulation's result. Call after a step.
|
|
2267
|
+
*
|
|
2268
|
+
* Two halves. First the simulated bones an append parent list names get their
|
|
2269
|
+
* post-step LOCAL rotation recovered — physics published only world matrices,
|
|
2270
|
+
* and the append math speaks local. The recovery is the ordinary change of
|
|
2271
|
+
* basis: local = parentWorld⁻¹ · world, read back as a quaternion off the
|
|
2272
|
+
* relative basis, which is exact for the rigid transforms these are.
|
|
2273
|
+
*
|
|
2274
|
+
* Then the dependent bones recompute, in deform order, reading that recovered
|
|
2275
|
+
* rotation instead of the animated one. The recovered value lives in its OWN
|
|
2276
|
+
* array rather than in localRotations, deliberately: localRotations is what
|
|
2277
|
+
* next frame's pose blends against and what the simulation reads to build
|
|
2278
|
+
* kinematic targets, and writing a simulation result back into it would make
|
|
2279
|
+
* the animation chase its own tail.
|
|
2280
|
+
*/
|
|
2281
|
+
applyPhysicsAppend() {
|
|
2282
|
+
const order = this.physicsAppendOrder;
|
|
2283
|
+
const sources = this.physicsAppendSources;
|
|
2284
|
+
if (!order || !sources || !this.appendRotOverride || !this.appendRotOverrideSet)
|
|
2285
|
+
return;
|
|
2286
|
+
const bones = this.skeleton.bones;
|
|
2287
|
+
const worldMats = this.runtimeSkeleton.worldMatrices;
|
|
2288
|
+
this.appendRotOverrideSet.fill(0);
|
|
2289
|
+
for (let s = 0; s < sources.length; s++) {
|
|
2290
|
+
const i = sources[s];
|
|
2291
|
+
const w = worldMats[i].values;
|
|
2292
|
+
const p = bones[i].parentIndex;
|
|
2293
|
+
// Columns of the bone's own basis, expressed in its parent's frame. With
|
|
2294
|
+
// no parent the world basis already IS the local one.
|
|
2295
|
+
let bx0 = w[0], bx1 = w[1], bx2 = w[2];
|
|
2296
|
+
let by0 = w[4], by1 = w[5], by2 = w[6];
|
|
2297
|
+
let bz0 = w[8], bz1 = w[9], bz2 = w[10];
|
|
2298
|
+
if (p >= 0) {
|
|
2299
|
+
const pm = worldMats[p].values;
|
|
2300
|
+
// parentᵀ · child, the rotation half of parentWorld⁻¹ · world: the
|
|
2301
|
+
// parent basis is orthonormal, so its inverse is its transpose.
|
|
2302
|
+
const r0 = bx0, r1 = bx1, r2 = bx2;
|
|
2303
|
+
bx0 = pm[0] * r0 + pm[1] * r1 + pm[2] * r2;
|
|
2304
|
+
bx1 = pm[4] * r0 + pm[5] * r1 + pm[6] * r2;
|
|
2305
|
+
bx2 = pm[8] * r0 + pm[9] * r1 + pm[10] * r2;
|
|
2306
|
+
const g0 = by0, g1 = by1, g2 = by2;
|
|
2307
|
+
by0 = pm[0] * g0 + pm[1] * g1 + pm[2] * g2;
|
|
2308
|
+
by1 = pm[4] * g0 + pm[5] * g1 + pm[6] * g2;
|
|
2309
|
+
by2 = pm[8] * g0 + pm[9] * g1 + pm[10] * g2;
|
|
2310
|
+
const b0 = bz0, b1 = bz1, b2 = bz2;
|
|
2311
|
+
bz0 = pm[0] * b0 + pm[1] * b1 + pm[2] * b2;
|
|
2312
|
+
bz1 = pm[4] * b0 + pm[5] * b1 + pm[6] * b2;
|
|
2313
|
+
bz2 = pm[8] * b0 + pm[9] * b1 + pm[10] * b2;
|
|
2314
|
+
}
|
|
2315
|
+
_appendBasisX.setXYZ(bx0, bx1, bx2);
|
|
2316
|
+
_appendBasisY.setXYZ(by0, by1, by2);
|
|
2317
|
+
_appendBasisZ.setXYZ(bz0, bz1, bz2);
|
|
2318
|
+
Quat.fromBasisInto(_appendBasisX, _appendBasisY, _appendBasisZ, this.appendRotOverride[i]);
|
|
2319
|
+
this.appendRotOverrideSet[i] = 1;
|
|
2320
|
+
}
|
|
2321
|
+
this.computeWorldMatrices(order);
|
|
2322
|
+
}
|
|
2323
|
+
computeWorldMatrices(subset) {
|
|
2179
2324
|
const bones = this.skeleton.bones;
|
|
2180
2325
|
const localRot = this.runtimeSkeleton.localRotations;
|
|
2181
2326
|
const localTrans = this.runtimeSkeleton.localTranslations;
|
|
@@ -2186,8 +2331,15 @@ export class Model {
|
|
|
2186
2331
|
// Flat traversal in precomputed order: every bone's parent is already done, so no
|
|
2187
2332
|
// per-bone visited check, no recursion, and no per-call allocation. Same per-bone
|
|
2188
2333
|
// math as before. Scratch slots are safe to reuse since there's no reentrancy now.
|
|
2189
|
-
|
|
2190
|
-
|
|
2334
|
+
//
|
|
2335
|
+
// A SUBSET is the post-physics pass (applyPhysicsAppend): the same walk over
|
|
2336
|
+
// the bones that inherit from a simulated one, in the same relative order,
|
|
2337
|
+
// leaving every other bone — the simulated ones above all — untouched.
|
|
2338
|
+
const order = subset ?? this.deformOrder;
|
|
2339
|
+
const count = subset ? subset.length : boneCount;
|
|
2340
|
+
const override = this.appendRotOverride;
|
|
2341
|
+
const overrideSet = this.appendRotOverrideSet;
|
|
2342
|
+
for (let k = 0; k < count; k++) {
|
|
2191
2343
|
const i = order[k];
|
|
2192
2344
|
const b = bones[i];
|
|
2193
2345
|
const boneRot = localRot[i];
|
|
@@ -2200,7 +2352,11 @@ export class Model {
|
|
|
2200
2352
|
const hasRatio = Math.abs(ratio) > 1e-6;
|
|
2201
2353
|
if (hasRatio) {
|
|
2202
2354
|
if (b.appendRotate) {
|
|
2203
|
-
|
|
2355
|
+
// The simulated parent's RECOVERED rotation when there is one — the
|
|
2356
|
+
// whole point of the post-physics pass. localRotations still holds
|
|
2357
|
+
// the animated pose for that bone, which is exactly what must not
|
|
2358
|
+
// be inherited here.
|
|
2359
|
+
const appendRot = override && overrideSet && overrideSet[appendParentIdx] ? override[appendParentIdx] : localRot[appendParentIdx];
|
|
2204
2360
|
let ax = appendRot.x, ay = appendRot.y, az = appendRot.z;
|
|
2205
2361
|
const aw = appendRot.w;
|
|
2206
2362
|
const absRatio = ratio < 0 ? -ratio : ratio;
|
|
@@ -92,6 +92,41 @@ export declare class RezePhysics {
|
|
|
92
92
|
private carryDynamicThroughTeleport;
|
|
93
93
|
private alignPinnedBodiesToBones;
|
|
94
94
|
private restoreNonFiniteBodies;
|
|
95
|
+
/**
|
|
96
|
+
* Let the bodies carrying these bones swing longer, by damping them less.
|
|
97
|
+
*
|
|
98
|
+
* DAMPING, and not solver iterations, and the difference is the whole point.
|
|
99
|
+
* Under-converging a joint does make it swing further — it also stops it ever
|
|
100
|
+
* reaching equilibrium, so the body hangs visibly low at rest. Sag and swing
|
|
101
|
+
* come as a pair there and no amount of tuning separates them. Damping does
|
|
102
|
+
* separate them: for m·x″ + c·x′ + k·x = mg the rest position is mg/k, which
|
|
103
|
+
* c does not appear in. Less damping is a longer, larger oscillation about
|
|
104
|
+
* exactly the same resting height.
|
|
105
|
+
*
|
|
106
|
+
* Scoped to the bones asked for, because it is a look and not a correction —
|
|
107
|
+
* rigs whose visible bones inherit from a simulated one (付与親) are authored
|
|
108
|
+
* against an MMD that lets them move more than a faithfully damped
|
|
109
|
+
* simulation does. Hair and skirt keep their authored damping.
|
|
110
|
+
*
|
|
111
|
+
* `scale` multiplies the AUTHORED damping: 1 restores it, 0.5 halves it,
|
|
112
|
+
* 0 leaves the body undamped and ringing. Idempotent — the authored values
|
|
113
|
+
* are snapshotted on first use, so repeated calls set rather than compound.
|
|
114
|
+
*/
|
|
115
|
+
setJiggleDamping(boneIndices: number[], scale: number): void;
|
|
116
|
+
/** Authored damping, kept so setJiggleDamping sets rather than compounds. */
|
|
117
|
+
private authoredLinDamp;
|
|
118
|
+
private authoredAngDamp;
|
|
119
|
+
/**
|
|
120
|
+
* Bones whose world matrix this simulation OVERWRITES each step.
|
|
121
|
+
*
|
|
122
|
+
* The same test applyDynamicsToBones runs — a Dynamic body bound to a real
|
|
123
|
+
* bone — exposed because the pose pipeline has to know. PMX lets a bone
|
|
124
|
+
* inherit rotation from an 付与親 (append parent), and when that parent is
|
|
125
|
+
* simulated the inheritance has to consume the SIMULATED result, not the
|
|
126
|
+
* animated pose the frame started with. Nothing else can answer which bones
|
|
127
|
+
* those are: the mapping lives in this store.
|
|
128
|
+
*/
|
|
129
|
+
getPhysicsDrivenBones(): number[];
|
|
95
130
|
private applyDynamicsToBones;
|
|
96
131
|
}
|
|
97
132
|
//# sourceMappingURL=physics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../../src/physics/physics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAYjD,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAI;IAChC,uEAAuE;IACvE,OAAO,CAAC,aAAa,CAAM;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IACzC;gFAC4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAI;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;IAMrC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,gBAAgB,CAAc;IAQtC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,eAAe,CAAc;IAMrC,OAAO,CAAC,OAAO,CAAY;IAE3B,OAAO,CAAC,aAAa,CAAY;IAMjC,OAAO,CAAC,WAAW,CAAY;IAG/B,aAAa,SAAI;gBAEL,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,GAAE,KAAK,EAAO;IA6D1D,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,aAAa;IAKrB,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAG/B,UAAU,IAAI,IAAI;IAGlB,2EAA2E;IAC3E,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAGvC,OAAO,IAAI,WAAW,GAAG,IAAI;IAG7B,cAAc,IAAI,SAAS,EAAE;IAG7B,SAAS,IAAI,KAAK,EAAE;IAGpB,QAAQ,IAAI,cAAc;IAI1B,sBAAsB,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IAiBnE,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI;IActC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,uBAAuB,EAAE,YAAY,GAAG,IAAI;IAiFxF,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,uBAAuB;IAqF/B,OAAO,CAAC,yBAAyB;IAgEjC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,2BAA2B;IA6EnC,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,oBAAoB;CA6D7B"}
|
|
1
|
+
{"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../../src/physics/physics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAYjD,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAI;IAChC,uEAAuE;IACvE,OAAO,CAAC,aAAa,CAAM;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IACzC;gFAC4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAI;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;IAMrC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,gBAAgB,CAAc;IAQtC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,eAAe,CAAc;IAMrC,OAAO,CAAC,OAAO,CAAY;IAE3B,OAAO,CAAC,aAAa,CAAY;IAMjC,OAAO,CAAC,WAAW,CAAY;IAG/B,aAAa,SAAI;gBAEL,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,GAAE,KAAK,EAAO;IA6D1D,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,aAAa;IAKrB,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAG/B,UAAU,IAAI,IAAI;IAGlB,2EAA2E;IAC3E,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAGvC,OAAO,IAAI,WAAW,GAAG,IAAI;IAG7B,cAAc,IAAI,SAAS,EAAE;IAG7B,SAAS,IAAI,KAAK,EAAE;IAGpB,QAAQ,IAAI,cAAc;IAI1B,sBAAsB,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IAiBnE,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAAI;IActC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,uBAAuB,EAAE,YAAY,GAAG,IAAI;IAiFxF,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,uBAAuB;IAqF/B,OAAO,CAAC,yBAAyB;IAgEjC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,2BAA2B;IA6EnC,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,sBAAsB;IAqC9B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmB5D,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,eAAe,CAA4B;IAEnD;;;;;;;;;OASG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAUjC,OAAO,CAAC,oBAAoB;CA6D7B"}
|
package/dist/physics/physics.js
CHANGED
|
@@ -44,6 +44,9 @@ export class RezePhysics {
|
|
|
44
44
|
// Debug counter: frames on which a teleport (scrub/jump discontinuity)
|
|
45
45
|
// was detected and settled.
|
|
46
46
|
this.teleportCount = 0;
|
|
47
|
+
/** Authored damping, kept so setJiggleDamping sets rather than compounds. */
|
|
48
|
+
this.authoredLinDamp = null;
|
|
49
|
+
this.authoredAngDamp = null;
|
|
47
50
|
this.rigidbodies = rigidbodies;
|
|
48
51
|
this.joints = joints;
|
|
49
52
|
// The floor is part of every world: a huge static box whose top face is
|
|
@@ -657,6 +660,67 @@ export class RezePhysics {
|
|
|
657
660
|
// boneWorld = bodyWorld × bodyOffsetInverse.
|
|
658
661
|
// The body pose is the render-interpolated pose between the previous and current
|
|
659
662
|
// substep states (alpha = fraction into the next step), which removes fixed-step judder.
|
|
663
|
+
/**
|
|
664
|
+
* Let the bodies carrying these bones swing longer, by damping them less.
|
|
665
|
+
*
|
|
666
|
+
* DAMPING, and not solver iterations, and the difference is the whole point.
|
|
667
|
+
* Under-converging a joint does make it swing further — it also stops it ever
|
|
668
|
+
* reaching equilibrium, so the body hangs visibly low at rest. Sag and swing
|
|
669
|
+
* come as a pair there and no amount of tuning separates them. Damping does
|
|
670
|
+
* separate them: for m·x″ + c·x′ + k·x = mg the rest position is mg/k, which
|
|
671
|
+
* c does not appear in. Less damping is a longer, larger oscillation about
|
|
672
|
+
* exactly the same resting height.
|
|
673
|
+
*
|
|
674
|
+
* Scoped to the bones asked for, because it is a look and not a correction —
|
|
675
|
+
* rigs whose visible bones inherit from a simulated one (付与親) are authored
|
|
676
|
+
* against an MMD that lets them move more than a faithfully damped
|
|
677
|
+
* simulation does. Hair and skirt keep their authored damping.
|
|
678
|
+
*
|
|
679
|
+
* `scale` multiplies the AUTHORED damping: 1 restores it, 0.5 halves it,
|
|
680
|
+
* 0 leaves the body undamped and ringing. Idempotent — the authored values
|
|
681
|
+
* are snapshotted on first use, so repeated calls set rather than compound.
|
|
682
|
+
*/
|
|
683
|
+
setJiggleDamping(boneIndices, scale) {
|
|
684
|
+
const wanted = new Set(boneIndices.filter((b) => b >= 0));
|
|
685
|
+
if (wanted.size === 0)
|
|
686
|
+
return;
|
|
687
|
+
if (!this.authoredLinDamp || !this.authoredAngDamp) {
|
|
688
|
+
this.authoredLinDamp = Float32Array.from(this.store.linearDamping);
|
|
689
|
+
this.authoredAngDamp = Float32Array.from(this.store.angularDamping);
|
|
690
|
+
}
|
|
691
|
+
const s = Math.max(0, Math.min(1, scale));
|
|
692
|
+
const boneOf = this.store.boneIndex;
|
|
693
|
+
for (let i = 0; i < this.store.count; i++) {
|
|
694
|
+
const b = boneOf[i];
|
|
695
|
+
if (b < 0 || !wanted.has(b))
|
|
696
|
+
continue;
|
|
697
|
+
this.store.linearDamping[i] = this.authoredLinDamp[i] * s;
|
|
698
|
+
this.store.angularDamping[i] = this.authoredAngDamp[i] * s;
|
|
699
|
+
}
|
|
700
|
+
// The factors are cached against dt, which has not changed.
|
|
701
|
+
this.world.invalidateDampingCache();
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* Bones whose world matrix this simulation OVERWRITES each step.
|
|
705
|
+
*
|
|
706
|
+
* The same test applyDynamicsToBones runs — a Dynamic body bound to a real
|
|
707
|
+
* bone — exposed because the pose pipeline has to know. PMX lets a bone
|
|
708
|
+
* inherit rotation from an 付与親 (append parent), and when that parent is
|
|
709
|
+
* simulated the inheritance has to consume the SIMULATED result, not the
|
|
710
|
+
* animated pose the frame started with. Nothing else can answer which bones
|
|
711
|
+
* those are: the mapping lives in this store.
|
|
712
|
+
*/
|
|
713
|
+
getPhysicsDrivenBones() {
|
|
714
|
+
const out = [];
|
|
715
|
+
for (let i = 0; i < this.store.count; i++) {
|
|
716
|
+
if (this.store.type[i] !== RigidbodyType.Dynamic)
|
|
717
|
+
continue;
|
|
718
|
+
const b = this.store.boneIndex[i];
|
|
719
|
+
if (b >= 0)
|
|
720
|
+
out.push(b);
|
|
721
|
+
}
|
|
722
|
+
return out;
|
|
723
|
+
}
|
|
660
724
|
applyDynamicsToBones(boneWorldMatrices, alpha) {
|
|
661
725
|
const N = this.store.count;
|
|
662
726
|
const inv = this.store.bodyOffsetInverse;
|
package/dist/physics/world.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ export declare class World {
|
|
|
32
32
|
/** Per-pair contact impulse history behind warm starting. */
|
|
33
33
|
private manifolds;
|
|
34
34
|
private dampCacheDt;
|
|
35
|
+
/** Drop the cached damping factors. The cache is keyed on dt alone, because
|
|
36
|
+
* authored damping never changed — until a rig asked for softer jiggle (see
|
|
37
|
+
* RezePhysics.setJiggleDamping), which rewrites the store's values. */
|
|
38
|
+
invalidateDampingCache(): void;
|
|
35
39
|
private linDampFactor;
|
|
36
40
|
private angDampFactor;
|
|
37
41
|
private windX;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/physics/world.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAgE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEzG,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAO1D;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,SAAS,EAAE,IAAI,CAAA;IACf,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAA;IAChB;;;kEAG8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,KAAK;IAChB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,gBAAgB,SAAK;IAErB,6DAA6D;IAC7D,OAAO,CAAC,SAAS,CAAsB;IAIvC,OAAO,CAAC,WAAW,CAAK;
|
|
1
|
+
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/physics/world.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAgE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEzG,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAO1D;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,SAAS,EAAE,IAAI,CAAA;IACf,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAA;IAChB;;;kEAG8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,KAAK;IAChB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,gBAAgB,SAAK;IAErB,6DAA6D;IAC7D,OAAO,CAAC,SAAS,CAAsB;IAIvC,OAAO,CAAC,WAAW,CAAK;IAExB;;4EAEwE;IACxE,sBAAsB,IAAI,IAAI;IAG9B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAA4B;IAIjD,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAO;IAC5B;gDAC4C;IAC5C,OAAO,CAAC,SAAS,CAAI;gBAET,OAAO,EAAE,IAAI;IAIzB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI;IAMzB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAoBvC,OAAO,IAAI,WAAW,GAAG,IAAI;IAW7B,IAAI,CACF,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,sBAAsB,EAAE,EACrC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,WAAW,EACrB,EAAE,EAAE,MAAM,GACT,IAAI;CA4IR"}
|
package/dist/physics/world.js
CHANGED
|
@@ -4,6 +4,12 @@ import { solveConstraints, saveContactImpulses, applySplitImpulsePush } from "./
|
|
|
4
4
|
import { ManifoldCache } from "./manifold";
|
|
5
5
|
import { findContacts } from "./contact";
|
|
6
6
|
export class World {
|
|
7
|
+
/** Drop the cached damping factors. The cache is keyed on dt alone, because
|
|
8
|
+
* authored damping never changed — until a rig asked for softer jiggle (see
|
|
9
|
+
* RezePhysics.setJiggleDamping), which rewrites the store's values. */
|
|
10
|
+
invalidateDampingCache() {
|
|
11
|
+
this.dampCacheDt = -1;
|
|
12
|
+
}
|
|
7
13
|
constructor(gravity) {
|
|
8
14
|
this.solverIterations = 10;
|
|
9
15
|
/** Per-pair contact impulse history behind warm starting. */
|
package/package.json
CHANGED
package/src/engine.ts
CHANGED
|
@@ -1525,6 +1525,16 @@ export class Engine {
|
|
|
1525
1525
|
* this line, and the accessors then answer 0 rather than failing to compile.
|
|
1526
1526
|
*/
|
|
1527
1527
|
private static readonly MRT_IDS = true
|
|
1528
|
+
/**
|
|
1529
|
+
* What fraction of its authored damping a chest rig's body keeps.
|
|
1530
|
+
*
|
|
1531
|
+
* The whole tuning surface for how long those rigs swing: lower rings
|
|
1532
|
+
* longer, 1 restores the authored value exactly. It does NOT change where
|
|
1533
|
+
* they hang at rest — that is the property that made damping the right knob
|
|
1534
|
+
* (see RezePhysics.setJiggleDamping). Judge it against the models that
|
|
1535
|
+
* motivated it; it is a starting point, not a measurement.
|
|
1536
|
+
*/
|
|
1537
|
+
private static readonly JIGGLE_DAMPING_SCALE = 0.5
|
|
1528
1538
|
/** The id attachment. Multisampled with the pass and NEVER resolved: an
|
|
1529
1539
|
* averaged id belongs to nothing, so consumers textureLoad sample 0. */
|
|
1530
1540
|
private idTexture: GPUTexture | null = null
|
|
@@ -7505,6 +7515,10 @@ export class Engine {
|
|
|
7505
7515
|
if (inst.physics && this.physicsEnabled && inst.model.visible) {
|
|
7506
7516
|
const tPhys = performance.now()
|
|
7507
7517
|
inst.physics.step(deltaTime, inst.model.getWorldMatrices(), inst.model.getBoneInverseBindMatrices())
|
|
7518
|
+
// The step published new world matrices for the simulated bones; the
|
|
7519
|
+
// bones that INHERIT from them are still wearing the animated pose.
|
|
7520
|
+
// Returns immediately unless this rig actually has such a bone.
|
|
7521
|
+
inst.model.applyPhysicsAppend()
|
|
7508
7522
|
physicsMs += performance.now() - tPhys
|
|
7509
7523
|
}
|
|
7510
7524
|
if (inst.vertexBufferNeedsUpdate) this.updateVertexBuffer(inst)
|
|
@@ -8522,6 +8536,20 @@ export class Engine {
|
|
|
8522
8536
|
// solver for the heaviest mesh in the scene and dropping it afterwards was
|
|
8523
8537
|
// both wasted work and an invariant maintained in the wrong place.
|
|
8524
8538
|
const physics = !isStage && rbs.length > 0 ? new RezePhysics(rbs, model.getJoints()) : null
|
|
8539
|
+
// Which bones the simulation will overwrite, handed to the pose pipeline so
|
|
8540
|
+
// the append (付与) pass can consume the simulated result instead of the
|
|
8541
|
+
// animated one. Precomputed here, once, because the answer is topology —
|
|
8542
|
+
// see Model.setPhysicsDrivenBones for what it costs when a rig needs it and
|
|
8543
|
+
// why it costs nothing when none does.
|
|
8544
|
+
if (physics) {
|
|
8545
|
+
model.setPhysicsDrivenBones(physics.getPhysicsDrivenBones())
|
|
8546
|
+
// The bodies an inherited-from bone rides on are damped less than the
|
|
8547
|
+
// rest, so they swing longer WITHOUT hanging lower — see
|
|
8548
|
+
// RezePhysics.setJiggleDamping for why damping is the separable knob and
|
|
8549
|
+
// solver iterations are not.
|
|
8550
|
+
const appendSources = model.getAppendSourceBones()
|
|
8551
|
+
if (appendSources.length > 0) physics.setJiggleDamping(appendSources, Engine.JIGGLE_DAMPING_SCALE)
|
|
8552
|
+
}
|
|
8525
8553
|
// Adopt the scene's air, or a model added mid-session would fall under
|
|
8526
8554
|
// different gravity from the ones already on stage.
|
|
8527
8555
|
if (physics) {
|
package/src/model.ts
CHANGED
|
@@ -30,6 +30,10 @@ const _animSlerp = new Quat(0, 0, 0, 1)
|
|
|
30
30
|
const _animInterpT = new Vec3(0, 0, 0)
|
|
31
31
|
const _convOut = new Vec3(0, 0, 0)
|
|
32
32
|
const _convMat = new Float32Array(16)
|
|
33
|
+
// Scratch for the post-physics append recovery — see applyPhysicsAppend.
|
|
34
|
+
const _appendBasisX = new Vec3(0, 0, 0)
|
|
35
|
+
const _appendBasisY = new Vec3(0, 0, 0)
|
|
36
|
+
const _appendBasisZ = new Vec3(0, 0, 0)
|
|
33
37
|
// Blend-path scratch: per-entry sample target and the crossfade's two fixed entries.
|
|
34
38
|
const _blendQ = new Quat(0, 0, 0, 1)
|
|
35
39
|
const _blendT = new Vec3(0, 0, 0)
|
|
@@ -388,6 +392,15 @@ export class Model {
|
|
|
388
392
|
// visited-array + closure. Order depends only on parentIndex (static), so this
|
|
389
393
|
// reproduces the old recursion's finishing order exactly. See buildDeformOrder.
|
|
390
394
|
private deformOrder!: Int32Array
|
|
395
|
+
/** 1 where the simulation overwrites the bone's world matrix. See setPhysicsDrivenBones. */
|
|
396
|
+
private physicsDriven: Uint8Array | null = null
|
|
397
|
+
/** Bones to recompute after a step, in deform order — null when no rig needs it. */
|
|
398
|
+
private physicsAppendOrder: Int32Array | null = null
|
|
399
|
+
/** Simulated bones something inherits from; their local rotation is recovered. */
|
|
400
|
+
private physicsAppendSources: Int32Array | null = null
|
|
401
|
+
/** Recovered post-step local rotations, kept OUT of localRotations on purpose. */
|
|
402
|
+
private appendRotOverride: Quat[] | null = null
|
|
403
|
+
private appendRotOverrideSet: Uint8Array | null = null
|
|
391
404
|
|
|
392
405
|
// Bind-pose absolute (world) position per bone, xyz packed. Static (bindTranslation
|
|
393
406
|
// accumulated down the hierarchy). Precomputed once so convertVMDTranslationToLocal
|
|
@@ -2612,7 +2625,141 @@ export class Model {
|
|
|
2612
2625
|
}
|
|
2613
2626
|
}
|
|
2614
2627
|
|
|
2615
|
-
|
|
2628
|
+
/**
|
|
2629
|
+
* Which bones the physics simulation overwrites, and what that costs the
|
|
2630
|
+
* append (付与) pass — the 胸 problem.
|
|
2631
|
+
*
|
|
2632
|
+
* PMX lets a bone inherit a fraction of another bone's rotation (付与親 /
|
|
2633
|
+
* append parent). The pipeline computes that inheritance inside
|
|
2634
|
+
* computeWorldMatrices, which runs BEFORE physics — and it reads the
|
|
2635
|
+
* parent's LOCAL rotation, which physics never writes: the simulation
|
|
2636
|
+
* publishes world matrices only. So when a rig hangs a bone off a simulated
|
|
2637
|
+
* one, the inheritance saw the animated pose and nothing else, and the
|
|
2638
|
+
* dependent bone sat still no matter how much the parent swung. Rigs that
|
|
2639
|
+
* drive a chest this way — a simulated bone with the visible bones
|
|
2640
|
+
* appending from it — produced no motion at all.
|
|
2641
|
+
*
|
|
2642
|
+
* The engine calls this once, after building the simulation, and it
|
|
2643
|
+
* precomputes the whole answer: WHICH bones need revisiting after a step,
|
|
2644
|
+
* in deform order. Everything downstream is a walk over that list.
|
|
2645
|
+
*/
|
|
2646
|
+
setPhysicsDrivenBones(boneIndices: number[]): void {
|
|
2647
|
+
const bones = this.skeleton.bones
|
|
2648
|
+
const n = bones.length
|
|
2649
|
+
this.physicsDriven = new Uint8Array(n)
|
|
2650
|
+
for (const b of boneIndices) if (b >= 0 && b < n) this.physicsDriven[b] = 1
|
|
2651
|
+
|
|
2652
|
+
// Bones to recompute after a step: anything that INHERITS from a simulated
|
|
2653
|
+
// bone, everything under it, and anything inheriting from those in turn.
|
|
2654
|
+
// Simulated bones themselves are deliberately excluded — their world matrix
|
|
2655
|
+
// IS the simulation's output, and recomputing it from a local pose the
|
|
2656
|
+
// simulation never wrote would throw the step away.
|
|
2657
|
+
const affected = new Uint8Array(n)
|
|
2658
|
+
let changed = true
|
|
2659
|
+
while (changed) {
|
|
2660
|
+
changed = false
|
|
2661
|
+
for (let k = 0; k < n; k++) {
|
|
2662
|
+
const i = this.deformOrder[k]
|
|
2663
|
+
if (affected[i] || this.physicsDriven[i]) continue
|
|
2664
|
+
const b = bones[i]
|
|
2665
|
+
const ap = b.appendParentIndex
|
|
2666
|
+
const inheritsAffected =
|
|
2667
|
+
(b.appendRotate || b.appendMove) && ap !== undefined && ap >= 0 && ap < n && (this.physicsDriven[ap] || affected[ap])
|
|
2668
|
+
const parentAffected = b.parentIndex >= 0 && affected[b.parentIndex]
|
|
2669
|
+
if (inheritsAffected || parentAffected) {
|
|
2670
|
+
affected[i] = 1
|
|
2671
|
+
changed = true
|
|
2672
|
+
}
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
|
|
2676
|
+
const order: number[] = []
|
|
2677
|
+
for (let k = 0; k < n; k++) {
|
|
2678
|
+
const i = this.deformOrder[k]
|
|
2679
|
+
if (affected[i]) order.push(i)
|
|
2680
|
+
}
|
|
2681
|
+
this.physicsAppendOrder = order.length > 0 ? Int32Array.from(order) : null
|
|
2682
|
+
// The simulated bones something actually inherits from — the only ones
|
|
2683
|
+
// whose post-step local rotation has to be recovered below.
|
|
2684
|
+
const sources = new Set<number>()
|
|
2685
|
+
for (const i of order) {
|
|
2686
|
+
const ap = bones[i].appendParentIndex
|
|
2687
|
+
if (ap !== undefined && ap >= 0 && ap < n && this.physicsDriven[ap]) sources.add(ap)
|
|
2688
|
+
}
|
|
2689
|
+
this.physicsAppendSources = sources.size > 0 ? Int32Array.from(sources) : null
|
|
2690
|
+
if (this.appendRotOverride === null && this.physicsAppendOrder) {
|
|
2691
|
+
this.appendRotOverride = Array.from({ length: n }, () => Quat.identity())
|
|
2692
|
+
this.appendRotOverrideSet = new Uint8Array(n)
|
|
2693
|
+
}
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2696
|
+
/** The simulated bones that visible bones INHERIT from — the chest rig, in
|
|
2697
|
+
* one list. Empty unless setPhysicsDrivenBones found such a relationship. */
|
|
2698
|
+
getAppendSourceBones(): number[] {
|
|
2699
|
+
return this.physicsAppendSources ? Array.from(this.physicsAppendSources) : []
|
|
2700
|
+
}
|
|
2701
|
+
|
|
2702
|
+
/**
|
|
2703
|
+
* Re-run the append pass against the simulation's result. Call after a step.
|
|
2704
|
+
*
|
|
2705
|
+
* Two halves. First the simulated bones an append parent list names get their
|
|
2706
|
+
* post-step LOCAL rotation recovered — physics published only world matrices,
|
|
2707
|
+
* and the append math speaks local. The recovery is the ordinary change of
|
|
2708
|
+
* basis: local = parentWorld⁻¹ · world, read back as a quaternion off the
|
|
2709
|
+
* relative basis, which is exact for the rigid transforms these are.
|
|
2710
|
+
*
|
|
2711
|
+
* Then the dependent bones recompute, in deform order, reading that recovered
|
|
2712
|
+
* rotation instead of the animated one. The recovered value lives in its OWN
|
|
2713
|
+
* array rather than in localRotations, deliberately: localRotations is what
|
|
2714
|
+
* next frame's pose blends against and what the simulation reads to build
|
|
2715
|
+
* kinematic targets, and writing a simulation result back into it would make
|
|
2716
|
+
* the animation chase its own tail.
|
|
2717
|
+
*/
|
|
2718
|
+
applyPhysicsAppend(): void {
|
|
2719
|
+
const order = this.physicsAppendOrder
|
|
2720
|
+
const sources = this.physicsAppendSources
|
|
2721
|
+
if (!order || !sources || !this.appendRotOverride || !this.appendRotOverrideSet) return
|
|
2722
|
+
const bones = this.skeleton.bones
|
|
2723
|
+
const worldMats = this.runtimeSkeleton.worldMatrices
|
|
2724
|
+
|
|
2725
|
+
this.appendRotOverrideSet.fill(0)
|
|
2726
|
+
for (let s = 0; s < sources.length; s++) {
|
|
2727
|
+
const i = sources[s]
|
|
2728
|
+
const w = worldMats[i].values
|
|
2729
|
+
const p = bones[i].parentIndex
|
|
2730
|
+
// Columns of the bone's own basis, expressed in its parent's frame. With
|
|
2731
|
+
// no parent the world basis already IS the local one.
|
|
2732
|
+
let bx0 = w[0], bx1 = w[1], bx2 = w[2]
|
|
2733
|
+
let by0 = w[4], by1 = w[5], by2 = w[6]
|
|
2734
|
+
let bz0 = w[8], bz1 = w[9], bz2 = w[10]
|
|
2735
|
+
if (p >= 0) {
|
|
2736
|
+
const pm = worldMats[p].values
|
|
2737
|
+
// parentᵀ · child, the rotation half of parentWorld⁻¹ · world: the
|
|
2738
|
+
// parent basis is orthonormal, so its inverse is its transpose.
|
|
2739
|
+
const r0 = bx0, r1 = bx1, r2 = bx2
|
|
2740
|
+
bx0 = pm[0] * r0 + pm[1] * r1 + pm[2] * r2
|
|
2741
|
+
bx1 = pm[4] * r0 + pm[5] * r1 + pm[6] * r2
|
|
2742
|
+
bx2 = pm[8] * r0 + pm[9] * r1 + pm[10] * r2
|
|
2743
|
+
const g0 = by0, g1 = by1, g2 = by2
|
|
2744
|
+
by0 = pm[0] * g0 + pm[1] * g1 + pm[2] * g2
|
|
2745
|
+
by1 = pm[4] * g0 + pm[5] * g1 + pm[6] * g2
|
|
2746
|
+
by2 = pm[8] * g0 + pm[9] * g1 + pm[10] * g2
|
|
2747
|
+
const b0 = bz0, b1 = bz1, b2 = bz2
|
|
2748
|
+
bz0 = pm[0] * b0 + pm[1] * b1 + pm[2] * b2
|
|
2749
|
+
bz1 = pm[4] * b0 + pm[5] * b1 + pm[6] * b2
|
|
2750
|
+
bz2 = pm[8] * b0 + pm[9] * b1 + pm[10] * b2
|
|
2751
|
+
}
|
|
2752
|
+
_appendBasisX.setXYZ(bx0, bx1, bx2)
|
|
2753
|
+
_appendBasisY.setXYZ(by0, by1, by2)
|
|
2754
|
+
_appendBasisZ.setXYZ(bz0, bz1, bz2)
|
|
2755
|
+
Quat.fromBasisInto(_appendBasisX, _appendBasisY, _appendBasisZ, this.appendRotOverride[i])
|
|
2756
|
+
this.appendRotOverrideSet[i] = 1
|
|
2757
|
+
}
|
|
2758
|
+
|
|
2759
|
+
this.computeWorldMatrices(order)
|
|
2760
|
+
}
|
|
2761
|
+
|
|
2762
|
+
computeWorldMatrices(subset?: Int32Array): void {
|
|
2616
2763
|
const bones = this.skeleton.bones
|
|
2617
2764
|
const localRot = this.runtimeSkeleton.localRotations
|
|
2618
2765
|
const localTrans = this.runtimeSkeleton.localTranslations
|
|
@@ -2624,8 +2771,15 @@ export class Model {
|
|
|
2624
2771
|
// Flat traversal in precomputed order: every bone's parent is already done, so no
|
|
2625
2772
|
// per-bone visited check, no recursion, and no per-call allocation. Same per-bone
|
|
2626
2773
|
// math as before. Scratch slots are safe to reuse since there's no reentrancy now.
|
|
2627
|
-
|
|
2628
|
-
|
|
2774
|
+
//
|
|
2775
|
+
// A SUBSET is the post-physics pass (applyPhysicsAppend): the same walk over
|
|
2776
|
+
// the bones that inherit from a simulated one, in the same relative order,
|
|
2777
|
+
// leaving every other bone — the simulated ones above all — untouched.
|
|
2778
|
+
const order = subset ?? this.deformOrder
|
|
2779
|
+
const count = subset ? subset.length : boneCount
|
|
2780
|
+
const override = this.appendRotOverride
|
|
2781
|
+
const overrideSet = this.appendRotOverrideSet
|
|
2782
|
+
for (let k = 0; k < count; k++) {
|
|
2629
2783
|
const i = order[k]
|
|
2630
2784
|
const b = bones[i]
|
|
2631
2785
|
|
|
@@ -2643,7 +2797,12 @@ export class Model {
|
|
|
2643
2797
|
|
|
2644
2798
|
if (hasRatio) {
|
|
2645
2799
|
if (b.appendRotate) {
|
|
2646
|
-
|
|
2800
|
+
// The simulated parent's RECOVERED rotation when there is one — the
|
|
2801
|
+
// whole point of the post-physics pass. localRotations still holds
|
|
2802
|
+
// the animated pose for that bone, which is exactly what must not
|
|
2803
|
+
// be inherited here.
|
|
2804
|
+
const appendRot =
|
|
2805
|
+
override && overrideSet && overrideSet[appendParentIdx] ? override[appendParentIdx] : localRot[appendParentIdx]
|
|
2647
2806
|
let ax = appendRot.x, ay = appendRot.y, az = appendRot.z
|
|
2648
2807
|
const aw = appendRot.w
|
|
2649
2808
|
const absRatio = ratio < 0 ? -ratio : ratio
|
package/src/physics/physics.ts
CHANGED
|
@@ -706,6 +706,69 @@ export class RezePhysics {
|
|
|
706
706
|
// boneWorld = bodyWorld × bodyOffsetInverse.
|
|
707
707
|
// The body pose is the render-interpolated pose between the previous and current
|
|
708
708
|
// substep states (alpha = fraction into the next step), which removes fixed-step judder.
|
|
709
|
+
/**
|
|
710
|
+
* Let the bodies carrying these bones swing longer, by damping them less.
|
|
711
|
+
*
|
|
712
|
+
* DAMPING, and not solver iterations, and the difference is the whole point.
|
|
713
|
+
* Under-converging a joint does make it swing further — it also stops it ever
|
|
714
|
+
* reaching equilibrium, so the body hangs visibly low at rest. Sag and swing
|
|
715
|
+
* come as a pair there and no amount of tuning separates them. Damping does
|
|
716
|
+
* separate them: for m·x″ + c·x′ + k·x = mg the rest position is mg/k, which
|
|
717
|
+
* c does not appear in. Less damping is a longer, larger oscillation about
|
|
718
|
+
* exactly the same resting height.
|
|
719
|
+
*
|
|
720
|
+
* Scoped to the bones asked for, because it is a look and not a correction —
|
|
721
|
+
* rigs whose visible bones inherit from a simulated one (付与親) are authored
|
|
722
|
+
* against an MMD that lets them move more than a faithfully damped
|
|
723
|
+
* simulation does. Hair and skirt keep their authored damping.
|
|
724
|
+
*
|
|
725
|
+
* `scale` multiplies the AUTHORED damping: 1 restores it, 0.5 halves it,
|
|
726
|
+
* 0 leaves the body undamped and ringing. Idempotent — the authored values
|
|
727
|
+
* are snapshotted on first use, so repeated calls set rather than compound.
|
|
728
|
+
*/
|
|
729
|
+
setJiggleDamping(boneIndices: number[], scale: number): void {
|
|
730
|
+
const wanted = new Set(boneIndices.filter((b) => b >= 0))
|
|
731
|
+
if (wanted.size === 0) return
|
|
732
|
+
if (!this.authoredLinDamp || !this.authoredAngDamp) {
|
|
733
|
+
this.authoredLinDamp = Float32Array.from(this.store.linearDamping)
|
|
734
|
+
this.authoredAngDamp = Float32Array.from(this.store.angularDamping)
|
|
735
|
+
}
|
|
736
|
+
const s = Math.max(0, Math.min(1, scale))
|
|
737
|
+
const boneOf = this.store.boneIndex
|
|
738
|
+
for (let i = 0; i < this.store.count; i++) {
|
|
739
|
+
const b = boneOf[i]
|
|
740
|
+
if (b < 0 || !wanted.has(b)) continue
|
|
741
|
+
this.store.linearDamping[i] = this.authoredLinDamp[i] * s
|
|
742
|
+
this.store.angularDamping[i] = this.authoredAngDamp[i] * s
|
|
743
|
+
}
|
|
744
|
+
// The factors are cached against dt, which has not changed.
|
|
745
|
+
this.world.invalidateDampingCache()
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
/** Authored damping, kept so setJiggleDamping sets rather than compounds. */
|
|
749
|
+
private authoredLinDamp: Float32Array | null = null
|
|
750
|
+
private authoredAngDamp: Float32Array | null = null
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* Bones whose world matrix this simulation OVERWRITES each step.
|
|
754
|
+
*
|
|
755
|
+
* The same test applyDynamicsToBones runs — a Dynamic body bound to a real
|
|
756
|
+
* bone — exposed because the pose pipeline has to know. PMX lets a bone
|
|
757
|
+
* inherit rotation from an 付与親 (append parent), and when that parent is
|
|
758
|
+
* simulated the inheritance has to consume the SIMULATED result, not the
|
|
759
|
+
* animated pose the frame started with. Nothing else can answer which bones
|
|
760
|
+
* those are: the mapping lives in this store.
|
|
761
|
+
*/
|
|
762
|
+
getPhysicsDrivenBones(): number[] {
|
|
763
|
+
const out: number[] = []
|
|
764
|
+
for (let i = 0; i < this.store.count; i++) {
|
|
765
|
+
if (this.store.type[i] !== RigidbodyType.Dynamic) continue
|
|
766
|
+
const b = this.store.boneIndex[i]
|
|
767
|
+
if (b >= 0) out.push(b)
|
|
768
|
+
}
|
|
769
|
+
return out
|
|
770
|
+
}
|
|
771
|
+
|
|
709
772
|
private applyDynamicsToBones(boneWorldMatrices: Mat4[], alpha: number): void {
|
|
710
773
|
const N = this.store.count
|
|
711
774
|
const inv = this.store.bodyOffsetInverse
|
package/src/physics/world.ts
CHANGED
|
@@ -45,6 +45,13 @@ export class World {
|
|
|
45
45
|
// Per-body damping factors pow(1−damping, dt), cached because damping and
|
|
46
46
|
// the fixed dt never change — two Math.pow per body per substep otherwise.
|
|
47
47
|
private dampCacheDt = -1
|
|
48
|
+
|
|
49
|
+
/** Drop the cached damping factors. The cache is keyed on dt alone, because
|
|
50
|
+
* authored damping never changed — until a rig asked for softer jiggle (see
|
|
51
|
+
* RezePhysics.setJiggleDamping), which rewrites the store's values. */
|
|
52
|
+
invalidateDampingCache(): void {
|
|
53
|
+
this.dampCacheDt = -1
|
|
54
|
+
}
|
|
48
55
|
private linDampFactor: Float32Array | null = null
|
|
49
56
|
private angDampFactor: Float32Array | null = null
|
|
50
57
|
|