update Tue 07/14/2026 11:38:16.92

This commit is contained in:
2026-07-14 11:38:17 +10:00
commit b2b555ef16
38 changed files with 7348 additions and 0 deletions
+2666
View File
File diff suppressed because it is too large Load Diff
+26
View File
@@ -0,0 +1,26 @@
{
"_note": "Ghost tint gradients recovered from GhostType_* MonoBehaviours (AssetRipper export). The original renders ghosts from shared base visuals recoloured by these gradients. GhostType maps 1:1 to GhostColor lure.",
"gradients": {
"Red": {
"ghostType": "Angry",
"top": "#F65151",
"bottom": "#FF2678",
"topRGBA": [0.9647059, 0.31764707, 0.31764707, 1],
"bottomRGBA": [1, 0.14901961, 0.47058824, 1]
},
"Yellow": {
"ghostType": "Crazy",
"top": "#B57F0B",
"bottom": "#FFF35D",
"topRGBA": [0.70980394, 0.49803922, 0.043137256, 1],
"bottomRGBA": [1, 0.9529412, 0.3647059, 1]
},
"Blue": {
"ghostType": "Sad",
"top": "#529EFF",
"bottom": "#51EAF1",
"topRGBA": [0.32156864, 0.61960787, 1, 1],
"bottomRGBA": [0.31764707, 0.91764706, 0.94509804, 1]
}
}
}
+4
View File
@@ -0,0 +1,4 @@
{
"_note": "Multi-part OBJ ghost models. Drop OBJs into public/models/<id>/ and list parts here (legs|wisp, torso, head, headpiece). While 'models' is empty the exhibit uses the procedural wisp fallback.",
"models": []
}
+9
View File
@@ -0,0 +1,9 @@
{
"slots": 5,
"dwellSeconds": 120,
"crossfadeSeconds": 3,
"order": "shuffle",
"include": { "colors": [], "rarities": [], "ids": [] },
"behaviors": { "staticChance": 0.5, "wanderRadius": 0.6, "wanderSpeed": 0.15 },
"timeWindows": []
}
+20
View File
@@ -0,0 +1,20 @@
{
"world": { "units": "m", "note": "origin = front-left corner of the table; +X right, +Z toward the back, +Y up" },
"anchors": [
{ "markerId": 0, "position": [0.20, 0.00, 0.20], "mount": "flat", "yawDeg": 0, "pitchDeg": 0, "rollDeg": 0, "sizeMM": 60, "enabled": true },
{ "markerId": 1, "position": [0.90, 0.00, 0.20], "mount": "flat", "yawDeg": 0, "pitchDeg": 0, "rollDeg": 0, "sizeMM": 60, "enabled": true },
{ "markerId": 2, "position": [0.20, 0.00, 0.90], "mount": "flat", "yawDeg": 0, "pitchDeg": 0, "rollDeg": 0, "sizeMM": 60, "enabled": true },
{ "markerId": 3, "position": [0.90, 0.00, 0.90], "mount": "flat", "yawDeg": 0, "pitchDeg": 0, "rollDeg": 0, "sizeMM": 60, "enabled": true },
{ "markerId": 4, "position": [0.55, 0.12, 0.00], "mount": "wall", "yawDeg": 180, "pitchDeg": 0, "rollDeg": 0, "sizeMM": 60, "enabled": true }
],
"buildings": [
{ "name": "Newbury High", "position": [0.55, 0.00, 0.55], "size": [0.35, 0.30, 0.25], "yawDeg": 0 }
],
"spawns": [
{ "id": "spawn-1", "position": [0.35, 0.30, 0.40], "enabled": true },
{ "id": "spawn-2", "position": [0.75, 0.35, 0.40], "enabled": true },
{ "id": "spawn-3", "position": [0.55, 0.45, 0.70], "enabled": true },
{ "id": "spawn-4", "position": [0.25, 0.25, 0.75], "enabled": true },
{ "id": "spawn-5", "position": [0.85, 0.28, 0.75], "enabled": true }
]
}