reze-engine 0.56.1 → 0.56.3
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 +79 -2
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +181 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/parent-keys.d.ts +57 -0
- package/dist/parent-keys.d.ts.map +1 -0
- package/dist/parent-keys.js +49 -0
- package/package.json +1 -1
- package/src/engine.ts +198 -7
- package/src/index.ts +3 -0
- package/src/parent-keys.ts +69 -0
package/dist/engine.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { WindOptions } from "./physics/world";
|
|
|
7
7
|
import { type AssetReader } from "./asset-reader";
|
|
8
8
|
import { type ParamKey } from "./param-track";
|
|
9
9
|
import { type EffectWindow } from "./effect-schedule";
|
|
10
|
+
import { type ModelParentKey } from "./parent-keys";
|
|
10
11
|
import { type HdrImage } from "./hdr";
|
|
11
12
|
import { type LyricLine, type LyricRect } from "./shaders/lyrics-api";
|
|
12
13
|
import { type BoneOverlayOptions, type JointOverlayOptions, type OverlayPrimitive, type RigidbodyOverlayOptions } from "./overlay";
|
|
@@ -91,6 +92,23 @@ type Attachment = ModelAttachment & {
|
|
|
91
92
|
* BY REFERENCE and refilled every frame; see placeAttached. */
|
|
92
93
|
rootMatrix: Float32Array;
|
|
93
94
|
};
|
|
95
|
+
/** A parent key as the engine keeps it: its own copy, defaults filled in. */
|
|
96
|
+
type HeldParentKey = {
|
|
97
|
+
time: number;
|
|
98
|
+
parent: string | null;
|
|
99
|
+
bone: string;
|
|
100
|
+
position: Vec3;
|
|
101
|
+
rotation: Quat;
|
|
102
|
+
tween: boolean;
|
|
103
|
+
};
|
|
104
|
+
/** A model's parent keys, sorted by time, the one last applied — so a frame
|
|
105
|
+
* that stays inside one hold does no work — and the bind position of the
|
|
106
|
+
* model's first root, the seat a ride puts on the bone. See setModelParentKeys. */
|
|
107
|
+
type ParentTrack = {
|
|
108
|
+
keys: HeldParentKey[];
|
|
109
|
+
applied: number;
|
|
110
|
+
seat: [number, number, number];
|
|
111
|
+
};
|
|
94
112
|
type SunOptions = {
|
|
95
113
|
/** Linear color of the sun lamp (Blender: Light > Color). */
|
|
96
114
|
color?: Vec3;
|
|
@@ -446,6 +464,9 @@ interface ModelInstance {
|
|
|
446
464
|
* card for a sign in her hand, a second character for a mascot on her
|
|
447
465
|
* shoulder. See setModelParent. */
|
|
448
466
|
parent: Attachment | null;
|
|
467
|
+
/** Who this model hangs from over the scene, or null. While set it decides
|
|
468
|
+
* `parent`, position and rotation every frame. See setModelParentKeys. */
|
|
469
|
+
parentKeys: ParentTrack | null;
|
|
449
470
|
/** This card's texture is rewritten every frame, so it is allocated with no
|
|
450
471
|
* mip chain — rebuilding one per frame is a pass per level per card, and is
|
|
451
472
|
* what a moving card was mostly costing. See setPlaneFrame. */
|
|
@@ -2415,6 +2436,59 @@ export declare class Engine {
|
|
|
2415
2436
|
}): boolean;
|
|
2416
2437
|
/** What a model hangs from, or null. */
|
|
2417
2438
|
getModelParent(name: string): ModelAttachment | null;
|
|
2439
|
+
/**
|
|
2440
|
+
* Key who a model hangs from over the scene: MMD's 外部親 on the timeline,
|
|
2441
|
+
* the way a sword changes hands or a ball is thrown from one to another.
|
|
2442
|
+
*
|
|
2443
|
+
* Each key holds from its time until the next key's. With a parent, the model
|
|
2444
|
+
* rides that bone with `position` and `rotation` as the offset, exactly as
|
|
2445
|
+
* setModelParent places it. With a null parent it stands on its own at that
|
|
2446
|
+
* position and rotation. The first key also holds before its time. Times are
|
|
2447
|
+
* transport seconds, the clock the camera VMD and effect windows read, so
|
|
2448
|
+
* playback, a scrub and an offline export all switch on the same frame.
|
|
2449
|
+
*
|
|
2450
|
+
* A key switches at its time. A key marked `tween` is arrived at instead:
|
|
2451
|
+
* from the previous key's time to its own the model stands free at the blend
|
|
2452
|
+
* of the two placements, each read live — so a run of free keys is a flight,
|
|
2453
|
+
* and a tween into a key on a hand lands in that hand wherever it has moved.
|
|
2454
|
+
*
|
|
2455
|
+
* While keys are set they own the model's parent, position and rotation;
|
|
2456
|
+
* setModelTransform still sets scale and visibility. A key naming a model that
|
|
2457
|
+
* is not loaded stands the model at identity until that model arrives. Null or
|
|
2458
|
+
* an empty list removes the track and leaves the model where the last key put
|
|
2459
|
+
* it. Returns false for an unknown model.
|
|
2460
|
+
*/
|
|
2461
|
+
setModelParentKeys(name: string, keys: readonly ModelParentKey[] | null): boolean;
|
|
2462
|
+
/** A model's parent keys, sorted by time, or null. */
|
|
2463
|
+
getModelParentKeys(name: string): ModelParentKey[] | null;
|
|
2464
|
+
/**
|
|
2465
|
+
* Put a keyed model under the key in force now.
|
|
2466
|
+
*
|
|
2467
|
+
* A frame inside the hold it is already in costs a lookup and a compare. The
|
|
2468
|
+
* work happens on a switch, when a model a key names arrives after the key was
|
|
2469
|
+
* set, and when something re-parented the model since — the keys take it back.
|
|
2470
|
+
*/
|
|
2471
|
+
private applyParentKeys;
|
|
2472
|
+
/**
|
|
2473
|
+
* Stand a keyed model free, `toward` of the way from one key's placement to
|
|
2474
|
+
* the next's. Both are read live, so an end on a hand follows the hand as it
|
|
2475
|
+
* moves. False when either end names a model that is not loaded.
|
|
2476
|
+
*/
|
|
2477
|
+
private placeBetweenKeys;
|
|
2478
|
+
/**
|
|
2479
|
+
* Where a key puts a model, as the free placement that looks the same: its
|
|
2480
|
+
* own position and rotation when it stands alone, or — riding a bone — the
|
|
2481
|
+
* bone as posed now times the offset, with the seat taken off along it (the
|
|
2482
|
+
* root rule in setModelParent).
|
|
2483
|
+
*/
|
|
2484
|
+
private keyPlacementInto;
|
|
2485
|
+
private readonly tweenFrom;
|
|
2486
|
+
private readonly tweenTo;
|
|
2487
|
+
private readonly tweenPosition;
|
|
2488
|
+
private readonly tweenRotation;
|
|
2489
|
+
private readonly tweenMatrix;
|
|
2490
|
+
private readonly tweenOffset;
|
|
2491
|
+
private readonly tweenScratch;
|
|
2418
2492
|
/**
|
|
2419
2493
|
* The root an attached model is posed under this frame: the parent's
|
|
2420
2494
|
* placement, its bone as posed and simulated, then the offset.
|
|
@@ -2427,8 +2501,11 @@ export declare class Engine {
|
|
|
2427
2501
|
private placeAttached;
|
|
2428
2502
|
private readonly attachScratch;
|
|
2429
2503
|
/** Instances in pose order: a parent before every model hanging from it, so
|
|
2430
|
-
* a child reads the bone as posed and simulated THIS frame.
|
|
2431
|
-
*
|
|
2504
|
+
* a child reads the bone as posed and simulated THIS frame. A keyed model
|
|
2505
|
+
* (setModelParentKeys) waits for every parent its keys name and for the
|
|
2506
|
+
* unkeyed cast too: their clips are the transport clock, so the key it picks
|
|
2507
|
+
* is this frame's. Insertion order otherwise. Rebuilt when a model is added,
|
|
2508
|
+
* removed or re-parented. */
|
|
2432
2509
|
private updateOrder;
|
|
2433
2510
|
private updateOrderDirty;
|
|
2434
2511
|
private instancesInUpdateOrder;
|
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
|
@@ -21,6 +21,7 @@ import { SHADOW_DEPTH_SHADER_WGSL } from "./shaders/passes/shadow";
|
|
|
21
21
|
import { ID_DEBUG_SHADER_WGSL } from "./shaders/passes/id-debug";
|
|
22
22
|
import { paramChanged, sampleParamTrack } from "./param-track";
|
|
23
23
|
import { effectState } from "./effect-schedule";
|
|
24
|
+
import { parentKeySpan } from "./parent-keys";
|
|
24
25
|
import { SHADOW_CASCADES, buildShadowVP } from "./shadow-cascades";
|
|
25
26
|
import { REFLECTION_DEBUG_WGSL, buildMirrorCamera, planeFromPointNormal } from "./reflection";
|
|
26
27
|
import { MIRROR_MASK_DOWNSAMPLE_WGSL, MIRROR_MAT_BYTES, mirrorShaderWgsl, mirrorShadowWgsl } from "./shaders/passes/mirror";
|
|
@@ -1171,10 +1172,20 @@ export class Engine {
|
|
|
1171
1172
|
* Set by the cascade loop, which skips a cascade that is unwanted and already
|
|
1172
1173
|
* cleared rather than re-clearing it every frame. */
|
|
1173
1174
|
this.shadowCascadeCleared = [];
|
|
1175
|
+
this.tweenFrom = { position: new Vec3(0, 0, 0), rotation: Quat.identity() };
|
|
1176
|
+
this.tweenTo = { position: new Vec3(0, 0, 0), rotation: Quat.identity() };
|
|
1177
|
+
this.tweenPosition = new Vec3(0, 0, 0);
|
|
1178
|
+
this.tweenRotation = Quat.identity();
|
|
1179
|
+
this.tweenMatrix = new Float32Array(16);
|
|
1180
|
+
this.tweenOffset = new Float32Array(16);
|
|
1181
|
+
this.tweenScratch = new Float32Array(16);
|
|
1174
1182
|
this.attachScratch = new Float32Array(16);
|
|
1175
1183
|
/** Instances in pose order: a parent before every model hanging from it, so
|
|
1176
|
-
* a child reads the bone as posed and simulated THIS frame.
|
|
1177
|
-
*
|
|
1184
|
+
* a child reads the bone as posed and simulated THIS frame. A keyed model
|
|
1185
|
+
* (setModelParentKeys) waits for every parent its keys name and for the
|
|
1186
|
+
* unkeyed cast too: their clips are the transport clock, so the key it picks
|
|
1187
|
+
* is this frame's. Insertion order otherwise. Rebuilt when a model is added,
|
|
1188
|
+
* removed or re-parented. */
|
|
1178
1189
|
this.updateOrder = [];
|
|
1179
1190
|
this.updateOrderDirty = true;
|
|
1180
1191
|
/** Skinned positions for picking, grown on demand. One click's worth of work
|
|
@@ -8319,6 +8330,148 @@ export class Engine {
|
|
|
8319
8330
|
const att = this.modelInstances.get(name)?.parent;
|
|
8320
8331
|
return att ? { model: att.model, bone: att.bone } : null;
|
|
8321
8332
|
}
|
|
8333
|
+
/**
|
|
8334
|
+
* Key who a model hangs from over the scene: MMD's 外部親 on the timeline,
|
|
8335
|
+
* the way a sword changes hands or a ball is thrown from one to another.
|
|
8336
|
+
*
|
|
8337
|
+
* Each key holds from its time until the next key's. With a parent, the model
|
|
8338
|
+
* rides that bone with `position` and `rotation` as the offset, exactly as
|
|
8339
|
+
* setModelParent places it. With a null parent it stands on its own at that
|
|
8340
|
+
* position and rotation. The first key also holds before its time. Times are
|
|
8341
|
+
* transport seconds, the clock the camera VMD and effect windows read, so
|
|
8342
|
+
* playback, a scrub and an offline export all switch on the same frame.
|
|
8343
|
+
*
|
|
8344
|
+
* A key switches at its time. A key marked `tween` is arrived at instead:
|
|
8345
|
+
* from the previous key's time to its own the model stands free at the blend
|
|
8346
|
+
* of the two placements, each read live — so a run of free keys is a flight,
|
|
8347
|
+
* and a tween into a key on a hand lands in that hand wherever it has moved.
|
|
8348
|
+
*
|
|
8349
|
+
* While keys are set they own the model's parent, position and rotation;
|
|
8350
|
+
* setModelTransform still sets scale and visibility. A key naming a model that
|
|
8351
|
+
* is not loaded stands the model at identity until that model arrives. Null or
|
|
8352
|
+
* an empty list removes the track and leaves the model where the last key put
|
|
8353
|
+
* it. Returns false for an unknown model.
|
|
8354
|
+
*/
|
|
8355
|
+
setModelParentKeys(name, keys) {
|
|
8356
|
+
const inst = this.modelInstances.get(name);
|
|
8357
|
+
if (!inst)
|
|
8358
|
+
return false;
|
|
8359
|
+
this.updateOrderDirty = true;
|
|
8360
|
+
const held = (keys ?? [])
|
|
8361
|
+
.filter((k) => Number.isFinite(k.time))
|
|
8362
|
+
.map((k) => ({
|
|
8363
|
+
time: k.time,
|
|
8364
|
+
parent: k.parent,
|
|
8365
|
+
bone: k.bone ?? "全ての親",
|
|
8366
|
+
position: k.position ? new Vec3(k.position.x, k.position.y, k.position.z) : new Vec3(0, 0, 0),
|
|
8367
|
+
rotation: k.rotation ? k.rotation.clone() : Quat.identity(),
|
|
8368
|
+
tween: k.tween === true,
|
|
8369
|
+
}))
|
|
8370
|
+
.sort((a, b) => a.time - b.time);
|
|
8371
|
+
const root = inst.model.getSkeleton().bones.find((b) => b.parentIndex < 0);
|
|
8372
|
+
const seat = root ? [root.bindTranslation[0], root.bindTranslation[1], root.bindTranslation[2]] : [0, 0, 0];
|
|
8373
|
+
inst.parentKeys = held.length > 0 ? { keys: held, applied: -1, seat } : null;
|
|
8374
|
+
return true;
|
|
8375
|
+
}
|
|
8376
|
+
/** A model's parent keys, sorted by time, or null. */
|
|
8377
|
+
getModelParentKeys(name) {
|
|
8378
|
+
const track = this.modelInstances.get(name)?.parentKeys;
|
|
8379
|
+
if (!track)
|
|
8380
|
+
return null;
|
|
8381
|
+
return track.keys.map((k) => ({
|
|
8382
|
+
time: k.time,
|
|
8383
|
+
parent: k.parent,
|
|
8384
|
+
bone: k.bone,
|
|
8385
|
+
position: new Vec3(k.position.x, k.position.y, k.position.z),
|
|
8386
|
+
rotation: k.rotation.clone(),
|
|
8387
|
+
tween: k.tween,
|
|
8388
|
+
}));
|
|
8389
|
+
}
|
|
8390
|
+
/**
|
|
8391
|
+
* Put a keyed model under the key in force now.
|
|
8392
|
+
*
|
|
8393
|
+
* A frame inside the hold it is already in costs a lookup and a compare. The
|
|
8394
|
+
* work happens on a switch, when a model a key names arrives after the key was
|
|
8395
|
+
* set, and when something re-parented the model since — the keys take it back.
|
|
8396
|
+
*/
|
|
8397
|
+
applyParentKeys(inst) {
|
|
8398
|
+
const track = inst.parentKeys;
|
|
8399
|
+
const { index: i, toward } = parentKeySpan(track.keys, this.transportTime());
|
|
8400
|
+
const k = track.keys[i];
|
|
8401
|
+
if (toward > 0 && this.placeBetweenKeys(inst, track, k, track.keys[i + 1], toward)) {
|
|
8402
|
+
// The hold after the tween applies afresh once the clock reaches it.
|
|
8403
|
+
track.applied = -1;
|
|
8404
|
+
return;
|
|
8405
|
+
}
|
|
8406
|
+
const parent = k.parent !== null && k.parent !== inst.name && this.modelInstances.has(k.parent) ? k.parent : null;
|
|
8407
|
+
if (i === track.applied && (inst.parent?.model ?? null) === parent)
|
|
8408
|
+
return;
|
|
8409
|
+
track.applied = i;
|
|
8410
|
+
if (parent !== null) {
|
|
8411
|
+
this.setModelParent(inst.name, parent, k.bone, { position: k.position, rotation: k.rotation });
|
|
8412
|
+
return;
|
|
8413
|
+
}
|
|
8414
|
+
this.setModelParent(inst.name, null);
|
|
8415
|
+
const standing = k.parent === null;
|
|
8416
|
+
inst.model.setPosition(standing ? new Vec3(k.position.x, k.position.y, k.position.z) : new Vec3(0, 0, 0));
|
|
8417
|
+
inst.model.setRotation(standing ? k.rotation.clone() : Quat.identity());
|
|
8418
|
+
inst.skinMatricesDirty = true;
|
|
8419
|
+
}
|
|
8420
|
+
/**
|
|
8421
|
+
* Stand a keyed model free, `toward` of the way from one key's placement to
|
|
8422
|
+
* the next's. Both are read live, so an end on a hand follows the hand as it
|
|
8423
|
+
* moves. False when either end names a model that is not loaded.
|
|
8424
|
+
*/
|
|
8425
|
+
placeBetweenKeys(inst, track, from, to, toward) {
|
|
8426
|
+
if (!this.keyPlacementInto(inst, track, from, this.tweenFrom))
|
|
8427
|
+
return false;
|
|
8428
|
+
if (!this.keyPlacementInto(inst, track, to, this.tweenTo))
|
|
8429
|
+
return false;
|
|
8430
|
+
if (inst.parent)
|
|
8431
|
+
this.setModelParent(inst.name, null);
|
|
8432
|
+
const p = this.tweenFrom.position;
|
|
8433
|
+
const q = this.tweenTo.position;
|
|
8434
|
+
this.tweenPosition.setXYZ(p.x + (q.x - p.x) * toward, p.y + (q.y - p.y) * toward, p.z + (q.z - p.z) * toward);
|
|
8435
|
+
Quat.slerpInto(this.tweenFrom.rotation, this.tweenTo.rotation, toward, this.tweenRotation);
|
|
8436
|
+
inst.model.setPosition(this.tweenPosition);
|
|
8437
|
+
inst.model.setRotation(this.tweenRotation);
|
|
8438
|
+
inst.skinMatricesDirty = true;
|
|
8439
|
+
return true;
|
|
8440
|
+
}
|
|
8441
|
+
/**
|
|
8442
|
+
* Where a key puts a model, as the free placement that looks the same: its
|
|
8443
|
+
* own position and rotation when it stands alone, or — riding a bone — the
|
|
8444
|
+
* bone as posed now times the offset, with the seat taken off along it (the
|
|
8445
|
+
* root rule in setModelParent).
|
|
8446
|
+
*/
|
|
8447
|
+
keyPlacementInto(inst, track, key, out) {
|
|
8448
|
+
if (key.parent === null) {
|
|
8449
|
+
out.position.set(key.position);
|
|
8450
|
+
out.rotation.set(key.rotation);
|
|
8451
|
+
return true;
|
|
8452
|
+
}
|
|
8453
|
+
const parent = key.parent !== inst.name ? this.modelInstances.get(key.parent) : undefined;
|
|
8454
|
+
if (!parent)
|
|
8455
|
+
return false;
|
|
8456
|
+
const frame = this.tweenMatrix;
|
|
8457
|
+
const bone = parent.model.getBoneWorldMatrix(key.bone);
|
|
8458
|
+
if (bone)
|
|
8459
|
+
Mat4.multiplyArrays(parent.model.getRootMatrix(), 0, bone, 0, frame, 0);
|
|
8460
|
+
else
|
|
8461
|
+
frame.set(parent.model.getRootMatrix());
|
|
8462
|
+
const o = key.position;
|
|
8463
|
+
const r = key.rotation;
|
|
8464
|
+
Mat4.fromPositionRotationScaleInto(o.x, o.y, o.z, r.x, r.y, r.z, r.w, 1, this.tweenOffset);
|
|
8465
|
+
const m = this.tweenScratch;
|
|
8466
|
+
Mat4.multiplyArrays(frame, 0, this.tweenOffset, 0, m, 0);
|
|
8467
|
+
const s = inst.model.scale;
|
|
8468
|
+
const x = -s * track.seat[0];
|
|
8469
|
+
const y = -s * track.seat[1];
|
|
8470
|
+
const z = -s * track.seat[2];
|
|
8471
|
+
out.position.setXYZ(m[0] * x + m[4] * y + m[8] * z + m[12], m[1] * x + m[5] * y + m[9] * z + m[13], m[2] * x + m[6] * y + m[10] * z + m[14]);
|
|
8472
|
+
Mat4.toQuatFromArrayInto(m, 0, out.rotation);
|
|
8473
|
+
return true;
|
|
8474
|
+
}
|
|
8322
8475
|
/**
|
|
8323
8476
|
* The root an attached model is posed under this frame: the parent's
|
|
8324
8477
|
* placement, its bone as posed and simulated, then the offset.
|
|
@@ -8357,14 +8510,30 @@ export class Engine {
|
|
|
8357
8510
|
instancesInUpdateOrder() {
|
|
8358
8511
|
if (!this.updateOrderDirty)
|
|
8359
8512
|
return this.updateOrder;
|
|
8513
|
+
const all = Array.from(this.modelInstances.values());
|
|
8514
|
+
const clock = all.filter((i) => !i.isStage && !i.isPlane && !i.isProp && !i.parentKeys).map((i) => i.name);
|
|
8515
|
+
const after = new Map();
|
|
8516
|
+
for (const inst of all) {
|
|
8517
|
+
const names = new Set();
|
|
8518
|
+
if (inst.parent)
|
|
8519
|
+
names.add(inst.parent.model);
|
|
8520
|
+
if (inst.parentKeys) {
|
|
8521
|
+
for (const name of clock)
|
|
8522
|
+
names.add(name);
|
|
8523
|
+
for (const k of inst.parentKeys.keys)
|
|
8524
|
+
if (k.parent !== null)
|
|
8525
|
+
names.add(k.parent);
|
|
8526
|
+
}
|
|
8527
|
+
names.delete(inst.name);
|
|
8528
|
+
after.set(inst.name, [...names]);
|
|
8529
|
+
}
|
|
8360
8530
|
const placed = new Set();
|
|
8361
8531
|
const order = [];
|
|
8362
|
-
let pending =
|
|
8532
|
+
let pending = all;
|
|
8363
8533
|
while (pending.length > 0) {
|
|
8364
8534
|
const rest = [];
|
|
8365
8535
|
for (const inst of pending) {
|
|
8366
|
-
|
|
8367
|
-
if (p === undefined || placed.has(p) || !this.modelInstances.has(p)) {
|
|
8536
|
+
if (after.get(inst.name).every((p) => placed.has(p) || !this.modelInstances.has(p))) {
|
|
8368
8537
|
order.push(inst);
|
|
8369
8538
|
placed.add(inst.name);
|
|
8370
8539
|
}
|
|
@@ -8399,9 +8568,9 @@ export class Engine {
|
|
|
8399
8568
|
// An attached model is placed by its parent's bone; its own position and
|
|
8400
8569
|
// rotation are held at identity so the ride is the whole placement (see
|
|
8401
8570
|
// setModelParent). Scale and visibility are still its own.
|
|
8402
|
-
if (transform.position && !inst.parent)
|
|
8571
|
+
if (transform.position && !inst.parent && !inst.parentKeys)
|
|
8403
8572
|
model.setPosition(transform.position);
|
|
8404
|
-
if (transform.rotation && !inst.parent)
|
|
8573
|
+
if (transform.rotation && !inst.parent && !inst.parentKeys)
|
|
8405
8574
|
model.setRotation(transform.rotation);
|
|
8406
8575
|
if (transform.scale !== undefined)
|
|
8407
8576
|
model.setScale(transform.scale);
|
|
@@ -9185,6 +9354,10 @@ export class Engine {
|
|
|
9185
9354
|
// An attached model is placed from its parent's bone as posed and
|
|
9186
9355
|
// simulated THIS frame — the order guarantees the parent came first —
|
|
9187
9356
|
// and only then posed itself, so its clip and physics ride the placement.
|
|
9357
|
+
// A keyed model first settles WHICH hold it is in this frame; the order
|
|
9358
|
+
// posed the cast before it, so the transport clock has already moved.
|
|
9359
|
+
if (inst.parentKeys)
|
|
9360
|
+
this.applyParentKeys(inst);
|
|
9188
9361
|
const attached = inst.parent !== null;
|
|
9189
9362
|
if (attached)
|
|
9190
9363
|
this.placeAttached(inst);
|
|
@@ -10278,6 +10451,7 @@ export class Engine {
|
|
|
10278
10451
|
isPlane,
|
|
10279
10452
|
isProp,
|
|
10280
10453
|
parent: null,
|
|
10454
|
+
parentKeys: null,
|
|
10281
10455
|
dynamicTexture,
|
|
10282
10456
|
// Seeded true: the bind pose has to reach the GPU once before any frame.
|
|
10283
10457
|
skinMatricesDirty: true,
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { parseHDR, type HdrImage } from "./hdr";
|
|
|
5
5
|
export { LYRIC_ATLAS_MAX_H, LYRIC_ATLAS_MAX_W, parseLRC, type LyricLine, type LyricRect } from "./shaders/lyrics-api";
|
|
6
6
|
export { sampleParamTrack, type ParamKey, type ParamValue } from "./param-track";
|
|
7
7
|
export { effectState, type EffectWindow, type EffectState } from "./effect-schedule";
|
|
8
|
+
export { parentKeyIndex, type ModelParentKey } from "./parent-keys";
|
|
8
9
|
export { compileGraph, validateGraph, assignStyleSlots, type CompileOptions, type CompileResult, type StyleSlot, } from "./graph/compile";
|
|
9
10
|
export type { ShaderGraph, GraphNode, GraphLink, ExposedParam, SocketValue, Diagnostic, } from "./graph/schema";
|
|
10
11
|
export { NODE_REGISTRY, type NodeSpec, type SockT } from "./graph/registry";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE/C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrH,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAIhF,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,9 @@ export { sampleParamTrack } from "./param-track";
|
|
|
15
15
|
// exported so a caller can draw a lane against the same numbers the engine
|
|
16
16
|
// renders from, rather than a second copy of the ramp maths.
|
|
17
17
|
export { effectState } from "./effect-schedule";
|
|
18
|
+
// Who a model hangs from over time, and the lookup behind it — exported so a
|
|
19
|
+
// timeline draws its holds from the same rule the engine switches by.
|
|
20
|
+
export { parentKeyIndex } from "./parent-keys";
|
|
18
21
|
export { compileGraph, validateGraph, assignStyleSlots, } from "./graph/compile";
|
|
19
22
|
export { NODE_REGISTRY } from "./graph/registry";
|
|
20
23
|
export { RENDER_CLASSES } from "./graph/render-class";
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHO a model hangs from, over time — MMD's 外部親 keyed on the timeline.
|
|
3
|
+
*
|
|
4
|
+
* A throw is three holds on one object: in her right hand, in the air, in his
|
|
5
|
+
* left hand. Each is a KEY: from its time until the next key's, the model rides
|
|
6
|
+
* that bone with that offset, or stands on its own at that placement. A key
|
|
7
|
+
* switches at its time, or, marked `tween`, is arrived at gradually: across the
|
|
8
|
+
* time since the previous key the model stands free at the blend of the two
|
|
9
|
+
* placements. That is how a flight is a run of free keys and a catch lands in a
|
|
10
|
+
* moving hand.
|
|
11
|
+
*
|
|
12
|
+
* SECONDS on the transport clock, like effect windows, so a 60Hz preview and a
|
|
13
|
+
* 30 or 60fps export switch on the same frame.
|
|
14
|
+
*
|
|
15
|
+
* PURE, in its own file, for the reason effect-schedule.ts is: the boundary is
|
|
16
|
+
* where it goes wrong, and finding the key in force needs no GPU to test.
|
|
17
|
+
*/
|
|
18
|
+
import type { Quat, Vec3 } from "./math";
|
|
19
|
+
/** One hold in a model's parent track. See Engine.setModelParentKeys. */
|
|
20
|
+
export type ModelParentKey = {
|
|
21
|
+
/** Transport seconds this hold starts at. The first key also holds before it. */
|
|
22
|
+
time: number;
|
|
23
|
+
/** The parent's model key, or null to stand on its own. */
|
|
24
|
+
parent: string | null;
|
|
25
|
+
/** Bone on the parent. Omitted rides 全ての親; a name the rig lacks rides its root. */
|
|
26
|
+
bone?: string;
|
|
27
|
+
/** With a parent, the offset in the bone's space. Without one, where the model stands. */
|
|
28
|
+
position?: Vec3;
|
|
29
|
+
rotation?: Quat;
|
|
30
|
+
/** Arrive at this key gradually, from the previous key's placement, rather
|
|
31
|
+
* than switching at its time. */
|
|
32
|
+
tween?: boolean;
|
|
33
|
+
};
|
|
34
|
+
/** How far past the clock a key may sit and still be reached. The transport
|
|
35
|
+
* clock is a sum of frame deltas, so a key at 4s reads 3.9999999 at 60fps; a
|
|
36
|
+
* millisecond is far below any frame and far above that drift. */
|
|
37
|
+
export declare const PARENT_KEY_TOLERANCE = 0.001;
|
|
38
|
+
/**
|
|
39
|
+
* The key in force at `time`: the last one whose time has been reached, or the
|
|
40
|
+
* first key before any has. `keys` must be sorted by time. -1 for no keys.
|
|
41
|
+
*/
|
|
42
|
+
export declare function parentKeyIndex(keys: readonly {
|
|
43
|
+
time: number;
|
|
44
|
+
}[], time: number): number;
|
|
45
|
+
/**
|
|
46
|
+
* The key in force at `time`, and how far the placement has travelled toward
|
|
47
|
+
* the next key: 0 unless that key tweens, else the fraction of the way from
|
|
48
|
+
* this key's time to its.
|
|
49
|
+
*/
|
|
50
|
+
export declare function parentKeySpan(keys: readonly {
|
|
51
|
+
time: number;
|
|
52
|
+
tween?: boolean;
|
|
53
|
+
}[], time: number): {
|
|
54
|
+
index: number;
|
|
55
|
+
toward: number;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=parent-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent-keys.d.ts","sourceRoot":"","sources":["../src/parent-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAExC,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAC3B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf;sCACkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED;;mEAEmE;AACnE,eAAO,MAAM,oBAAoB,QAAO,CAAA;AAExC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAClD,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHO a model hangs from, over time — MMD's 外部親 keyed on the timeline.
|
|
3
|
+
*
|
|
4
|
+
* A throw is three holds on one object: in her right hand, in the air, in his
|
|
5
|
+
* left hand. Each is a KEY: from its time until the next key's, the model rides
|
|
6
|
+
* that bone with that offset, or stands on its own at that placement. A key
|
|
7
|
+
* switches at its time, or, marked `tween`, is arrived at gradually: across the
|
|
8
|
+
* time since the previous key the model stands free at the blend of the two
|
|
9
|
+
* placements. That is how a flight is a run of free keys and a catch lands in a
|
|
10
|
+
* moving hand.
|
|
11
|
+
*
|
|
12
|
+
* SECONDS on the transport clock, like effect windows, so a 60Hz preview and a
|
|
13
|
+
* 30 or 60fps export switch on the same frame.
|
|
14
|
+
*
|
|
15
|
+
* PURE, in its own file, for the reason effect-schedule.ts is: the boundary is
|
|
16
|
+
* where it goes wrong, and finding the key in force needs no GPU to test.
|
|
17
|
+
*/
|
|
18
|
+
/** How far past the clock a key may sit and still be reached. The transport
|
|
19
|
+
* clock is a sum of frame deltas, so a key at 4s reads 3.9999999 at 60fps; a
|
|
20
|
+
* millisecond is far below any frame and far above that drift. */
|
|
21
|
+
export const PARENT_KEY_TOLERANCE = 1e-3;
|
|
22
|
+
/**
|
|
23
|
+
* The key in force at `time`: the last one whose time has been reached, or the
|
|
24
|
+
* first key before any has. `keys` must be sorted by time. -1 for no keys.
|
|
25
|
+
*/
|
|
26
|
+
export function parentKeyIndex(keys, time) {
|
|
27
|
+
if (keys.length === 0)
|
|
28
|
+
return -1;
|
|
29
|
+
let i = 0;
|
|
30
|
+
while (i + 1 < keys.length && keys[i + 1].time <= time + PARENT_KEY_TOLERANCE)
|
|
31
|
+
i++;
|
|
32
|
+
return i;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The key in force at `time`, and how far the placement has travelled toward
|
|
36
|
+
* the next key: 0 unless that key tweens, else the fraction of the way from
|
|
37
|
+
* this key's time to its.
|
|
38
|
+
*/
|
|
39
|
+
export function parentKeySpan(keys, time) {
|
|
40
|
+
const index = parentKeyIndex(keys, time);
|
|
41
|
+
const next = keys[index + 1];
|
|
42
|
+
if (index < 0 || !next?.tween)
|
|
43
|
+
return { index, toward: 0 };
|
|
44
|
+
const start = keys[index].time;
|
|
45
|
+
const span = next.time - start;
|
|
46
|
+
if (span <= 0 || time <= start)
|
|
47
|
+
return { index, toward: 0 };
|
|
48
|
+
return { index, toward: Math.min(1, (time - start) / span) };
|
|
49
|
+
}
|
package/package.json
CHANGED
package/src/engine.ts
CHANGED
|
@@ -31,6 +31,7 @@ import { SHADOW_DEPTH_SHADER_WGSL } from "./shaders/passes/shadow"
|
|
|
31
31
|
import { ID_DEBUG_SHADER_WGSL } from "./shaders/passes/id-debug"
|
|
32
32
|
import { paramChanged, sampleParamTrack, type ParamKey, type ParamValue } from "./param-track"
|
|
33
33
|
import { effectState, type EffectWindow } from "./effect-schedule"
|
|
34
|
+
import { parentKeySpan, type ModelParentKey } from "./parent-keys"
|
|
34
35
|
import { SHADOW_CASCADES, buildShadowVP } from "./shadow-cascades"
|
|
35
36
|
import { REFLECTION_DEBUG_WGSL, buildMirrorCamera, planeFromPointNormal } from "./reflection"
|
|
36
37
|
import { MIRROR_MASK_DOWNSAMPLE_WGSL, MIRROR_MAT_BYTES, mirrorShaderWgsl, mirrorShadowWgsl } from "./shaders/passes/mirror"
|
|
@@ -409,6 +410,14 @@ type Attachment = ModelAttachment & {
|
|
|
409
410
|
rootMatrix: Float32Array
|
|
410
411
|
}
|
|
411
412
|
|
|
413
|
+
/** A parent key as the engine keeps it: its own copy, defaults filled in. */
|
|
414
|
+
type HeldParentKey = { time: number; parent: string | null; bone: string; position: Vec3; rotation: Quat; tween: boolean }
|
|
415
|
+
|
|
416
|
+
/** A model's parent keys, sorted by time, the one last applied — so a frame
|
|
417
|
+
* that stays inside one hold does no work — and the bind position of the
|
|
418
|
+
* model's first root, the seat a ride puts on the bone. See setModelParentKeys. */
|
|
419
|
+
type ParentTrack = { keys: HeldParentKey[]; applied: number; seat: [number, number, number] }
|
|
420
|
+
|
|
412
421
|
type SunOptions = {
|
|
413
422
|
/** Linear color of the sun lamp (Blender: Light > Color). */
|
|
414
423
|
color?: Vec3
|
|
@@ -819,6 +828,9 @@ interface ModelInstance {
|
|
|
819
828
|
* card for a sign in her hand, a second character for a mascot on her
|
|
820
829
|
* shoulder. See setModelParent. */
|
|
821
830
|
parent: Attachment | null
|
|
831
|
+
/** Who this model hangs from over the scene, or null. While set it decides
|
|
832
|
+
* `parent`, position and rotation every frame. See setModelParentKeys. */
|
|
833
|
+
parentKeys: ParentTrack | null
|
|
822
834
|
/** This card's texture is rewritten every frame, so it is allocated with no
|
|
823
835
|
* mip chain — rebuilding one per frame is a pass per level per card, and is
|
|
824
836
|
* what a moving card was mostly costing. See setPlaneFrame. */
|
|
@@ -9874,6 +9886,166 @@ export class Engine {
|
|
|
9874
9886
|
return att ? { model: att.model, bone: att.bone } : null
|
|
9875
9887
|
}
|
|
9876
9888
|
|
|
9889
|
+
/**
|
|
9890
|
+
* Key who a model hangs from over the scene: MMD's 外部親 on the timeline,
|
|
9891
|
+
* the way a sword changes hands or a ball is thrown from one to another.
|
|
9892
|
+
*
|
|
9893
|
+
* Each key holds from its time until the next key's. With a parent, the model
|
|
9894
|
+
* rides that bone with `position` and `rotation` as the offset, exactly as
|
|
9895
|
+
* setModelParent places it. With a null parent it stands on its own at that
|
|
9896
|
+
* position and rotation. The first key also holds before its time. Times are
|
|
9897
|
+
* transport seconds, the clock the camera VMD and effect windows read, so
|
|
9898
|
+
* playback, a scrub and an offline export all switch on the same frame.
|
|
9899
|
+
*
|
|
9900
|
+
* A key switches at its time. A key marked `tween` is arrived at instead:
|
|
9901
|
+
* from the previous key's time to its own the model stands free at the blend
|
|
9902
|
+
* of the two placements, each read live — so a run of free keys is a flight,
|
|
9903
|
+
* and a tween into a key on a hand lands in that hand wherever it has moved.
|
|
9904
|
+
*
|
|
9905
|
+
* While keys are set they own the model's parent, position and rotation;
|
|
9906
|
+
* setModelTransform still sets scale and visibility. A key naming a model that
|
|
9907
|
+
* is not loaded stands the model at identity until that model arrives. Null or
|
|
9908
|
+
* an empty list removes the track and leaves the model where the last key put
|
|
9909
|
+
* it. Returns false for an unknown model.
|
|
9910
|
+
*/
|
|
9911
|
+
setModelParentKeys(name: string, keys: readonly ModelParentKey[] | null): boolean {
|
|
9912
|
+
const inst = this.modelInstances.get(name)
|
|
9913
|
+
if (!inst) return false
|
|
9914
|
+
this.updateOrderDirty = true
|
|
9915
|
+
const held = (keys ?? [])
|
|
9916
|
+
.filter((k) => Number.isFinite(k.time))
|
|
9917
|
+
.map((k) => ({
|
|
9918
|
+
time: k.time,
|
|
9919
|
+
parent: k.parent,
|
|
9920
|
+
bone: k.bone ?? "全ての親",
|
|
9921
|
+
position: k.position ? new Vec3(k.position.x, k.position.y, k.position.z) : new Vec3(0, 0, 0),
|
|
9922
|
+
rotation: k.rotation ? k.rotation.clone() : Quat.identity(),
|
|
9923
|
+
tween: k.tween === true,
|
|
9924
|
+
}))
|
|
9925
|
+
.sort((a, b) => a.time - b.time)
|
|
9926
|
+
const root = inst.model.getSkeleton().bones.find((b) => b.parentIndex < 0)
|
|
9927
|
+
const seat: [number, number, number] = root ? [root.bindTranslation[0], root.bindTranslation[1], root.bindTranslation[2]] : [0, 0, 0]
|
|
9928
|
+
inst.parentKeys = held.length > 0 ? { keys: held, applied: -1, seat } : null
|
|
9929
|
+
return true
|
|
9930
|
+
}
|
|
9931
|
+
|
|
9932
|
+
/** A model's parent keys, sorted by time, or null. */
|
|
9933
|
+
getModelParentKeys(name: string): ModelParentKey[] | null {
|
|
9934
|
+
const track = this.modelInstances.get(name)?.parentKeys
|
|
9935
|
+
if (!track) return null
|
|
9936
|
+
return track.keys.map((k) => ({
|
|
9937
|
+
time: k.time,
|
|
9938
|
+
parent: k.parent,
|
|
9939
|
+
bone: k.bone,
|
|
9940
|
+
position: new Vec3(k.position.x, k.position.y, k.position.z),
|
|
9941
|
+
rotation: k.rotation.clone(),
|
|
9942
|
+
tween: k.tween,
|
|
9943
|
+
}))
|
|
9944
|
+
}
|
|
9945
|
+
|
|
9946
|
+
/**
|
|
9947
|
+
* Put a keyed model under the key in force now.
|
|
9948
|
+
*
|
|
9949
|
+
* A frame inside the hold it is already in costs a lookup and a compare. The
|
|
9950
|
+
* work happens on a switch, when a model a key names arrives after the key was
|
|
9951
|
+
* set, and when something re-parented the model since — the keys take it back.
|
|
9952
|
+
*/
|
|
9953
|
+
private applyParentKeys(inst: ModelInstance): void {
|
|
9954
|
+
const track = inst.parentKeys!
|
|
9955
|
+
const { index: i, toward } = parentKeySpan(track.keys, this.transportTime())
|
|
9956
|
+
const k = track.keys[i]
|
|
9957
|
+
if (toward > 0 && this.placeBetweenKeys(inst, track, k, track.keys[i + 1], toward)) {
|
|
9958
|
+
// The hold after the tween applies afresh once the clock reaches it.
|
|
9959
|
+
track.applied = -1
|
|
9960
|
+
return
|
|
9961
|
+
}
|
|
9962
|
+
const parent = k.parent !== null && k.parent !== inst.name && this.modelInstances.has(k.parent) ? k.parent : null
|
|
9963
|
+
if (i === track.applied && (inst.parent?.model ?? null) === parent) return
|
|
9964
|
+
track.applied = i
|
|
9965
|
+
if (parent !== null) {
|
|
9966
|
+
this.setModelParent(inst.name, parent, k.bone, { position: k.position, rotation: k.rotation })
|
|
9967
|
+
return
|
|
9968
|
+
}
|
|
9969
|
+
this.setModelParent(inst.name, null)
|
|
9970
|
+
const standing = k.parent === null
|
|
9971
|
+
inst.model.setPosition(standing ? new Vec3(k.position.x, k.position.y, k.position.z) : new Vec3(0, 0, 0))
|
|
9972
|
+
inst.model.setRotation(standing ? k.rotation.clone() : Quat.identity())
|
|
9973
|
+
inst.skinMatricesDirty = true
|
|
9974
|
+
}
|
|
9975
|
+
|
|
9976
|
+
/**
|
|
9977
|
+
* Stand a keyed model free, `toward` of the way from one key's placement to
|
|
9978
|
+
* the next's. Both are read live, so an end on a hand follows the hand as it
|
|
9979
|
+
* moves. False when either end names a model that is not loaded.
|
|
9980
|
+
*/
|
|
9981
|
+
private placeBetweenKeys(
|
|
9982
|
+
inst: ModelInstance,
|
|
9983
|
+
track: ParentTrack,
|
|
9984
|
+
from: HeldParentKey,
|
|
9985
|
+
to: HeldParentKey,
|
|
9986
|
+
toward: number,
|
|
9987
|
+
): boolean {
|
|
9988
|
+
if (!this.keyPlacementInto(inst, track, from, this.tweenFrom)) return false
|
|
9989
|
+
if (!this.keyPlacementInto(inst, track, to, this.tweenTo)) return false
|
|
9990
|
+
if (inst.parent) this.setModelParent(inst.name, null)
|
|
9991
|
+
const p = this.tweenFrom.position
|
|
9992
|
+
const q = this.tweenTo.position
|
|
9993
|
+
this.tweenPosition.setXYZ(p.x + (q.x - p.x) * toward, p.y + (q.y - p.y) * toward, p.z + (q.z - p.z) * toward)
|
|
9994
|
+
Quat.slerpInto(this.tweenFrom.rotation, this.tweenTo.rotation, toward, this.tweenRotation)
|
|
9995
|
+
inst.model.setPosition(this.tweenPosition)
|
|
9996
|
+
inst.model.setRotation(this.tweenRotation)
|
|
9997
|
+
inst.skinMatricesDirty = true
|
|
9998
|
+
return true
|
|
9999
|
+
}
|
|
10000
|
+
|
|
10001
|
+
/**
|
|
10002
|
+
* Where a key puts a model, as the free placement that looks the same: its
|
|
10003
|
+
* own position and rotation when it stands alone, or — riding a bone — the
|
|
10004
|
+
* bone as posed now times the offset, with the seat taken off along it (the
|
|
10005
|
+
* root rule in setModelParent).
|
|
10006
|
+
*/
|
|
10007
|
+
private keyPlacementInto(
|
|
10008
|
+
inst: ModelInstance,
|
|
10009
|
+
track: ParentTrack,
|
|
10010
|
+
key: HeldParentKey,
|
|
10011
|
+
out: { position: Vec3; rotation: Quat },
|
|
10012
|
+
): boolean {
|
|
10013
|
+
if (key.parent === null) {
|
|
10014
|
+
out.position.set(key.position)
|
|
10015
|
+
out.rotation.set(key.rotation)
|
|
10016
|
+
return true
|
|
10017
|
+
}
|
|
10018
|
+
const parent = key.parent !== inst.name ? this.modelInstances.get(key.parent) : undefined
|
|
10019
|
+
if (!parent) return false
|
|
10020
|
+
const frame = this.tweenMatrix
|
|
10021
|
+
const bone = parent.model.getBoneWorldMatrix(key.bone)
|
|
10022
|
+
if (bone) Mat4.multiplyArrays(parent.model.getRootMatrix(), 0, bone, 0, frame, 0)
|
|
10023
|
+
else frame.set(parent.model.getRootMatrix())
|
|
10024
|
+
const o = key.position
|
|
10025
|
+
const r = key.rotation
|
|
10026
|
+
Mat4.fromPositionRotationScaleInto(o.x, o.y, o.z, r.x, r.y, r.z, r.w, 1, this.tweenOffset)
|
|
10027
|
+
const m = this.tweenScratch
|
|
10028
|
+
Mat4.multiplyArrays(frame, 0, this.tweenOffset, 0, m, 0)
|
|
10029
|
+
const s = inst.model.scale
|
|
10030
|
+
const x = -s * track.seat[0]
|
|
10031
|
+
const y = -s * track.seat[1]
|
|
10032
|
+
const z = -s * track.seat[2]
|
|
10033
|
+
out.position.setXYZ(
|
|
10034
|
+
m[0] * x + m[4] * y + m[8] * z + m[12],
|
|
10035
|
+
m[1] * x + m[5] * y + m[9] * z + m[13],
|
|
10036
|
+
m[2] * x + m[6] * y + m[10] * z + m[14],
|
|
10037
|
+
)
|
|
10038
|
+
Mat4.toQuatFromArrayInto(m, 0, out.rotation)
|
|
10039
|
+
return true
|
|
10040
|
+
}
|
|
10041
|
+
private readonly tweenFrom = { position: new Vec3(0, 0, 0), rotation: Quat.identity() }
|
|
10042
|
+
private readonly tweenTo = { position: new Vec3(0, 0, 0), rotation: Quat.identity() }
|
|
10043
|
+
private readonly tweenPosition = new Vec3(0, 0, 0)
|
|
10044
|
+
private readonly tweenRotation = Quat.identity()
|
|
10045
|
+
private readonly tweenMatrix = new Float32Array(16)
|
|
10046
|
+
private readonly tweenOffset = new Float32Array(16)
|
|
10047
|
+
private readonly tweenScratch = new Float32Array(16)
|
|
10048
|
+
|
|
9877
10049
|
/**
|
|
9878
10050
|
* The root an attached model is posed under this frame: the parent's
|
|
9879
10051
|
* placement, its bone as posed and simulated, then the offset.
|
|
@@ -9911,20 +10083,35 @@ export class Engine {
|
|
|
9911
10083
|
private readonly attachScratch = new Float32Array(16)
|
|
9912
10084
|
|
|
9913
10085
|
/** Instances in pose order: a parent before every model hanging from it, so
|
|
9914
|
-
* a child reads the bone as posed and simulated THIS frame.
|
|
9915
|
-
*
|
|
10086
|
+
* a child reads the bone as posed and simulated THIS frame. A keyed model
|
|
10087
|
+
* (setModelParentKeys) waits for every parent its keys name and for the
|
|
10088
|
+
* unkeyed cast too: their clips are the transport clock, so the key it picks
|
|
10089
|
+
* is this frame's. Insertion order otherwise. Rebuilt when a model is added,
|
|
10090
|
+
* removed or re-parented. */
|
|
9916
10091
|
private updateOrder: ModelInstance[] = []
|
|
9917
10092
|
private updateOrderDirty = true
|
|
9918
10093
|
private instancesInUpdateOrder(): ModelInstance[] {
|
|
9919
10094
|
if (!this.updateOrderDirty) return this.updateOrder
|
|
10095
|
+
const all = Array.from(this.modelInstances.values())
|
|
10096
|
+
const clock = all.filter((i) => !i.isStage && !i.isPlane && !i.isProp && !i.parentKeys).map((i) => i.name)
|
|
10097
|
+
const after = new Map<string, string[]>()
|
|
10098
|
+
for (const inst of all) {
|
|
10099
|
+
const names = new Set<string>()
|
|
10100
|
+
if (inst.parent) names.add(inst.parent.model)
|
|
10101
|
+
if (inst.parentKeys) {
|
|
10102
|
+
for (const name of clock) names.add(name)
|
|
10103
|
+
for (const k of inst.parentKeys.keys) if (k.parent !== null) names.add(k.parent)
|
|
10104
|
+
}
|
|
10105
|
+
names.delete(inst.name)
|
|
10106
|
+
after.set(inst.name, [...names])
|
|
10107
|
+
}
|
|
9920
10108
|
const placed = new Set<string>()
|
|
9921
10109
|
const order: ModelInstance[] = []
|
|
9922
|
-
let pending =
|
|
10110
|
+
let pending = all
|
|
9923
10111
|
while (pending.length > 0) {
|
|
9924
10112
|
const rest: ModelInstance[] = []
|
|
9925
10113
|
for (const inst of pending) {
|
|
9926
|
-
|
|
9927
|
-
if (p === undefined || placed.has(p) || !this.modelInstances.has(p)) {
|
|
10114
|
+
if (after.get(inst.name)!.every((p) => placed.has(p) || !this.modelInstances.has(p))) {
|
|
9928
10115
|
order.push(inst)
|
|
9929
10116
|
placed.add(inst.name)
|
|
9930
10117
|
} else rest.push(inst)
|
|
@@ -9957,8 +10144,8 @@ export class Engine {
|
|
|
9957
10144
|
// An attached model is placed by its parent's bone; its own position and
|
|
9958
10145
|
// rotation are held at identity so the ride is the whole placement (see
|
|
9959
10146
|
// setModelParent). Scale and visibility are still its own.
|
|
9960
|
-
if (transform.position && !inst.parent) model.setPosition(transform.position)
|
|
9961
|
-
if (transform.rotation && !inst.parent) model.setRotation(transform.rotation)
|
|
10147
|
+
if (transform.position && !inst.parent && !inst.parentKeys) model.setPosition(transform.position)
|
|
10148
|
+
if (transform.rotation && !inst.parent && !inst.parentKeys) model.setRotation(transform.rotation)
|
|
9962
10149
|
if (transform.scale !== undefined) model.setScale(transform.scale)
|
|
9963
10150
|
if (transform.visible !== undefined) model.setVisible(transform.visible)
|
|
9964
10151
|
// The root transform is baked into the skin matrices, so moving a model is a
|
|
@@ -10804,6 +10991,9 @@ export class Engine {
|
|
|
10804
10991
|
// An attached model is placed from its parent's bone as posed and
|
|
10805
10992
|
// simulated THIS frame — the order guarantees the parent came first —
|
|
10806
10993
|
// and only then posed itself, so its clip and physics ride the placement.
|
|
10994
|
+
// A keyed model first settles WHICH hold it is in this frame; the order
|
|
10995
|
+
// posed the cast before it, so the transport clock has already moved.
|
|
10996
|
+
if (inst.parentKeys) this.applyParentKeys(inst)
|
|
10807
10997
|
const attached = inst.parent !== null
|
|
10808
10998
|
if (attached) this.placeAttached(inst)
|
|
10809
10999
|
// A stage never solves IK — nothing drives its chains — and skips the pose
|
|
@@ -11970,6 +12160,7 @@ export class Engine {
|
|
|
11970
12160
|
isPlane,
|
|
11971
12161
|
isProp,
|
|
11972
12162
|
parent: null,
|
|
12163
|
+
parentKeys: null,
|
|
11973
12164
|
dynamicTexture,
|
|
11974
12165
|
// Seeded true: the bind pose has to reach the GPU once before any frame.
|
|
11975
12166
|
skinMatricesDirty: true,
|
package/src/index.ts
CHANGED
|
@@ -40,6 +40,9 @@ export { sampleParamTrack, type ParamKey, type ParamValue } from "./param-track"
|
|
|
40
40
|
// exported so a caller can draw a lane against the same numbers the engine
|
|
41
41
|
// renders from, rather than a second copy of the ramp maths.
|
|
42
42
|
export { effectState, type EffectWindow, type EffectState } from "./effect-schedule"
|
|
43
|
+
// Who a model hangs from over time, and the lookup behind it — exported so a
|
|
44
|
+
// timeline draws its holds from the same rule the engine switches by.
|
|
45
|
+
export { parentKeyIndex, type ModelParentKey } from "./parent-keys"
|
|
43
46
|
export {
|
|
44
47
|
compileGraph,
|
|
45
48
|
validateGraph,
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHO a model hangs from, over time — MMD's 外部親 keyed on the timeline.
|
|
3
|
+
*
|
|
4
|
+
* A throw is three holds on one object: in her right hand, in the air, in his
|
|
5
|
+
* left hand. Each is a KEY: from its time until the next key's, the model rides
|
|
6
|
+
* that bone with that offset, or stands on its own at that placement. A key
|
|
7
|
+
* switches at its time, or, marked `tween`, is arrived at gradually: across the
|
|
8
|
+
* time since the previous key the model stands free at the blend of the two
|
|
9
|
+
* placements. That is how a flight is a run of free keys and a catch lands in a
|
|
10
|
+
* moving hand.
|
|
11
|
+
*
|
|
12
|
+
* SECONDS on the transport clock, like effect windows, so a 60Hz preview and a
|
|
13
|
+
* 30 or 60fps export switch on the same frame.
|
|
14
|
+
*
|
|
15
|
+
* PURE, in its own file, for the reason effect-schedule.ts is: the boundary is
|
|
16
|
+
* where it goes wrong, and finding the key in force needs no GPU to test.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import type { Quat, Vec3 } from "./math"
|
|
20
|
+
|
|
21
|
+
/** One hold in a model's parent track. See Engine.setModelParentKeys. */
|
|
22
|
+
export type ModelParentKey = {
|
|
23
|
+
/** Transport seconds this hold starts at. The first key also holds before it. */
|
|
24
|
+
time: number
|
|
25
|
+
/** The parent's model key, or null to stand on its own. */
|
|
26
|
+
parent: string | null
|
|
27
|
+
/** Bone on the parent. Omitted rides 全ての親; a name the rig lacks rides its root. */
|
|
28
|
+
bone?: string
|
|
29
|
+
/** With a parent, the offset in the bone's space. Without one, where the model stands. */
|
|
30
|
+
position?: Vec3
|
|
31
|
+
rotation?: Quat
|
|
32
|
+
/** Arrive at this key gradually, from the previous key's placement, rather
|
|
33
|
+
* than switching at its time. */
|
|
34
|
+
tween?: boolean
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** How far past the clock a key may sit and still be reached. The transport
|
|
38
|
+
* clock is a sum of frame deltas, so a key at 4s reads 3.9999999 at 60fps; a
|
|
39
|
+
* millisecond is far below any frame and far above that drift. */
|
|
40
|
+
export const PARENT_KEY_TOLERANCE = 1e-3
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The key in force at `time`: the last one whose time has been reached, or the
|
|
44
|
+
* first key before any has. `keys` must be sorted by time. -1 for no keys.
|
|
45
|
+
*/
|
|
46
|
+
export function parentKeyIndex(keys: readonly { time: number }[], time: number): number {
|
|
47
|
+
if (keys.length === 0) return -1
|
|
48
|
+
let i = 0
|
|
49
|
+
while (i + 1 < keys.length && keys[i + 1].time <= time + PARENT_KEY_TOLERANCE) i++
|
|
50
|
+
return i
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The key in force at `time`, and how far the placement has travelled toward
|
|
55
|
+
* the next key: 0 unless that key tweens, else the fraction of the way from
|
|
56
|
+
* this key's time to its.
|
|
57
|
+
*/
|
|
58
|
+
export function parentKeySpan(
|
|
59
|
+
keys: readonly { time: number; tween?: boolean }[],
|
|
60
|
+
time: number,
|
|
61
|
+
): { index: number; toward: number } {
|
|
62
|
+
const index = parentKeyIndex(keys, time)
|
|
63
|
+
const next = keys[index + 1]
|
|
64
|
+
if (index < 0 || !next?.tween) return { index, toward: 0 }
|
|
65
|
+
const start = keys[index].time
|
|
66
|
+
const span = next.time - start
|
|
67
|
+
if (span <= 0 || time <= start) return { index, toward: 0 }
|
|
68
|
+
return { index, toward: Math.min(1, (time - start) / span) }
|
|
69
|
+
}
|