ce69b8cd18
- Admin lockout: /zen checked blockedForViewer() before auth loaded, so a hard-refresh/
direct-link bounced admins to /play. Now revalidate auth (await refresh if !ready)
BEFORE the gate check.
- UB swap: retired the two-tail koi (ub.glb/ub-split.glb) for the vetted Queen angelfish.
Trimmed the 75.67s baked Take down to just the Idle loop (tools/glb-split/trim-idle.mjs
→ 16MB → 6.9MB) → static/models/ub-angelfish.glb. aquarium.js reworked for the pack's
ONE-mesh/TWO-material layout (…_body opaque single-sided; …_fins opaque alpha-tested,
tunable); animation is the trimmed Idle. Debug tuner (/zen?debug=1) updated: yaw/pitch/
scale + one fins&tail section. Still devgate IN_DEV={'zen'} — admin-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
315 lines
4.5 KiB
JSON
315 lines
4.5 KiB
JSON
{
|
|
"note": "Angelfish Animated Pack 10 (CGTrader). One baked 75.67s/2270-frame Take at 30fps in each GLB. GLB frame = Maya frame + 110. Slice with THREE.AnimationUtils.subclip(clip,name,startFrame,endFrame,30).",
|
|
"fps": 30,
|
|
"total_frames": 2270,
|
|
"clips": {
|
|
"Swim1_norm": {
|
|
"glb_frames": [
|
|
110,
|
|
185
|
|
],
|
|
"seconds": [
|
|
3.667,
|
|
6.167
|
|
],
|
|
"maya_frames": [
|
|
0,
|
|
75
|
|
]
|
|
},
|
|
"Turn_R_in": {
|
|
"glb_frames": [
|
|
186,
|
|
255
|
|
],
|
|
"seconds": [
|
|
6.2,
|
|
8.5
|
|
],
|
|
"maya_frames": [
|
|
76,
|
|
145
|
|
]
|
|
},
|
|
"Turn_R_loop": {
|
|
"glb_frames": [
|
|
256,
|
|
330
|
|
],
|
|
"seconds": [
|
|
8.533,
|
|
11.0
|
|
],
|
|
"maya_frames": [
|
|
146,
|
|
220
|
|
]
|
|
},
|
|
"Turn_R_out": {
|
|
"glb_frames": [
|
|
331,
|
|
409
|
|
],
|
|
"seconds": [
|
|
11.033,
|
|
13.633
|
|
],
|
|
"maya_frames": [
|
|
221,
|
|
299
|
|
]
|
|
},
|
|
"Swim2_Fast": {
|
|
"glb_frames": [
|
|
410,
|
|
450
|
|
],
|
|
"seconds": [
|
|
13.667,
|
|
15.0
|
|
],
|
|
"maya_frames": [
|
|
300,
|
|
340
|
|
]
|
|
},
|
|
"Turn_L_in": {
|
|
"glb_frames": [
|
|
486,
|
|
535
|
|
],
|
|
"seconds": [
|
|
16.2,
|
|
17.833
|
|
],
|
|
"maya_frames": [
|
|
376,
|
|
425
|
|
]
|
|
},
|
|
"Turn_L_loop": {
|
|
"glb_frames": [
|
|
536,
|
|
610
|
|
],
|
|
"seconds": [
|
|
17.867,
|
|
20.333
|
|
],
|
|
"maya_frames": [
|
|
426,
|
|
500
|
|
]
|
|
},
|
|
"Turn_L_out": {
|
|
"glb_frames": [
|
|
611,
|
|
710
|
|
],
|
|
"seconds": [
|
|
20.367,
|
|
23.667
|
|
],
|
|
"maya_frames": [
|
|
501,
|
|
600
|
|
]
|
|
},
|
|
"Attack": {
|
|
"glb_frames": [
|
|
711,
|
|
751
|
|
],
|
|
"seconds": [
|
|
23.7,
|
|
25.033
|
|
],
|
|
"maya_frames": [
|
|
601,
|
|
641
|
|
]
|
|
},
|
|
"Eat_Swim": {
|
|
"glb_frames": [
|
|
752,
|
|
811
|
|
],
|
|
"seconds": [
|
|
25.067,
|
|
27.033
|
|
],
|
|
"maya_frames": [
|
|
642,
|
|
701
|
|
]
|
|
},
|
|
"Eat_Ground": {
|
|
"glb_frames": [
|
|
812,
|
|
852
|
|
],
|
|
"seconds": [
|
|
27.067,
|
|
28.4
|
|
],
|
|
"maya_frames": [
|
|
702,
|
|
742
|
|
]
|
|
},
|
|
"Eat_Wall": {
|
|
"glb_frames": [
|
|
853,
|
|
893
|
|
],
|
|
"seconds": [
|
|
28.433,
|
|
29.767
|
|
],
|
|
"maya_frames": [
|
|
743,
|
|
783
|
|
]
|
|
},
|
|
"Turn_L_Fast": {
|
|
"glb_frames": [
|
|
894,
|
|
923
|
|
],
|
|
"seconds": [
|
|
29.8,
|
|
30.767
|
|
],
|
|
"maya_frames": [
|
|
784,
|
|
813
|
|
]
|
|
},
|
|
"Turn_R_Fast": {
|
|
"glb_frames": [
|
|
924,
|
|
953
|
|
],
|
|
"seconds": [
|
|
30.8,
|
|
31.767
|
|
],
|
|
"maya_frames": [
|
|
814,
|
|
843
|
|
]
|
|
},
|
|
"Swim3_Long_Wide": {
|
|
"glb_frames": [
|
|
954,
|
|
1401
|
|
],
|
|
"seconds": [
|
|
31.8,
|
|
46.7
|
|
],
|
|
"maya_frames": [
|
|
844,
|
|
1291
|
|
]
|
|
},
|
|
"Swim4_Long_Near": {
|
|
"glb_frames": [
|
|
1402,
|
|
1852
|
|
],
|
|
"seconds": [
|
|
46.733,
|
|
61.733
|
|
],
|
|
"maya_frames": [
|
|
1292,
|
|
1742
|
|
]
|
|
},
|
|
"Death1 Sink Start": {
|
|
"glb_frames": [
|
|
1853,
|
|
1930
|
|
],
|
|
"seconds": [
|
|
61.767,
|
|
64.333
|
|
],
|
|
"maya_frames": [
|
|
1743,
|
|
1820
|
|
]
|
|
},
|
|
"Death1 Sink Loop": {
|
|
"glb_frames": [
|
|
1930,
|
|
1987
|
|
],
|
|
"seconds": [
|
|
64.333,
|
|
66.233
|
|
],
|
|
"maya_frames": [
|
|
1820,
|
|
1877
|
|
]
|
|
},
|
|
"Death2 Float Start": {
|
|
"glb_frames": [
|
|
1988,
|
|
2120
|
|
],
|
|
"seconds": [
|
|
66.267,
|
|
70.667
|
|
],
|
|
"maya_frames": [
|
|
1878,
|
|
2010
|
|
]
|
|
},
|
|
"Death2 Float Loop": {
|
|
"glb_frames": [
|
|
2121,
|
|
2210
|
|
],
|
|
"seconds": [
|
|
70.7,
|
|
73.667
|
|
],
|
|
"maya_frames": [
|
|
2011,
|
|
2100
|
|
]
|
|
},
|
|
"Jump": {
|
|
"glb_frames": [
|
|
2211,
|
|
2270
|
|
],
|
|
"seconds": [
|
|
73.7,
|
|
75.667
|
|
],
|
|
"maya_frames": [
|
|
2101,
|
|
2160
|
|
]
|
|
},
|
|
"Idle": {
|
|
"glb_frames": [
|
|
0,
|
|
109
|
|
],
|
|
"seconds": [
|
|
0.0,
|
|
3.633
|
|
],
|
|
"maya_frames": [
|
|
-110,
|
|
-1
|
|
]
|
|
}
|
|
}
|
|
} |