incanto 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +22 -0
  2. package/bin/incanto-new.mjs +87 -0
  3. package/dist/2d.d.ts +2 -2
  4. package/dist/2d.js +3 -3
  5. package/dist/3d.d.ts +194 -71
  6. package/dist/3d.js +74 -4
  7. package/dist/{behavior-Bod1AyJS.d.ts → behavior-CPibUfnH.d.ts} +4 -2
  8. package/dist/{create-game-C_xf4gm9.js → create-game-Ct86zczq.js} +5 -5
  9. package/dist/{create-game-B2fewJUy.js → create-game-J6g4QInv.js} +5 -5
  10. package/dist/debug.d.ts +1 -1
  11. package/dist/{duplicate-BEvGBtb_.js → duplicate-BINwP0WG.js} +1 -1
  12. package/dist/{gameplay-Dn3yidJw.js → gameplay-sSqrUcnz.js} +75 -3
  13. package/dist/gameplay.d.ts +37 -2
  14. package/dist/gameplay.js +2 -2
  15. package/dist/index.d.ts +3 -3
  16. package/dist/index.js +4 -4
  17. package/dist/{loader-B4OEXDZ8.js → loader-BZqOKfI2.js} +3 -1
  18. package/dist/{loader-BcUDfNHn.d.ts → loader-DILt9PGC.d.ts} +1 -1
  19. package/dist/net.d.ts +1 -1
  20. package/dist/net.js +3 -3
  21. package/dist/{pathfinding-BSiXjd6W.d.ts → pathfinding-RWYkNKx9.d.ts} +1 -1
  22. package/dist/{physics-2d-B6D864oZ.js → physics-2d-BiIdl51r.js} +2 -2
  23. package/dist/{physics-3d-RLNaxRyw.js → physics-3d-DhaAaKJo.js} +2 -2
  24. package/dist/react.d.ts +1 -1
  25. package/dist/react.js +1 -1
  26. package/dist/{register-Cwc-yCYx.js → register-BFFE1Mh1.js} +2 -2
  27. package/dist/{register-ysLR3WQS.js → register-BFw4c83z.js} +508 -123
  28. package/dist/{register-BD6zgrv_.js → register-Djwckzgx.js} +2 -2
  29. package/dist/{register-DJZXxwAn.js → register-nObreUQR.js} +1 -1
  30. package/dist/test.d.ts +2 -2
  31. package/dist/test.js +10 -10
  32. package/editor/assets/{agent8-D_4QY8Aq.js → agent8-BF8Jfbkl.js} +1 -1
  33. package/editor/assets/{index-s0DZuroe.js → index-DSq0gdhE.js} +74 -74
  34. package/editor/index.html +1 -1
  35. package/package.json +4 -2
  36. package/schemas/scene.schema.json +263 -0
  37. package/skills/incanto-3d-character.md +35 -0
  38. package/skills/incanto-building-3d-games.md +48 -0
  39. package/skills/incanto-gameplay-behaviors.md +23 -1
  40. package/skills/incanto-node-reference.md +51 -0
  41. package/templates-app/beacon-isle-3d/PROJECT/Context.md +44 -0
  42. package/templates-app/beacon-isle-3d/PROJECT/Requirements.md +16 -0
  43. package/templates-app/beacon-isle-3d/PROJECT/Status.md +38 -0
  44. package/templates-app/beacon-isle-3d/PROJECT/Structure.md +24 -0
  45. package/templates-app/beacon-isle-3d/docs/project-3d-rules.md +38 -0
  46. package/templates-app/beacon-isle-3d/generate-world.ts +814 -0
  47. package/templates-app/beacon-isle-3d/index.html +68 -0
  48. package/templates-app/beacon-isle-3d/package.json +26 -0
  49. package/templates-app/beacon-isle-3d/src/behaviors.ts +570 -0
  50. package/templates-app/beacon-isle-3d/src/game.scene.json +2992 -0
  51. package/templates-app/beacon-isle-3d/src/main.ts +33 -0
  52. package/templates-app/beacon-isle-3d/tsconfig.json +13 -0
  53. package/templates-app/beacon-isle-3d/verify.ts +285 -0
  54. package/templates-app/beacon-isle-3d/vite.config.ts +5 -0
  55. package/templates-app/tps-3d/PROJECT/Context.md +49 -0
  56. package/templates-app/tps-3d/PROJECT/Requirements.md +38 -0
  57. package/templates-app/tps-3d/PROJECT/Status.md +41 -0
  58. package/templates-app/tps-3d/PROJECT/Structure.md +44 -0
  59. package/templates-app/tps-3d/docs/project-3d-rules.md +38 -0
  60. package/templates-app/tps-3d/index.html +244 -0
  61. package/templates-app/tps-3d/package.json +25 -0
  62. package/templates-app/tps-3d/src/behaviors.ts +405 -0
  63. package/templates-app/tps-3d/src/game.scene.json +677 -0
  64. package/templates-app/tps-3d/src/main.ts +64 -0
  65. package/templates-app/tps-3d/tsconfig.json +13 -0
  66. package/templates-app/tps-3d/verify.ts +167 -0
  67. package/templates-app/tps-3d/vite.config.ts +5 -0
  68. package/templates-app/village-quest-3d/PROJECT/Context.md +39 -0
  69. package/templates-app/village-quest-3d/PROJECT/Requirements.md +36 -0
  70. package/templates-app/village-quest-3d/PROJECT/Status.md +26 -0
  71. package/templates-app/village-quest-3d/PROJECT/Structure.md +30 -0
  72. package/templates-app/village-quest-3d/docs/project-3d-rules.md +38 -0
  73. package/templates-app/village-quest-3d/index.html +68 -0
  74. package/templates-app/village-quest-3d/package.json +25 -0
  75. package/templates-app/village-quest-3d/src/behaviors.ts +529 -0
  76. package/templates-app/village-quest-3d/src/grove.scene.json +826 -0
  77. package/templates-app/village-quest-3d/src/main.ts +35 -0
  78. package/templates-app/village-quest-3d/src/quest.ts +18 -0
  79. package/templates-app/village-quest-3d/src/village.scene.json +680 -0
  80. package/templates-app/village-quest-3d/tsconfig.json +13 -0
  81. package/templates-app/village-quest-3d/verify.ts +254 -0
  82. package/templates-app/village-quest-3d/vite.config.ts +5 -0
@@ -0,0 +1,2992 @@
1
+ {
2
+ "format": 1,
3
+ "type": "scene",
4
+ "dimension": "3d",
5
+ "name": "BeaconIsle",
6
+ "environment": {
7
+ "sky": {
8
+ "type": "atmosphere",
9
+ "elevationDeg": 17,
10
+ "azimuthDeg": 224,
11
+ "turbidity": 3.2,
12
+ "rayleigh": 2.1
13
+ },
14
+ "fog": {
15
+ "near": 110,
16
+ "far": 560
17
+ },
18
+ "shadows": {
19
+ "mapSize": 2048,
20
+ "radius": 1.2
21
+ },
22
+ "exposure": 1.12,
23
+ "ambient": {
24
+ "color": "#ffe8d4",
25
+ "intensity": 0.66
26
+ },
27
+ "iblIntensity": 0.9,
28
+ "bloom": {
29
+ "threshold": 1.2,
30
+ "strength": 0.55
31
+ },
32
+ "post": {
33
+ "vignette": 0.28,
34
+ "saturation": 1.12,
35
+ "contrast": 1.02
36
+ }
37
+ },
38
+ "physics": {
39
+ "gravity": [0, -9.81, 0]
40
+ },
41
+ "input": {
42
+ "move": {
43
+ "type": "vector2",
44
+ "keys": {
45
+ "up": ["KeyW", "ArrowUp"],
46
+ "down": ["KeyS", "ArrowDown"],
47
+ "left": ["KeyA", "ArrowLeft"],
48
+ "right": ["KeyD", "ArrowRight"]
49
+ },
50
+ "touch": "joystick"
51
+ },
52
+ "jump": {
53
+ "type": "button",
54
+ "keys": ["Space"],
55
+ "touch": "button"
56
+ },
57
+ "sprint": {
58
+ "type": "button",
59
+ "keys": ["ShiftLeft", "ShiftRight"]
60
+ },
61
+ "interact": {
62
+ "type": "button",
63
+ "keys": ["KeyE"],
64
+ "touch": "button"
65
+ },
66
+ "attack": {
67
+ "type": "button",
68
+ "keys": ["Mouse0", "KeyF"],
69
+ "touch": "button"
70
+ }
71
+ },
72
+ "assets": {
73
+ "characters/base": {
74
+ "type": "model",
75
+ "url": "https://agent8-games.verse8.io/assets/3d/characters/realistic style/base-model.glb"
76
+ },
77
+ "anims/idle": {
78
+ "type": "animation",
79
+ "url": "https://agent8-games.verse8.io/assets/3d/animations/mixamorig/idle-00.glb"
80
+ },
81
+ "anims/walk": {
82
+ "type": "animation",
83
+ "url": "https://agent8-games.verse8.io/assets/3d/animations/mixamorig/walk.glb"
84
+ },
85
+ "anims/run": {
86
+ "type": "animation",
87
+ "url": "https://agent8-games.verse8.io/assets/3d/animations/mixamorig/run-medium.glb"
88
+ },
89
+ "anims/runFast": {
90
+ "type": "animation",
91
+ "url": "https://agent8-games.verse8.io/assets/3d/animations/mixamorig/run-fast.glb"
92
+ },
93
+ "anims/jump": {
94
+ "type": "animation",
95
+ "url": "https://agent8-games.verse8.io/assets/3d/animations/mixamorig/jump.glb"
96
+ },
97
+ "anims/attack": {
98
+ "type": "animation",
99
+ "url": "https://agent8-games.verse8.io/assets/3d/animations/mixamorig/melee-attack.glb"
100
+ }
101
+ },
102
+ "root": {
103
+ "name": "Game",
104
+ "type": "Node",
105
+ "script": {
106
+ "name": "IsleDirector"
107
+ },
108
+ "children": [
109
+ {
110
+ "name": "Terrain",
111
+ "type": "Node3D",
112
+ "children": [
113
+ {
114
+ "name": "Ground",
115
+ "type": "StaticBody3D",
116
+ "props": {
117
+ "collider": {
118
+ "shape": "heightfield"
119
+ },
120
+ "static": true
121
+ },
122
+ "children": [
123
+ {
124
+ "name": "Surface",
125
+ "type": "Terrain3D",
126
+ "props": {
127
+ "size": [240, 240],
128
+ "maxHeight": 2.66,
129
+ "seed": 7411,
130
+ "theme": "island"
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ "name": "Sea",
137
+ "type": "Water3D",
138
+ "props": {
139
+ "size": [1920, 1920],
140
+ "position": [0, 9.19, 0],
141
+ "opacity": 1
142
+ }
143
+ },
144
+ {
145
+ "name": "Tree1",
146
+ "type": "Tree3D",
147
+ "props": {
148
+ "type": "conifer",
149
+ "seed": 501533504,
150
+ "height": 4.84,
151
+ "position": [67.68, 12.03, 10.83],
152
+ "canopyColor": "#356a4c",
153
+ "trunkColor": "#71503a",
154
+ "static": true
155
+ }
156
+ },
157
+ {
158
+ "name": "Tree2",
159
+ "type": "Tree3D",
160
+ "props": {
161
+ "type": "conifer",
162
+ "seed": 997642543,
163
+ "height": 5.12,
164
+ "position": [88.36, 12.53, -27.51],
165
+ "canopyColor": "#3a6b4a",
166
+ "trunkColor": "#6a4c34",
167
+ "static": true
168
+ }
169
+ },
170
+ {
171
+ "name": "Tree3",
172
+ "type": "Tree3D",
173
+ "props": {
174
+ "type": "conifer",
175
+ "seed": 662504208,
176
+ "height": 5.63,
177
+ "position": [-56.2, 16.94, -35.76],
178
+ "canopyColor": "#3a6b4a",
179
+ "trunkColor": "#6a4c34",
180
+ "static": true
181
+ }
182
+ },
183
+ {
184
+ "name": "Tree4",
185
+ "type": "Tree3D",
186
+ "props": {
187
+ "type": "conifer",
188
+ "seed": 375332673,
189
+ "height": 5.17,
190
+ "position": [-57.91, 14.59, -73.12],
191
+ "canopyColor": "#2f5d44",
192
+ "trunkColor": "#6e4a32",
193
+ "static": true
194
+ }
195
+ },
196
+ {
197
+ "name": "Tree5",
198
+ "type": "Tree3D",
199
+ "props": {
200
+ "type": "conifer",
201
+ "seed": 704176987,
202
+ "height": 5.74,
203
+ "position": [-57.05, 18.26, -15.54],
204
+ "canopyColor": "#2c5740",
205
+ "trunkColor": "#5f4530",
206
+ "static": true
207
+ }
208
+ },
209
+ {
210
+ "name": "Tree6",
211
+ "type": "Tree3D",
212
+ "props": {
213
+ "type": "conifer",
214
+ "seed": 283343096,
215
+ "height": 5.22,
216
+ "position": [34.26, 16.26, 83.81],
217
+ "canopyColor": "#2f5d44",
218
+ "trunkColor": "#6e4a32",
219
+ "static": true
220
+ }
221
+ },
222
+ {
223
+ "name": "Tree7",
224
+ "type": "Tree3D",
225
+ "props": {
226
+ "type": "conifer",
227
+ "seed": 895789517,
228
+ "height": 5.53,
229
+ "position": [-38.82, 17.53, -6.04],
230
+ "canopyColor": "#356a4c",
231
+ "trunkColor": "#71503a",
232
+ "static": true
233
+ }
234
+ },
235
+ {
236
+ "name": "Clouds",
237
+ "type": "Node3D",
238
+ "children": [
239
+ {
240
+ "name": "Cloud1",
241
+ "type": "Node3D",
242
+ "props": {
243
+ "position": [35.79, 42.95, -79.59]
244
+ },
245
+ "children": [
246
+ {
247
+ "name": "Puff1",
248
+ "type": "MeshInstance3D",
249
+ "props": {
250
+ "mesh": "sphere",
251
+ "size": [1, 1, 1],
252
+ "position": [-2.65, -0.18, -0.04],
253
+ "scale": [2.13, 0.74, 1.34],
254
+ "material": {
255
+ "color": "#ffffff",
256
+ "roughness": 1,
257
+ "emissive": "#ffffff",
258
+ "emissiveIntensity": 0.25
259
+ }
260
+ }
261
+ },
262
+ {
263
+ "name": "Puff2",
264
+ "type": "MeshInstance3D",
265
+ "props": {
266
+ "mesh": "sphere",
267
+ "size": [1, 1, 1],
268
+ "position": [-1.07, 0.25, -0.13],
269
+ "scale": [2.58, 0.91, 1.66],
270
+ "material": {
271
+ "color": "#ffffff",
272
+ "roughness": 1,
273
+ "emissive": "#ffffff",
274
+ "emissiveIntensity": 0.25
275
+ }
276
+ }
277
+ },
278
+ {
279
+ "name": "Puff3",
280
+ "type": "MeshInstance3D",
281
+ "props": {
282
+ "mesh": "sphere",
283
+ "size": [1, 1, 1],
284
+ "position": [0, 0.18, -0.11],
285
+ "scale": [1.83, 0.85, 1.55],
286
+ "material": {
287
+ "color": "#ffffff",
288
+ "roughness": 1,
289
+ "emissive": "#ffffff",
290
+ "emissiveIntensity": 0.25
291
+ }
292
+ }
293
+ },
294
+ {
295
+ "name": "Puff4",
296
+ "type": "MeshInstance3D",
297
+ "props": {
298
+ "mesh": "sphere",
299
+ "size": [1, 1, 1],
300
+ "position": [1.58, 0.03, 0.59],
301
+ "scale": [1.59, 0.57, 1.04],
302
+ "material": {
303
+ "color": "#ffffff",
304
+ "roughness": 1,
305
+ "emissive": "#ffffff",
306
+ "emissiveIntensity": 0.25
307
+ }
308
+ }
309
+ },
310
+ {
311
+ "name": "Puff5",
312
+ "type": "MeshInstance3D",
313
+ "props": {
314
+ "mesh": "sphere",
315
+ "size": [1, 1, 1],
316
+ "position": [2.75, 0.2, -0.2],
317
+ "scale": [2.16, 0.85, 1.55],
318
+ "material": {
319
+ "color": "#ffffff",
320
+ "roughness": 1,
321
+ "emissive": "#ffffff",
322
+ "emissiveIntensity": 0.25
323
+ }
324
+ }
325
+ }
326
+ ]
327
+ },
328
+ {
329
+ "name": "Cloud2",
330
+ "type": "Node3D",
331
+ "props": {
332
+ "position": [90.37, 42.03, -102.39]
333
+ },
334
+ "children": [
335
+ {
336
+ "name": "Puff1",
337
+ "type": "MeshInstance3D",
338
+ "props": {
339
+ "mesh": "sphere",
340
+ "size": [1, 1, 1],
341
+ "position": [-1.61, 0.19, -0.13],
342
+ "scale": [1.5, 0.7, 1.27],
343
+ "material": {
344
+ "color": "#ffffff",
345
+ "roughness": 1,
346
+ "emissive": "#ffffff",
347
+ "emissiveIntensity": 0.25
348
+ }
349
+ }
350
+ },
351
+ {
352
+ "name": "Puff2",
353
+ "type": "MeshInstance3D",
354
+ "props": {
355
+ "mesh": "sphere",
356
+ "size": [1, 1, 1],
357
+ "position": [-0.74, 0.19, -0.16],
358
+ "scale": [2.7, 0.93, 1.69],
359
+ "material": {
360
+ "color": "#ffffff",
361
+ "roughness": 1,
362
+ "emissive": "#ffffff",
363
+ "emissiveIntensity": 0.25
364
+ }
365
+ }
366
+ },
367
+ {
368
+ "name": "Puff3",
369
+ "type": "MeshInstance3D",
370
+ "props": {
371
+ "mesh": "sphere",
372
+ "size": [1, 1, 1],
373
+ "position": [0.73, -0.16, 0.04],
374
+ "scale": [1.52, 0.65, 1.19],
375
+ "material": {
376
+ "color": "#ffffff",
377
+ "roughness": 1,
378
+ "emissive": "#ffffff",
379
+ "emissiveIntensity": 0.25
380
+ }
381
+ }
382
+ },
383
+ {
384
+ "name": "Puff4",
385
+ "type": "MeshInstance3D",
386
+ "props": {
387
+ "mesh": "sphere",
388
+ "size": [1, 1, 1],
389
+ "position": [1.99, 0.1, -0.38],
390
+ "scale": [2.35, 0.9, 1.63],
391
+ "material": {
392
+ "color": "#ffffff",
393
+ "roughness": 1,
394
+ "emissive": "#ffffff",
395
+ "emissiveIntensity": 0.25
396
+ }
397
+ }
398
+ }
399
+ ]
400
+ },
401
+ {
402
+ "name": "Cloud3",
403
+ "type": "Node3D",
404
+ "props": {
405
+ "position": [-80.57, 38.87, 103.61]
406
+ },
407
+ "children": [
408
+ {
409
+ "name": "Puff1",
410
+ "type": "MeshInstance3D",
411
+ "props": {
412
+ "mesh": "sphere",
413
+ "size": [1, 1, 1],
414
+ "position": [-1.6, 0.24, 0.42],
415
+ "scale": [2.77, 1.04, 1.89],
416
+ "material": {
417
+ "color": "#ffffff",
418
+ "roughness": 1,
419
+ "emissive": "#ffffff",
420
+ "emissiveIntensity": 0.25
421
+ }
422
+ }
423
+ },
424
+ {
425
+ "name": "Puff2",
426
+ "type": "MeshInstance3D",
427
+ "props": {
428
+ "mesh": "sphere",
429
+ "size": [1, 1, 1],
430
+ "position": [-0.57, 0.06, 0.54],
431
+ "scale": [1.55, 0.56, 1.01],
432
+ "material": {
433
+ "color": "#ffffff",
434
+ "roughness": 1,
435
+ "emissive": "#ffffff",
436
+ "emissiveIntensity": 0.25
437
+ }
438
+ }
439
+ },
440
+ {
441
+ "name": "Puff3",
442
+ "type": "MeshInstance3D",
443
+ "props": {
444
+ "mesh": "sphere",
445
+ "size": [1, 1, 1],
446
+ "position": [0.53, 0.26, 0.22],
447
+ "scale": [3.18, 1.14, 2.08],
448
+ "material": {
449
+ "color": "#ffffff",
450
+ "roughness": 1,
451
+ "emissive": "#ffffff",
452
+ "emissiveIntensity": 0.25
453
+ }
454
+ }
455
+ },
456
+ {
457
+ "name": "Puff4",
458
+ "type": "MeshInstance3D",
459
+ "props": {
460
+ "mesh": "sphere",
461
+ "size": [1, 1, 1],
462
+ "position": [2.15, 0.27, 0.21],
463
+ "scale": [2.8, 1.16, 2.1],
464
+ "material": {
465
+ "color": "#ffffff",
466
+ "roughness": 1,
467
+ "emissive": "#ffffff",
468
+ "emissiveIntensity": 0.25
469
+ }
470
+ }
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ "name": "Cloud4",
476
+ "type": "Node3D",
477
+ "props": {
478
+ "position": [-62.49, 40.25, -67.89]
479
+ },
480
+ "children": [
481
+ {
482
+ "name": "Puff1",
483
+ "type": "MeshInstance3D",
484
+ "props": {
485
+ "mesh": "sphere",
486
+ "size": [1, 1, 1],
487
+ "position": [-2.71, 0.3, 0.14],
488
+ "scale": [2.22, 1.1, 2],
489
+ "material": {
490
+ "color": "#ffffff",
491
+ "roughness": 1,
492
+ "emissive": "#ffffff",
493
+ "emissiveIntensity": 0.25
494
+ }
495
+ }
496
+ },
497
+ {
498
+ "name": "Puff2",
499
+ "type": "MeshInstance3D",
500
+ "props": {
501
+ "mesh": "sphere",
502
+ "size": [1, 1, 1],
503
+ "position": [-1.1, -0.04, 0.36],
504
+ "scale": [2.29, 0.84, 1.53],
505
+ "material": {
506
+ "color": "#ffffff",
507
+ "roughness": 1,
508
+ "emissive": "#ffffff",
509
+ "emissiveIntensity": 0.25
510
+ }
511
+ }
512
+ },
513
+ {
514
+ "name": "Puff3",
515
+ "type": "MeshInstance3D",
516
+ "props": {
517
+ "mesh": "sphere",
518
+ "size": [1, 1, 1],
519
+ "position": [0, 0.18, 0.33],
520
+ "scale": [1.96, 0.68, 1.23],
521
+ "material": {
522
+ "color": "#ffffff",
523
+ "roughness": 1,
524
+ "emissive": "#ffffff",
525
+ "emissiveIntensity": 0.25
526
+ }
527
+ }
528
+ },
529
+ {
530
+ "name": "Puff4",
531
+ "type": "MeshInstance3D",
532
+ "props": {
533
+ "mesh": "sphere",
534
+ "size": [1, 1, 1],
535
+ "position": [1.03, 0, 0.11],
536
+ "scale": [3.25, 1.12, 2.04],
537
+ "material": {
538
+ "color": "#ffffff",
539
+ "roughness": 1,
540
+ "emissive": "#ffffff",
541
+ "emissiveIntensity": 0.25
542
+ }
543
+ }
544
+ },
545
+ {
546
+ "name": "Puff5",
547
+ "type": "MeshInstance3D",
548
+ "props": {
549
+ "mesh": "sphere",
550
+ "size": [1, 1, 1],
551
+ "position": [3.16, -0.17, 0.56],
552
+ "scale": [1.44, 0.72, 1.31],
553
+ "material": {
554
+ "color": "#ffffff",
555
+ "roughness": 1,
556
+ "emissive": "#ffffff",
557
+ "emissiveIntensity": 0.25
558
+ }
559
+ }
560
+ }
561
+ ]
562
+ },
563
+ {
564
+ "name": "Cloud5",
565
+ "type": "Node3D",
566
+ "props": {
567
+ "position": [53.64, 42.45, 30.66]
568
+ },
569
+ "children": [
570
+ {
571
+ "name": "Puff1",
572
+ "type": "MeshInstance3D",
573
+ "props": {
574
+ "mesh": "sphere",
575
+ "size": [1, 1, 1],
576
+ "position": [-2.68, 0.2, -0.26],
577
+ "scale": [2.53, 0.99, 1.8],
578
+ "material": {
579
+ "color": "#ffffff",
580
+ "roughness": 1,
581
+ "emissive": "#ffffff",
582
+ "emissiveIntensity": 0.25
583
+ }
584
+ }
585
+ },
586
+ {
587
+ "name": "Puff2",
588
+ "type": "MeshInstance3D",
589
+ "props": {
590
+ "mesh": "sphere",
591
+ "size": [1, 1, 1],
592
+ "position": [-1.45, -0.29, 0.32],
593
+ "scale": [3, 1.07, 1.95],
594
+ "material": {
595
+ "color": "#ffffff",
596
+ "roughness": 1,
597
+ "emissive": "#ffffff",
598
+ "emissiveIntensity": 0.25
599
+ }
600
+ }
601
+ },
602
+ {
603
+ "name": "Puff3",
604
+ "type": "MeshInstance3D",
605
+ "props": {
606
+ "mesh": "sphere",
607
+ "size": [1, 1, 1],
608
+ "position": [0, 0.06, 0.04],
609
+ "scale": [1.57, 0.66, 1.2],
610
+ "material": {
611
+ "color": "#ffffff",
612
+ "roughness": 1,
613
+ "emissive": "#ffffff",
614
+ "emissiveIntensity": 0.25
615
+ }
616
+ }
617
+ },
618
+ {
619
+ "name": "Puff4",
620
+ "type": "MeshInstance3D",
621
+ "props": {
622
+ "mesh": "sphere",
623
+ "size": [1, 1, 1],
624
+ "position": [1.39, 0.03, 0.3],
625
+ "scale": [2.02, 0.88, 1.6],
626
+ "material": {
627
+ "color": "#ffffff",
628
+ "roughness": 1,
629
+ "emissive": "#ffffff",
630
+ "emissiveIntensity": 0.25
631
+ }
632
+ }
633
+ },
634
+ {
635
+ "name": "Puff5",
636
+ "type": "MeshInstance3D",
637
+ "props": {
638
+ "mesh": "sphere",
639
+ "size": [1, 1, 1],
640
+ "position": [3.03, 0.05, 0.44],
641
+ "scale": [2.46, 1.03, 1.87],
642
+ "material": {
643
+ "color": "#ffffff",
644
+ "roughness": 1,
645
+ "emissive": "#ffffff",
646
+ "emissiveIntensity": 0.25
647
+ }
648
+ }
649
+ }
650
+ ]
651
+ },
652
+ {
653
+ "name": "Cloud6",
654
+ "type": "Node3D",
655
+ "props": {
656
+ "position": [-28.53, 42.22, 34.77]
657
+ },
658
+ "children": [
659
+ {
660
+ "name": "Puff1",
661
+ "type": "MeshInstance3D",
662
+ "props": {
663
+ "mesh": "sphere",
664
+ "size": [1, 1, 1],
665
+ "position": [-2.01, 0.05, 0.57],
666
+ "scale": [1.43, 0.63, 1.15],
667
+ "material": {
668
+ "color": "#ffffff",
669
+ "roughness": 1,
670
+ "emissive": "#ffffff",
671
+ "emissiveIntensity": 0.25
672
+ }
673
+ }
674
+ },
675
+ {
676
+ "name": "Puff2",
677
+ "type": "MeshInstance3D",
678
+ "props": {
679
+ "mesh": "sphere",
680
+ "size": [1, 1, 1],
681
+ "position": [-1.17, 0.15, -0.5],
682
+ "scale": [1.17, 0.56, 1.01],
683
+ "material": {
684
+ "color": "#ffffff",
685
+ "roughness": 1,
686
+ "emissive": "#ffffff",
687
+ "emissiveIntensity": 0.25
688
+ }
689
+ }
690
+ },
691
+ {
692
+ "name": "Puff3",
693
+ "type": "MeshInstance3D",
694
+ "props": {
695
+ "mesh": "sphere",
696
+ "size": [1, 1, 1],
697
+ "position": [0, 0.26, -0.55],
698
+ "scale": [2.33, 1.16, 2.1],
699
+ "material": {
700
+ "color": "#ffffff",
701
+ "roughness": 1,
702
+ "emissive": "#ffffff",
703
+ "emissiveIntensity": 0.25
704
+ }
705
+ }
706
+ },
707
+ {
708
+ "name": "Puff4",
709
+ "type": "MeshInstance3D",
710
+ "props": {
711
+ "mesh": "sphere",
712
+ "size": [1, 1, 1],
713
+ "position": [1.5, 0.07, -0.02],
714
+ "scale": [1.72, 0.81, 1.48],
715
+ "material": {
716
+ "color": "#ffffff",
717
+ "roughness": 1,
718
+ "emissive": "#ffffff",
719
+ "emissiveIntensity": 0.25
720
+ }
721
+ }
722
+ },
723
+ {
724
+ "name": "Puff5",
725
+ "type": "MeshInstance3D",
726
+ "props": {
727
+ "mesh": "sphere",
728
+ "size": [1, 1, 1],
729
+ "position": [2.23, -0.09, 0.09],
730
+ "scale": [2.15, 0.91, 1.65],
731
+ "material": {
732
+ "color": "#ffffff",
733
+ "roughness": 1,
734
+ "emissive": "#ffffff",
735
+ "emissiveIntensity": 0.25
736
+ }
737
+ }
738
+ }
739
+ ]
740
+ }
741
+ ]
742
+ },
743
+ {
744
+ "name": "Sun",
745
+ "type": "DirectionalLight3D",
746
+ "props": {
747
+ "position": [192, 360, 144],
748
+ "intensity": 1.7,
749
+ "castShadow": true,
750
+ "shadowArea": 288,
751
+ "color": "#fff4d6",
752
+ "static": true
753
+ }
754
+ },
755
+ {
756
+ "name": "FillLight",
757
+ "type": "DirectionalLight3D",
758
+ "props": {
759
+ "position": [-192, 192, -144],
760
+ "intensity": 0.4,
761
+ "color": "#b9d4ff",
762
+ "static": true
763
+ }
764
+ }
765
+ ]
766
+ },
767
+ {
768
+ "name": "Dressing",
769
+ "type": "Node3D",
770
+ "props": {
771
+ "static": true
772
+ },
773
+ "children": [
774
+ {
775
+ "name": "Grove1",
776
+ "type": "Tree3D",
777
+ "props": {
778
+ "type": "conifer",
779
+ "seed": 996154656,
780
+ "height": 6.696541063416875,
781
+ "position": [-78.36, 21.57, -3.17],
782
+ "count": 7,
783
+ "area": [14, 14],
784
+ "canopyColor": "#86a346",
785
+ "trunkColor": "#a39c8e",
786
+ "leafFadeStart": 160,
787
+ "leafFadeEnd": 420
788
+ }
789
+ },
790
+ {
791
+ "name": "Grove2",
792
+ "type": "Tree3D",
793
+ "props": {
794
+ "type": "conifer",
795
+ "seed": 357505381,
796
+ "height": 7.641666956162468,
797
+ "position": [-50.07, 18.23, 19.13],
798
+ "count": 7,
799
+ "area": [14, 14],
800
+ "canopyColor": "#4a7c3f",
801
+ "trunkColor": "#a39c8e",
802
+ "leafFadeStart": 160,
803
+ "leafFadeEnd": 420
804
+ }
805
+ },
806
+ {
807
+ "name": "Grove3",
808
+ "type": "Tree3D",
809
+ "props": {
810
+ "type": "broadleaf",
811
+ "seed": 961184095,
812
+ "height": 5.57485830610964,
813
+ "position": [-72.85, 21.61, 49.29],
814
+ "count": 7,
815
+ "area": [14, 14],
816
+ "canopyColor": "#b8862f",
817
+ "trunkColor": "#7a5a3a",
818
+ "leafFadeStart": 160,
819
+ "leafFadeEnd": 420
820
+ }
821
+ },
822
+ {
823
+ "name": "Grove4",
824
+ "type": "Tree3D",
825
+ "props": {
826
+ "type": "broadleaf",
827
+ "seed": 46928878,
828
+ "height": 6.582199774818076,
829
+ "position": [33.24, 12.98, -1.04],
830
+ "count": 7,
831
+ "area": [14, 14],
832
+ "canopyColor": "#b8862f",
833
+ "trunkColor": "#806044",
834
+ "leafFadeStart": 160,
835
+ "leafFadeEnd": 420
836
+ }
837
+ },
838
+ {
839
+ "name": "Grove5",
840
+ "type": "Tree3D",
841
+ "props": {
842
+ "type": "conifer",
843
+ "seed": 633592312,
844
+ "height": 6.437556267585037,
845
+ "position": [-45.22, 11.58, -93.14],
846
+ "count": 7,
847
+ "area": [14, 14],
848
+ "canopyColor": "#56883c",
849
+ "trunkColor": "#a39c8e",
850
+ "leafFadeStart": 160,
851
+ "leafFadeEnd": 420
852
+ }
853
+ },
854
+ {
855
+ "name": "Grove6",
856
+ "type": "Tree3D",
857
+ "props": {
858
+ "type": "conifer",
859
+ "seed": 365775923,
860
+ "height": 6.214120347568327,
861
+ "position": [-76.3, 21.75, 35.88],
862
+ "count": 7,
863
+ "area": [14, 14],
864
+ "canopyColor": "#2c5740",
865
+ "trunkColor": "#7a5a3a",
866
+ "leafFadeStart": 160,
867
+ "leafFadeEnd": 420
868
+ }
869
+ },
870
+ {
871
+ "name": "Grove7",
872
+ "type": "Tree3D",
873
+ "props": {
874
+ "type": "broadleaf",
875
+ "seed": 558958830,
876
+ "height": 5.550441294105361,
877
+ "position": [35.37, 13.02, 9.35],
878
+ "count": 7,
879
+ "area": [14, 14],
880
+ "canopyColor": "#4a7c3f",
881
+ "trunkColor": "#a39c8e",
882
+ "leafFadeStart": 160,
883
+ "leafFadeEnd": 420
884
+ }
885
+ },
886
+ {
887
+ "name": "Grove8",
888
+ "type": "Tree3D",
889
+ "props": {
890
+ "type": "conifer",
891
+ "seed": 707640274,
892
+ "height": 5.489254561133975,
893
+ "position": [31.77, 13.09, -15.27],
894
+ "count": 7,
895
+ "area": [14, 14],
896
+ "canopyColor": "#4a7c3f",
897
+ "trunkColor": "#5f4530",
898
+ "leafFadeStart": 160,
899
+ "leafFadeEnd": 420
900
+ }
901
+ },
902
+ {
903
+ "name": "Grove9",
904
+ "type": "Tree3D",
905
+ "props": {
906
+ "type": "conifer",
907
+ "seed": 698619637,
908
+ "height": 5.264061087338268,
909
+ "position": [-39.53, 14.56, -49.17],
910
+ "count": 7,
911
+ "area": [14, 14],
912
+ "canopyColor": "#56883c",
913
+ "trunkColor": "#a39c8e",
914
+ "leafFadeStart": 160,
915
+ "leafFadeEnd": 420
916
+ }
917
+ },
918
+ {
919
+ "name": "Grove10",
920
+ "type": "Tree3D",
921
+ "props": {
922
+ "type": "conifer",
923
+ "seed": 461486133,
924
+ "height": 6.32620329510565,
925
+ "position": [10.63, 16.79, 67.1],
926
+ "count": 7,
927
+ "area": [14, 14],
928
+ "canopyColor": "#4a7c3f",
929
+ "trunkColor": "#7a5a3a",
930
+ "leafFadeStart": 160,
931
+ "leafFadeEnd": 420
932
+ }
933
+ },
934
+ {
935
+ "name": "Grove11",
936
+ "type": "Tree3D",
937
+ "props": {
938
+ "type": "broadleaf",
939
+ "seed": 259170899,
940
+ "height": 7.0321777085848565,
941
+ "position": [-26.11, 12.96, -63.63],
942
+ "count": 7,
943
+ "area": [14, 14],
944
+ "canopyColor": "#4a7c3f",
945
+ "trunkColor": "#5f4530",
946
+ "leafFadeStart": 160,
947
+ "leafFadeEnd": 420
948
+ }
949
+ },
950
+ {
951
+ "name": "Grove12",
952
+ "type": "Tree3D",
953
+ "props": {
954
+ "type": "broadleaf",
955
+ "seed": 550505838,
956
+ "height": 7.897651722165209,
957
+ "position": [86.2, 13.82, 57.1],
958
+ "count": 7,
959
+ "area": [14, 14],
960
+ "canopyColor": "#4a7c3f",
961
+ "trunkColor": "#7a5a3a",
962
+ "leafFadeStart": 160,
963
+ "leafFadeEnd": 420
964
+ }
965
+ },
966
+ {
967
+ "name": "Grove13",
968
+ "type": "Tree3D",
969
+ "props": {
970
+ "type": "conifer",
971
+ "seed": 270863015,
972
+ "height": 6.492842540958161,
973
+ "position": [-39.31, 19.04, 56.73],
974
+ "count": 7,
975
+ "area": [14, 14],
976
+ "canopyColor": "#b8862f",
977
+ "trunkColor": "#5f4530",
978
+ "leafFadeStart": 160,
979
+ "leafFadeEnd": 420
980
+ }
981
+ },
982
+ {
983
+ "name": "Grove14",
984
+ "type": "Tree3D",
985
+ "props": {
986
+ "type": "conifer",
987
+ "seed": 407977278,
988
+ "height": 6.845912222481778,
989
+ "position": [-34.38, 18.76, 60.02],
990
+ "count": 7,
991
+ "area": [14, 14],
992
+ "canopyColor": "#56883c",
993
+ "trunkColor": "#a39c8e",
994
+ "leafFadeStart": 160,
995
+ "leafFadeEnd": 420
996
+ }
997
+ },
998
+ {
999
+ "name": "Grove15",
1000
+ "type": "Tree3D",
1001
+ "props": {
1002
+ "type": "broadleaf",
1003
+ "seed": 426783519,
1004
+ "height": 5.219586386396453,
1005
+ "position": [-33.14, 16.71, -17.79],
1006
+ "count": 7,
1007
+ "area": [14, 14],
1008
+ "canopyColor": "#86a346",
1009
+ "trunkColor": "#a39c8e",
1010
+ "leafFadeStart": 160,
1011
+ "leafFadeEnd": 420
1012
+ }
1013
+ },
1014
+ {
1015
+ "name": "Grove16",
1016
+ "type": "Tree3D",
1017
+ "props": {
1018
+ "type": "conifer",
1019
+ "seed": 63961802,
1020
+ "height": 5.766203415525659,
1021
+ "position": [-52.46, 20.86, 89.12],
1022
+ "count": 7,
1023
+ "area": [14, 14],
1024
+ "canopyColor": "#86a346",
1025
+ "trunkColor": "#806044",
1026
+ "leafFadeStart": 160,
1027
+ "leafFadeEnd": 420
1028
+ }
1029
+ },
1030
+ {
1031
+ "name": "Grove17",
1032
+ "type": "Tree3D",
1033
+ "props": {
1034
+ "type": "broadleaf",
1035
+ "seed": 973459530,
1036
+ "height": 7.882665852290268,
1037
+ "position": [-88, 25.67, 90.11],
1038
+ "count": 7,
1039
+ "area": [14, 14],
1040
+ "canopyColor": "#56883c",
1041
+ "trunkColor": "#806044",
1042
+ "leafFadeStart": 160,
1043
+ "leafFadeEnd": 420
1044
+ }
1045
+ },
1046
+ {
1047
+ "name": "Grove18",
1048
+ "type": "Tree3D",
1049
+ "props": {
1050
+ "type": "conifer",
1051
+ "seed": 498700192,
1052
+ "height": 5.520459832046288,
1053
+ "position": [-0.51, 14.63, -16.44],
1054
+ "count": 7,
1055
+ "area": [14, 14],
1056
+ "canopyColor": "#4a7c3f",
1057
+ "trunkColor": "#7a5a3a",
1058
+ "leafFadeStart": 160,
1059
+ "leafFadeEnd": 420
1060
+ }
1061
+ },
1062
+ {
1063
+ "name": "Grove19",
1064
+ "type": "Tree3D",
1065
+ "props": {
1066
+ "type": "conifer",
1067
+ "seed": 625088266,
1068
+ "height": 5.85006726320136,
1069
+ "position": [1.69, 16.73, 42.83],
1070
+ "count": 7,
1071
+ "area": [14, 14],
1072
+ "canopyColor": "#86a346",
1073
+ "trunkColor": "#a39c8e",
1074
+ "leafFadeStart": 160,
1075
+ "leafFadeEnd": 420
1076
+ }
1077
+ },
1078
+ {
1079
+ "name": "Grove20",
1080
+ "type": "Tree3D",
1081
+ "props": {
1082
+ "type": "broadleaf",
1083
+ "seed": 900773713,
1084
+ "height": 6.8039215334700245,
1085
+ "position": [-38.35, 19.04, 73.36],
1086
+ "count": 7,
1087
+ "area": [14, 14],
1088
+ "canopyColor": "#4a7c3f",
1089
+ "trunkColor": "#7a5a3a",
1090
+ "leafFadeStart": 160,
1091
+ "leafFadeEnd": 420
1092
+ }
1093
+ },
1094
+ {
1095
+ "name": "Grove21",
1096
+ "type": "Tree3D",
1097
+ "props": {
1098
+ "type": "broadleaf",
1099
+ "seed": 426312146,
1100
+ "height": 6.382715192014052,
1101
+ "position": [35.24, 14.67, 42.11],
1102
+ "count": 7,
1103
+ "area": [14, 14],
1104
+ "canopyColor": "#56883c",
1105
+ "trunkColor": "#7a5a3a",
1106
+ "leafFadeStart": 160,
1107
+ "leafFadeEnd": 420
1108
+ }
1109
+ },
1110
+ {
1111
+ "name": "Grove22",
1112
+ "type": "Tree3D",
1113
+ "props": {
1114
+ "type": "broadleaf",
1115
+ "seed": 798929443,
1116
+ "height": 5.802118046163143,
1117
+ "position": [-15.92, 17.27, 35.97],
1118
+ "count": 7,
1119
+ "area": [14, 14],
1120
+ "canopyColor": "#2c5740",
1121
+ "trunkColor": "#7a5a3a",
1122
+ "leafFadeStart": 160,
1123
+ "leafFadeEnd": 420
1124
+ }
1125
+ },
1126
+ {
1127
+ "name": "Grass1",
1128
+ "type": "Foliage3D",
1129
+ "props": {
1130
+ "kind": "grass",
1131
+ "style": "mesh",
1132
+ "position": [83.83, 13.64, 53.8],
1133
+ "area": [34, 34],
1134
+ "density": 10,
1135
+ "terrain": "../../Ground/Surface"
1136
+ }
1137
+ },
1138
+ {
1139
+ "name": "Grass2",
1140
+ "type": "Foliage3D",
1141
+ "props": {
1142
+ "kind": "grass",
1143
+ "style": "mesh",
1144
+ "position": [48.69, 13.7, 42.89],
1145
+ "area": [34, 34],
1146
+ "density": 10,
1147
+ "terrain": "../../Ground/Surface"
1148
+ }
1149
+ },
1150
+ {
1151
+ "name": "Grass3",
1152
+ "type": "Foliage3D",
1153
+ "props": {
1154
+ "kind": "grass",
1155
+ "style": "mesh",
1156
+ "position": [-37.46, 18.04, 29.71],
1157
+ "area": [34, 34],
1158
+ "density": 10,
1159
+ "terrain": "../../Ground/Surface"
1160
+ }
1161
+ },
1162
+ {
1163
+ "name": "Grass4",
1164
+ "type": "Foliage3D",
1165
+ "props": {
1166
+ "kind": "grass",
1167
+ "style": "mesh",
1168
+ "position": [57.21, 16.3, 86.45],
1169
+ "area": [34, 34],
1170
+ "density": 10,
1171
+ "terrain": "../../Ground/Surface"
1172
+ }
1173
+ },
1174
+ {
1175
+ "name": "Grass5",
1176
+ "type": "Foliage3D",
1177
+ "props": {
1178
+ "kind": "grass",
1179
+ "style": "mesh",
1180
+ "position": [-67.62, 16.83, -54.03],
1181
+ "area": [34, 34],
1182
+ "density": 10,
1183
+ "terrain": "../../Ground/Surface"
1184
+ }
1185
+ },
1186
+ {
1187
+ "name": "Grass6",
1188
+ "type": "Foliage3D",
1189
+ "props": {
1190
+ "kind": "grass",
1191
+ "style": "mesh",
1192
+ "position": [0.75, 16.94, 89.68],
1193
+ "area": [34, 34],
1194
+ "density": 10,
1195
+ "terrain": "../../Ground/Surface"
1196
+ }
1197
+ },
1198
+ {
1199
+ "name": "Grass7",
1200
+ "type": "Foliage3D",
1201
+ "props": {
1202
+ "kind": "grass",
1203
+ "style": "mesh",
1204
+ "position": [85.64, 12.48, -28.21],
1205
+ "area": [34, 34],
1206
+ "density": 10,
1207
+ "terrain": "../../Ground/Surface"
1208
+ }
1209
+ },
1210
+ {
1211
+ "name": "Grass8",
1212
+ "type": "Foliage3D",
1213
+ "props": {
1214
+ "kind": "grass",
1215
+ "style": "mesh",
1216
+ "position": [58.99, 12.3, -5.25],
1217
+ "area": [34, 34],
1218
+ "density": 10,
1219
+ "terrain": "../../Ground/Surface"
1220
+ }
1221
+ },
1222
+ {
1223
+ "name": "Grass9",
1224
+ "type": "Foliage3D",
1225
+ "props": {
1226
+ "kind": "grass",
1227
+ "style": "mesh",
1228
+ "position": [75.79, 11.98, -31.54],
1229
+ "area": [34, 34],
1230
+ "density": 10,
1231
+ "terrain": "../../Ground/Surface"
1232
+ }
1233
+ },
1234
+ {
1235
+ "name": "Grass10",
1236
+ "type": "Foliage3D",
1237
+ "props": {
1238
+ "kind": "grass",
1239
+ "style": "mesh",
1240
+ "position": [28.8, 16.05, 70.6],
1241
+ "area": [34, 34],
1242
+ "density": 10,
1243
+ "terrain": "../../Ground/Surface"
1244
+ }
1245
+ },
1246
+ {
1247
+ "name": "Grass11",
1248
+ "type": "Foliage3D",
1249
+ "props": {
1250
+ "kind": "grass",
1251
+ "style": "mesh",
1252
+ "position": [-74.91, 19.52, -21.04],
1253
+ "area": [34, 34],
1254
+ "density": 10,
1255
+ "terrain": "../../Ground/Surface"
1256
+ }
1257
+ },
1258
+ {
1259
+ "name": "Grass12",
1260
+ "type": "Foliage3D",
1261
+ "props": {
1262
+ "kind": "grass",
1263
+ "style": "mesh",
1264
+ "position": [5.38, 16.51, 37.28],
1265
+ "area": [34, 34],
1266
+ "density": 10,
1267
+ "terrain": "../../Ground/Surface"
1268
+ }
1269
+ },
1270
+ {
1271
+ "name": "Grass13",
1272
+ "type": "Foliage3D",
1273
+ "props": {
1274
+ "kind": "grass",
1275
+ "style": "mesh",
1276
+ "position": [-9.71, 15.43, -10.63],
1277
+ "area": [34, 34],
1278
+ "density": 10,
1279
+ "terrain": "../../Ground/Surface"
1280
+ }
1281
+ },
1282
+ {
1283
+ "name": "Grass14",
1284
+ "type": "Foliage3D",
1285
+ "props": {
1286
+ "kind": "grass",
1287
+ "style": "mesh",
1288
+ "position": [-61.97, 20.04, 41.88],
1289
+ "area": [34, 34],
1290
+ "density": 10,
1291
+ "terrain": "../../Ground/Surface"
1292
+ }
1293
+ },
1294
+ {
1295
+ "name": "Flowers1",
1296
+ "type": "Flowers3D",
1297
+ "props": {
1298
+ "position": [33.23, 14.62, 36.95],
1299
+ "area": [12, 12],
1300
+ "seed": 357653252,
1301
+ "terrain": "../../Ground/Surface"
1302
+ }
1303
+ },
1304
+ {
1305
+ "name": "Flowers2",
1306
+ "type": "Flowers3D",
1307
+ "props": {
1308
+ "position": [-82.3, 19.31, -38.23],
1309
+ "area": [12, 12],
1310
+ "seed": 398696966,
1311
+ "terrain": "../../Ground/Surface"
1312
+ }
1313
+ },
1314
+ {
1315
+ "name": "Flowers3",
1316
+ "type": "Flowers3D",
1317
+ "props": {
1318
+ "position": [-33.36, 18.6, 50.95],
1319
+ "area": [12, 12],
1320
+ "seed": 400708434,
1321
+ "terrain": "../../Ground/Surface"
1322
+ }
1323
+ },
1324
+ {
1325
+ "name": "Flowers4",
1326
+ "type": "Flowers3D",
1327
+ "props": {
1328
+ "position": [-9.78, 17.14, 45.89],
1329
+ "area": [12, 12],
1330
+ "seed": 575315232,
1331
+ "terrain": "../../Ground/Surface"
1332
+ }
1333
+ },
1334
+ {
1335
+ "name": "Flowers5",
1336
+ "type": "Flowers3D",
1337
+ "props": {
1338
+ "position": [55.02, 13.26, 39.6],
1339
+ "area": [12, 12],
1340
+ "seed": 73428741,
1341
+ "terrain": "../../Ground/Surface"
1342
+ }
1343
+ },
1344
+ {
1345
+ "name": "Flowers6",
1346
+ "type": "Flowers3D",
1347
+ "props": {
1348
+ "position": [-49.05, 16.91, -30.14],
1349
+ "area": [12, 12],
1350
+ "seed": 258165764,
1351
+ "terrain": "../../Ground/Surface"
1352
+ }
1353
+ },
1354
+ {
1355
+ "name": "Flowers7",
1356
+ "type": "Flowers3D",
1357
+ "props": {
1358
+ "position": [17.86, 16.44, 76.99],
1359
+ "area": [12, 12],
1360
+ "seed": 22178236,
1361
+ "terrain": "../../Ground/Surface"
1362
+ }
1363
+ },
1364
+ {
1365
+ "name": "Flowers8",
1366
+ "type": "Flowers3D",
1367
+ "props": {
1368
+ "position": [-5.95, 13.7, -35.97],
1369
+ "area": [12, 12],
1370
+ "seed": 359604670,
1371
+ "terrain": "../../Ground/Surface"
1372
+ }
1373
+ },
1374
+ {
1375
+ "name": "Flowers9",
1376
+ "type": "Flowers3D",
1377
+ "props": {
1378
+ "position": [-51.11, 18.29, -4.34],
1379
+ "area": [12, 12],
1380
+ "seed": 723951523,
1381
+ "terrain": "../../Ground/Surface"
1382
+ }
1383
+ },
1384
+ {
1385
+ "name": "ShoreRocks",
1386
+ "type": "InstancedMesh3D",
1387
+ "props": {
1388
+ "mesh": "gem",
1389
+ "size": [0.6, 0.45, 0.6],
1390
+ "material": {
1391
+ "color": "#7e8590",
1392
+ "roughness": 0.95,
1393
+ "flatShading": true
1394
+ },
1395
+ "transforms": [
1396
+ [65.87, 9.27, -76.93, 166, 0.53],
1397
+ [101.47, 9.37, -83.3, 302, 1.6],
1398
+ [76.91, 9.7, -72.39, 85, 0.6],
1399
+ [44.4, 9.72, -68.56, 9, 0.65],
1400
+ [-12.82, 9.3, -101.57, 53, 0.88],
1401
+ [44.62, 9.54, -74.72, 332, 0.9],
1402
+ [58, 9.32, -73.07, 116, 1.26],
1403
+ [-88.35, 9.35, -111.06, 138, 0.81],
1404
+ [21.68, 10.03, -84.99, 78, 0.99],
1405
+ [-10.68, 9.62, -98.65, 293, 0.69],
1406
+ [1.69, 9.46, -100.2, 31, 0.8],
1407
+ [-14.77, 9.68, -98.01, 125, 0.64],
1408
+ [53.06, 9.23, -79.81, 120, 1],
1409
+ [3.15, 9.57, -98.98, 302, 0.71],
1410
+ [46.79, 9.35, -80.32, 332, 0.51],
1411
+ [-27.05, 9.96, -97.3, 219, 1.41],
1412
+ [41.91, 9.83, -68.51, 29, 0.72],
1413
+ [-5.36, 9.48, -100.07, 119, 1.51],
1414
+ [70.09, 9.96, -61.31, 195, 1.28],
1415
+ [29.06, 9.49, -89.12, 291, 1.02],
1416
+ [72.03, 9.72, -68.56, 17, 0.84],
1417
+ [76.59, 9.5, -76.24, 2, 1.46],
1418
+ [77.61, 10.11, -63.76, 102, 0.97],
1419
+ [88.88, 9.97, -71.71, 144, 1.27],
1420
+ [22.81, 10.1, -82.71, 44, 0.69],
1421
+ [-53.97, 9.68, -106.43, 172, 1.14],
1422
+ [31.22, 9.91, -78.35, 234, 0.82],
1423
+ [77.29, 9.35, -79.67, 37, 1.15],
1424
+ [15.4, 9.5, -96.98, 235, 0.82],
1425
+ [53.77, 10.11, -51.89, 150, 0.74],
1426
+ [82.2, 9.41, -80.35, 241, 0.59],
1427
+ [-83.75, 9.8, -109.91, 197, 0.76],
1428
+ [111.75, 9.57, -18.26, 259, 1.34],
1429
+ [83.12, 9.62, 113.87, 152, 1.19],
1430
+ [-35.65, 9.4, -103.97, 223, 1.44],
1431
+ [11.58, 9.85, -93.83, 88, 0.71],
1432
+ [25.71, 9.2, -96.34, 353, 1.2],
1433
+ [-62.69, 9.26, -108.36, 22, 1.54],
1434
+ [-4.49, 9.44, -100.45, 156, 1.11],
1435
+ [-20.78, 9.26, -102.31, 346, 1.25],
1436
+ [34.63, 9.68, -80.6, 154, 0.99],
1437
+ [-103.24, 9.43, -112.69, 253, 1.1],
1438
+ [3.1, 9.97, -94.51, 198, 1.05],
1439
+ [100.5, 9.94, -72.96, 156, 1.1],
1440
+ [34.58, 10.11, -70.23, 358, 0.84],
1441
+ [112.12, 9.53, -5.23, 346, 1.12],
1442
+ [81.07, 9.39, -80.26, 32, 0.57],
1443
+ [41.15, 10.02, 114.74, 333, 1.12],
1444
+ [7.6, 9.69, -96.94, 14, 0.67],
1445
+ [50.43, 9.69, -62.51, 206, 1.06]
1446
+ ],
1447
+ "castShadow": true,
1448
+ "receiveShadow": true
1449
+ }
1450
+ }
1451
+ ]
1452
+ },
1453
+ {
1454
+ "name": "Lighthouse",
1455
+ "type": "Node3D",
1456
+ "props": {
1457
+ "position": [-21.5, 18, 57.5],
1458
+ "static": true
1459
+ },
1460
+ "children": [
1461
+ {
1462
+ "name": "Tower",
1463
+ "type": "StaticBody3D",
1464
+ "props": {
1465
+ "collider": {
1466
+ "shape": "box",
1467
+ "size": [3, 11, 3]
1468
+ },
1469
+ "position": [0, 5.5, 0]
1470
+ },
1471
+ "children": [
1472
+ {
1473
+ "name": "Shaft",
1474
+ "type": "MeshInstance3D",
1475
+ "props": {
1476
+ "mesh": "cylinder",
1477
+ "size": [3, 11, 3],
1478
+ "material": {
1479
+ "color": "#e8e2d4",
1480
+ "roughness": 0.8
1481
+ },
1482
+ "castShadow": true,
1483
+ "receiveShadow": true
1484
+ }
1485
+ },
1486
+ {
1487
+ "name": "Band",
1488
+ "type": "MeshInstance3D",
1489
+ "props": {
1490
+ "mesh": "cylinder",
1491
+ "size": [3.06, 1.6, 3.06],
1492
+ "position": [0, 1.2, 0],
1493
+ "material": {
1494
+ "color": "#b8452e",
1495
+ "roughness": 0.8
1496
+ }
1497
+ }
1498
+ }
1499
+ ]
1500
+ },
1501
+ {
1502
+ "name": "Lamp",
1503
+ "type": "MeshInstance3D",
1504
+ "props": {
1505
+ "mesh": "gem",
1506
+ "size": [0.9, 1.4, 0.9],
1507
+ "position": [0, 11.6, 0],
1508
+ "material": {
1509
+ "color": "#fff2c4",
1510
+ "emissive": "#ffd982",
1511
+ "emissiveIntensity": 2.2
1512
+ }
1513
+ }
1514
+ },
1515
+ {
1516
+ "name": "LampLight",
1517
+ "type": "OmniLight3D",
1518
+ "props": {
1519
+ "position": [0, 11.6, 0],
1520
+ "color": "#ffd982",
1521
+ "intensity": 2.2,
1522
+ "range": 40
1523
+ }
1524
+ }
1525
+ ]
1526
+ },
1527
+ {
1528
+ "name": "Keeper",
1529
+ "type": "Node3D",
1530
+ "props": {
1531
+ "position": [-16.5, 17.85, 61.5]
1532
+ },
1533
+ "script": {
1534
+ "name": "Interactable",
1535
+ "props": {
1536
+ "action": "interact",
1537
+ "range": 3
1538
+ }
1539
+ },
1540
+ "children": [
1541
+ {
1542
+ "name": "Body",
1543
+ "type": "ModelInstance3D",
1544
+ "props": {
1545
+ "model": "$characters/base",
1546
+ "targetHeight": 1.68,
1547
+ "animation": "$anims/idle",
1548
+ "tint": "#d8b46a",
1549
+ "castShadow": true
1550
+ }
1551
+ },
1552
+ {
1553
+ "name": "Marker",
1554
+ "type": "Billboard3D",
1555
+ "props": {
1556
+ "position": [0, 2.2, 0],
1557
+ "mode": "y"
1558
+ },
1559
+ "children": [
1560
+ {
1561
+ "name": "Bang",
1562
+ "type": "MeshInstance3D",
1563
+ "props": {
1564
+ "mesh": "box",
1565
+ "size": [0.13, 0.46, 0.13],
1566
+ "material": {
1567
+ "color": "#ffd166",
1568
+ "emissive": "#ffd166",
1569
+ "emissiveIntensity": 1.8
1570
+ }
1571
+ }
1572
+ }
1573
+ ]
1574
+ },
1575
+ {
1576
+ "name": "HeadTrack",
1577
+ "type": "BoneLookAt3D",
1578
+ "props": {
1579
+ "target": "../Body",
1580
+ "bone": "Head",
1581
+ "lookAt": "../../Player",
1582
+ "maxAngleDeg": 80
1583
+ }
1584
+ },
1585
+ {
1586
+ "name": "TalkSfx",
1587
+ "type": "AudioPlayer",
1588
+ "props": {
1589
+ "preset": "blip",
1590
+ "volume": 0.5,
1591
+ "pitch": 0.9
1592
+ }
1593
+ },
1594
+ {
1595
+ "name": "AcceptSfx",
1596
+ "type": "AudioPlayer",
1597
+ "props": {
1598
+ "preset": "coin",
1599
+ "volume": 0.5
1600
+ }
1601
+ }
1602
+ ]
1603
+ },
1604
+ {
1605
+ "name": "Ward1",
1606
+ "type": "Node3D",
1607
+ "groups": ["ward"],
1608
+ "props": {
1609
+ "position": [-61.5, 17.27, -37.5]
1610
+ },
1611
+ "children": [
1612
+ {
1613
+ "name": "Plinth",
1614
+ "type": "StaticBody3D",
1615
+ "props": {
1616
+ "collider": {
1617
+ "shape": "box",
1618
+ "size": [1.6, 1.2, 1.6]
1619
+ },
1620
+ "position": [0, 0.6, 0]
1621
+ },
1622
+ "children": [
1623
+ {
1624
+ "name": "Stone",
1625
+ "type": "MeshInstance3D",
1626
+ "props": {
1627
+ "mesh": "cylinder",
1628
+ "size": [1.6, 1.2, 1.6],
1629
+ "material": {
1630
+ "color": "#7d8494",
1631
+ "roughness": 0.9
1632
+ },
1633
+ "castShadow": true,
1634
+ "receiveShadow": true
1635
+ }
1636
+ }
1637
+ ]
1638
+ },
1639
+ {
1640
+ "name": "Crystal",
1641
+ "type": "MeshInstance3D",
1642
+ "props": {
1643
+ "mesh": "gem",
1644
+ "size": [0.55, 1.1, 0.55],
1645
+ "position": [0, 1.75, 0],
1646
+ "material": {
1647
+ "color": "#243044",
1648
+ "emissive": "#66ddff",
1649
+ "emissiveIntensity": 0,
1650
+ "roughness": 0.2
1651
+ },
1652
+ "castShadow": true
1653
+ }
1654
+ },
1655
+ {
1656
+ "name": "Glow",
1657
+ "type": "OmniLight3D",
1658
+ "props": {
1659
+ "position": [0, 2, 0],
1660
+ "color": "#7fe3ff",
1661
+ "intensity": 0,
1662
+ "range": 16
1663
+ }
1664
+ },
1665
+ {
1666
+ "name": "LitFx",
1667
+ "type": "Particles3D",
1668
+ "props": {
1669
+ "position": [0, 2, 0],
1670
+ "preset": "magic",
1671
+ "rate": 0,
1672
+ "burst": 40,
1673
+ "blend": "add",
1674
+ "sizeStart": 80,
1675
+ "sizeEnd": 16,
1676
+ "renderOrder": 100
1677
+ }
1678
+ },
1679
+ {
1680
+ "name": "ChimeSfx",
1681
+ "type": "AudioPlayer",
1682
+ "props": {
1683
+ "preset": "powerup",
1684
+ "volume": 0.7,
1685
+ "spatial": true,
1686
+ "refDistance": 6,
1687
+ "maxDistance": 60
1688
+ }
1689
+ }
1690
+ ]
1691
+ },
1692
+ {
1693
+ "name": "Ward2",
1694
+ "type": "Node3D",
1695
+ "groups": ["ward"],
1696
+ "props": {
1697
+ "position": [58.5, 10.2, -52.5]
1698
+ },
1699
+ "children": [
1700
+ {
1701
+ "name": "Plinth",
1702
+ "type": "StaticBody3D",
1703
+ "props": {
1704
+ "collider": {
1705
+ "shape": "box",
1706
+ "size": [1.6, 1.2, 1.6]
1707
+ },
1708
+ "position": [0, 0.6, 0]
1709
+ },
1710
+ "children": [
1711
+ {
1712
+ "name": "Stone",
1713
+ "type": "MeshInstance3D",
1714
+ "props": {
1715
+ "mesh": "cylinder",
1716
+ "size": [1.6, 1.2, 1.6],
1717
+ "material": {
1718
+ "color": "#7d8494",
1719
+ "roughness": 0.9
1720
+ },
1721
+ "castShadow": true,
1722
+ "receiveShadow": true
1723
+ }
1724
+ }
1725
+ ]
1726
+ },
1727
+ {
1728
+ "name": "Crystal",
1729
+ "type": "MeshInstance3D",
1730
+ "props": {
1731
+ "mesh": "gem",
1732
+ "size": [0.55, 1.1, 0.55],
1733
+ "position": [0, 1.75, 0],
1734
+ "material": {
1735
+ "color": "#243044",
1736
+ "emissive": "#66ddff",
1737
+ "emissiveIntensity": 0,
1738
+ "roughness": 0.2
1739
+ },
1740
+ "castShadow": true
1741
+ }
1742
+ },
1743
+ {
1744
+ "name": "Glow",
1745
+ "type": "OmniLight3D",
1746
+ "props": {
1747
+ "position": [0, 2, 0],
1748
+ "color": "#7fe3ff",
1749
+ "intensity": 0,
1750
+ "range": 16
1751
+ }
1752
+ },
1753
+ {
1754
+ "name": "LitFx",
1755
+ "type": "Particles3D",
1756
+ "props": {
1757
+ "position": [0, 2, 0],
1758
+ "preset": "magic",
1759
+ "rate": 0,
1760
+ "burst": 40,
1761
+ "blend": "add",
1762
+ "sizeStart": 80,
1763
+ "sizeEnd": 16,
1764
+ "renderOrder": 100
1765
+ }
1766
+ },
1767
+ {
1768
+ "name": "ChimeSfx",
1769
+ "type": "AudioPlayer",
1770
+ "props": {
1771
+ "preset": "powerup",
1772
+ "volume": 0.7,
1773
+ "spatial": true,
1774
+ "refDistance": 6,
1775
+ "maxDistance": 60
1776
+ }
1777
+ }
1778
+ ]
1779
+ },
1780
+ {
1781
+ "name": "Ward3",
1782
+ "type": "Node3D",
1783
+ "groups": ["ward"],
1784
+ "props": {
1785
+ "position": [67.5, 13.07, 43.5]
1786
+ },
1787
+ "children": [
1788
+ {
1789
+ "name": "Plinth",
1790
+ "type": "StaticBody3D",
1791
+ "props": {
1792
+ "collider": {
1793
+ "shape": "box",
1794
+ "size": [1.6, 1.2, 1.6]
1795
+ },
1796
+ "position": [0, 0.6, 0]
1797
+ },
1798
+ "children": [
1799
+ {
1800
+ "name": "Stone",
1801
+ "type": "MeshInstance3D",
1802
+ "props": {
1803
+ "mesh": "cylinder",
1804
+ "size": [1.6, 1.2, 1.6],
1805
+ "material": {
1806
+ "color": "#7d8494",
1807
+ "roughness": 0.9
1808
+ },
1809
+ "castShadow": true,
1810
+ "receiveShadow": true
1811
+ }
1812
+ }
1813
+ ]
1814
+ },
1815
+ {
1816
+ "name": "Crystal",
1817
+ "type": "MeshInstance3D",
1818
+ "props": {
1819
+ "mesh": "gem",
1820
+ "size": [0.55, 1.1, 0.55],
1821
+ "position": [0, 1.75, 0],
1822
+ "material": {
1823
+ "color": "#243044",
1824
+ "emissive": "#66ddff",
1825
+ "emissiveIntensity": 0,
1826
+ "roughness": 0.2
1827
+ },
1828
+ "castShadow": true
1829
+ }
1830
+ },
1831
+ {
1832
+ "name": "Glow",
1833
+ "type": "OmniLight3D",
1834
+ "props": {
1835
+ "position": [0, 2, 0],
1836
+ "color": "#7fe3ff",
1837
+ "intensity": 0,
1838
+ "range": 16
1839
+ }
1840
+ },
1841
+ {
1842
+ "name": "LitFx",
1843
+ "type": "Particles3D",
1844
+ "props": {
1845
+ "position": [0, 2, 0],
1846
+ "preset": "magic",
1847
+ "rate": 0,
1848
+ "burst": 40,
1849
+ "blend": "add",
1850
+ "sizeStart": 80,
1851
+ "sizeEnd": 16,
1852
+ "renderOrder": 100
1853
+ }
1854
+ },
1855
+ {
1856
+ "name": "ChimeSfx",
1857
+ "type": "AudioPlayer",
1858
+ "props": {
1859
+ "preset": "powerup",
1860
+ "volume": 0.7,
1861
+ "spatial": true,
1862
+ "refDistance": 6,
1863
+ "maxDistance": 60
1864
+ }
1865
+ }
1866
+ ]
1867
+ },
1868
+ {
1869
+ "name": "Shade1_1",
1870
+ "type": "Node3D",
1871
+ "groups": ["shade", "shade-ward1"],
1872
+ "props": {
1873
+ "position": [-52.5, 17.71, -34.5]
1874
+ },
1875
+ "script": {
1876
+ "name": "PathFollow",
1877
+ "props": {
1878
+ "speed": 2.6,
1879
+ "loop": true
1880
+ }
1881
+ },
1882
+ "children": [
1883
+ {
1884
+ "name": "Body",
1885
+ "type": "MeshInstance3D",
1886
+ "props": {
1887
+ "mesh": "capsule",
1888
+ "size": [0.28, 0.62, 0.28],
1889
+ "material": {
1890
+ "color": "#141428",
1891
+ "emissive": "#3b2d8a",
1892
+ "emissiveIntensity": 0.5,
1893
+ "roughness": 0.6
1894
+ },
1895
+ "castShadow": true
1896
+ }
1897
+ },
1898
+ {
1899
+ "name": "Hood",
1900
+ "type": "MeshInstance3D",
1901
+ "props": {
1902
+ "mesh": "gem",
1903
+ "size": [0.3, 0.46, 0.3],
1904
+ "position": [0, 0.58, 0],
1905
+ "material": {
1906
+ "color": "#0e0e1e",
1907
+ "emissive": "#241a5e",
1908
+ "emissiveIntensity": 0.4
1909
+ }
1910
+ }
1911
+ },
1912
+ {
1913
+ "name": "EyeL",
1914
+ "type": "MeshInstance3D",
1915
+ "props": {
1916
+ "mesh": "sphere",
1917
+ "size": [0.05, 0.05, 0.05],
1918
+ "position": [-0.09, 0.6, 0.24],
1919
+ "material": {
1920
+ "color": "#ff4466",
1921
+ "emissive": "#ff4466",
1922
+ "emissiveIntensity": 2.4
1923
+ }
1924
+ }
1925
+ },
1926
+ {
1927
+ "name": "EyeR",
1928
+ "type": "MeshInstance3D",
1929
+ "props": {
1930
+ "mesh": "sphere",
1931
+ "size": [0.05, 0.05, 0.05],
1932
+ "position": [0.09, 0.6, 0.24],
1933
+ "material": {
1934
+ "color": "#ff4466",
1935
+ "emissive": "#ff4466",
1936
+ "emissiveIntensity": 2.4
1937
+ }
1938
+ }
1939
+ },
1940
+ {
1941
+ "name": "Wisp",
1942
+ "type": "Trail3D",
1943
+ "props": {
1944
+ "width": 0.3,
1945
+ "color": "#5a48c8",
1946
+ "opacity": 0.5,
1947
+ "seconds": 0.5,
1948
+ "additive": true,
1949
+ "position": [0, 0.2, 0]
1950
+ }
1951
+ },
1952
+ {
1953
+ "name": "Fang",
1954
+ "type": "Area3D",
1955
+ "props": {
1956
+ "position": [0, 0, 0.4],
1957
+ "collider": {
1958
+ "shape": "box",
1959
+ "size": [0.7, 1.2, 0.8]
1960
+ }
1961
+ },
1962
+ "script": {
1963
+ "name": "DamageOnContact",
1964
+ "props": {
1965
+ "amount": 20,
1966
+ "targetGroup": "player",
1967
+ "oncePerTarget": false,
1968
+ "repeatEvery": 1.2
1969
+ }
1970
+ }
1971
+ },
1972
+ {
1973
+ "name": "HissSfx",
1974
+ "type": "AudioPlayer",
1975
+ "props": {
1976
+ "preset": "hurt",
1977
+ "volume": 0.3,
1978
+ "pitch": 0.4,
1979
+ "spatial": true,
1980
+ "refDistance": 4,
1981
+ "maxDistance": 30
1982
+ }
1983
+ }
1984
+ ]
1985
+ },
1986
+ {
1987
+ "name": "Shade1_2",
1988
+ "type": "Node3D",
1989
+ "groups": ["shade", "shade-ward1"],
1990
+ "props": {
1991
+ "position": [-67.5, 18.16, -46.5]
1992
+ },
1993
+ "script": {
1994
+ "name": "PathFollow",
1995
+ "props": {
1996
+ "speed": 2.6,
1997
+ "loop": true
1998
+ }
1999
+ },
2000
+ "children": [
2001
+ {
2002
+ "name": "Body",
2003
+ "type": "MeshInstance3D",
2004
+ "props": {
2005
+ "mesh": "capsule",
2006
+ "size": [0.28, 0.62, 0.28],
2007
+ "material": {
2008
+ "color": "#141428",
2009
+ "emissive": "#3b2d8a",
2010
+ "emissiveIntensity": 0.5,
2011
+ "roughness": 0.6
2012
+ },
2013
+ "castShadow": true
2014
+ }
2015
+ },
2016
+ {
2017
+ "name": "Hood",
2018
+ "type": "MeshInstance3D",
2019
+ "props": {
2020
+ "mesh": "gem",
2021
+ "size": [0.3, 0.46, 0.3],
2022
+ "position": [0, 0.58, 0],
2023
+ "material": {
2024
+ "color": "#0e0e1e",
2025
+ "emissive": "#241a5e",
2026
+ "emissiveIntensity": 0.4
2027
+ }
2028
+ }
2029
+ },
2030
+ {
2031
+ "name": "EyeL",
2032
+ "type": "MeshInstance3D",
2033
+ "props": {
2034
+ "mesh": "sphere",
2035
+ "size": [0.05, 0.05, 0.05],
2036
+ "position": [-0.09, 0.6, 0.24],
2037
+ "material": {
2038
+ "color": "#ff4466",
2039
+ "emissive": "#ff4466",
2040
+ "emissiveIntensity": 2.4
2041
+ }
2042
+ }
2043
+ },
2044
+ {
2045
+ "name": "EyeR",
2046
+ "type": "MeshInstance3D",
2047
+ "props": {
2048
+ "mesh": "sphere",
2049
+ "size": [0.05, 0.05, 0.05],
2050
+ "position": [0.09, 0.6, 0.24],
2051
+ "material": {
2052
+ "color": "#ff4466",
2053
+ "emissive": "#ff4466",
2054
+ "emissiveIntensity": 2.4
2055
+ }
2056
+ }
2057
+ },
2058
+ {
2059
+ "name": "Wisp",
2060
+ "type": "Trail3D",
2061
+ "props": {
2062
+ "width": 0.3,
2063
+ "color": "#5a48c8",
2064
+ "opacity": 0.5,
2065
+ "seconds": 0.5,
2066
+ "additive": true,
2067
+ "position": [0, 0.2, 0]
2068
+ }
2069
+ },
2070
+ {
2071
+ "name": "Fang",
2072
+ "type": "Area3D",
2073
+ "props": {
2074
+ "position": [0, 0, 0.4],
2075
+ "collider": {
2076
+ "shape": "box",
2077
+ "size": [0.7, 1.2, 0.8]
2078
+ }
2079
+ },
2080
+ "script": {
2081
+ "name": "DamageOnContact",
2082
+ "props": {
2083
+ "amount": 20,
2084
+ "targetGroup": "player",
2085
+ "oncePerTarget": false,
2086
+ "repeatEvery": 1.2
2087
+ }
2088
+ }
2089
+ },
2090
+ {
2091
+ "name": "HissSfx",
2092
+ "type": "AudioPlayer",
2093
+ "props": {
2094
+ "preset": "hurt",
2095
+ "volume": 0.3,
2096
+ "pitch": 0.4,
2097
+ "spatial": true,
2098
+ "refDistance": 4,
2099
+ "maxDistance": 30
2100
+ }
2101
+ }
2102
+ ]
2103
+ },
2104
+ {
2105
+ "name": "Shade2_1",
2106
+ "type": "Node3D",
2107
+ "groups": ["shade", "shade-ward2"],
2108
+ "props": {
2109
+ "position": [67.5, 11.46, -49.5]
2110
+ },
2111
+ "script": {
2112
+ "name": "PathFollow",
2113
+ "props": {
2114
+ "speed": 2.6,
2115
+ "loop": true
2116
+ }
2117
+ },
2118
+ "children": [
2119
+ {
2120
+ "name": "Body",
2121
+ "type": "MeshInstance3D",
2122
+ "props": {
2123
+ "mesh": "capsule",
2124
+ "size": [0.28, 0.62, 0.28],
2125
+ "material": {
2126
+ "color": "#141428",
2127
+ "emissive": "#3b2d8a",
2128
+ "emissiveIntensity": 0.5,
2129
+ "roughness": 0.6
2130
+ },
2131
+ "castShadow": true
2132
+ }
2133
+ },
2134
+ {
2135
+ "name": "Hood",
2136
+ "type": "MeshInstance3D",
2137
+ "props": {
2138
+ "mesh": "gem",
2139
+ "size": [0.3, 0.46, 0.3],
2140
+ "position": [0, 0.58, 0],
2141
+ "material": {
2142
+ "color": "#0e0e1e",
2143
+ "emissive": "#241a5e",
2144
+ "emissiveIntensity": 0.4
2145
+ }
2146
+ }
2147
+ },
2148
+ {
2149
+ "name": "EyeL",
2150
+ "type": "MeshInstance3D",
2151
+ "props": {
2152
+ "mesh": "sphere",
2153
+ "size": [0.05, 0.05, 0.05],
2154
+ "position": [-0.09, 0.6, 0.24],
2155
+ "material": {
2156
+ "color": "#ff4466",
2157
+ "emissive": "#ff4466",
2158
+ "emissiveIntensity": 2.4
2159
+ }
2160
+ }
2161
+ },
2162
+ {
2163
+ "name": "EyeR",
2164
+ "type": "MeshInstance3D",
2165
+ "props": {
2166
+ "mesh": "sphere",
2167
+ "size": [0.05, 0.05, 0.05],
2168
+ "position": [0.09, 0.6, 0.24],
2169
+ "material": {
2170
+ "color": "#ff4466",
2171
+ "emissive": "#ff4466",
2172
+ "emissiveIntensity": 2.4
2173
+ }
2174
+ }
2175
+ },
2176
+ {
2177
+ "name": "Wisp",
2178
+ "type": "Trail3D",
2179
+ "props": {
2180
+ "width": 0.3,
2181
+ "color": "#5a48c8",
2182
+ "opacity": 0.5,
2183
+ "seconds": 0.5,
2184
+ "additive": true,
2185
+ "position": [0, 0.2, 0]
2186
+ }
2187
+ },
2188
+ {
2189
+ "name": "Fang",
2190
+ "type": "Area3D",
2191
+ "props": {
2192
+ "position": [0, 0, 0.4],
2193
+ "collider": {
2194
+ "shape": "box",
2195
+ "size": [0.7, 1.2, 0.8]
2196
+ }
2197
+ },
2198
+ "script": {
2199
+ "name": "DamageOnContact",
2200
+ "props": {
2201
+ "amount": 20,
2202
+ "targetGroup": "player",
2203
+ "oncePerTarget": false,
2204
+ "repeatEvery": 1.2
2205
+ }
2206
+ }
2207
+ },
2208
+ {
2209
+ "name": "HissSfx",
2210
+ "type": "AudioPlayer",
2211
+ "props": {
2212
+ "preset": "hurt",
2213
+ "volume": 0.3,
2214
+ "pitch": 0.4,
2215
+ "spatial": true,
2216
+ "refDistance": 4,
2217
+ "maxDistance": 30
2218
+ }
2219
+ }
2220
+ ]
2221
+ },
2222
+ {
2223
+ "name": "Shade2_2",
2224
+ "type": "Node3D",
2225
+ "groups": ["shade", "shade-ward2"],
2226
+ "props": {
2227
+ "position": [52.5, 10.73, -61.5]
2228
+ },
2229
+ "script": {
2230
+ "name": "PathFollow",
2231
+ "props": {
2232
+ "speed": 2.6,
2233
+ "loop": true
2234
+ }
2235
+ },
2236
+ "children": [
2237
+ {
2238
+ "name": "Body",
2239
+ "type": "MeshInstance3D",
2240
+ "props": {
2241
+ "mesh": "capsule",
2242
+ "size": [0.28, 0.62, 0.28],
2243
+ "material": {
2244
+ "color": "#141428",
2245
+ "emissive": "#3b2d8a",
2246
+ "emissiveIntensity": 0.5,
2247
+ "roughness": 0.6
2248
+ },
2249
+ "castShadow": true
2250
+ }
2251
+ },
2252
+ {
2253
+ "name": "Hood",
2254
+ "type": "MeshInstance3D",
2255
+ "props": {
2256
+ "mesh": "gem",
2257
+ "size": [0.3, 0.46, 0.3],
2258
+ "position": [0, 0.58, 0],
2259
+ "material": {
2260
+ "color": "#0e0e1e",
2261
+ "emissive": "#241a5e",
2262
+ "emissiveIntensity": 0.4
2263
+ }
2264
+ }
2265
+ },
2266
+ {
2267
+ "name": "EyeL",
2268
+ "type": "MeshInstance3D",
2269
+ "props": {
2270
+ "mesh": "sphere",
2271
+ "size": [0.05, 0.05, 0.05],
2272
+ "position": [-0.09, 0.6, 0.24],
2273
+ "material": {
2274
+ "color": "#ff4466",
2275
+ "emissive": "#ff4466",
2276
+ "emissiveIntensity": 2.4
2277
+ }
2278
+ }
2279
+ },
2280
+ {
2281
+ "name": "EyeR",
2282
+ "type": "MeshInstance3D",
2283
+ "props": {
2284
+ "mesh": "sphere",
2285
+ "size": [0.05, 0.05, 0.05],
2286
+ "position": [0.09, 0.6, 0.24],
2287
+ "material": {
2288
+ "color": "#ff4466",
2289
+ "emissive": "#ff4466",
2290
+ "emissiveIntensity": 2.4
2291
+ }
2292
+ }
2293
+ },
2294
+ {
2295
+ "name": "Wisp",
2296
+ "type": "Trail3D",
2297
+ "props": {
2298
+ "width": 0.3,
2299
+ "color": "#5a48c8",
2300
+ "opacity": 0.5,
2301
+ "seconds": 0.5,
2302
+ "additive": true,
2303
+ "position": [0, 0.2, 0]
2304
+ }
2305
+ },
2306
+ {
2307
+ "name": "Fang",
2308
+ "type": "Area3D",
2309
+ "props": {
2310
+ "position": [0, 0, 0.4],
2311
+ "collider": {
2312
+ "shape": "box",
2313
+ "size": [0.7, 1.2, 0.8]
2314
+ }
2315
+ },
2316
+ "script": {
2317
+ "name": "DamageOnContact",
2318
+ "props": {
2319
+ "amount": 20,
2320
+ "targetGroup": "player",
2321
+ "oncePerTarget": false,
2322
+ "repeatEvery": 1.2
2323
+ }
2324
+ }
2325
+ },
2326
+ {
2327
+ "name": "HissSfx",
2328
+ "type": "AudioPlayer",
2329
+ "props": {
2330
+ "preset": "hurt",
2331
+ "volume": 0.3,
2332
+ "pitch": 0.4,
2333
+ "spatial": true,
2334
+ "refDistance": 4,
2335
+ "maxDistance": 30
2336
+ }
2337
+ }
2338
+ ]
2339
+ },
2340
+ {
2341
+ "name": "Shade3_1",
2342
+ "type": "Node3D",
2343
+ "groups": ["shade", "shade-ward3"],
2344
+ "props": {
2345
+ "position": [76.5, 14.09, 46.5]
2346
+ },
2347
+ "script": {
2348
+ "name": "PathFollow",
2349
+ "props": {
2350
+ "speed": 2.6,
2351
+ "loop": true
2352
+ }
2353
+ },
2354
+ "children": [
2355
+ {
2356
+ "name": "Body",
2357
+ "type": "MeshInstance3D",
2358
+ "props": {
2359
+ "mesh": "capsule",
2360
+ "size": [0.28, 0.62, 0.28],
2361
+ "material": {
2362
+ "color": "#141428",
2363
+ "emissive": "#3b2d8a",
2364
+ "emissiveIntensity": 0.5,
2365
+ "roughness": 0.6
2366
+ },
2367
+ "castShadow": true
2368
+ }
2369
+ },
2370
+ {
2371
+ "name": "Hood",
2372
+ "type": "MeshInstance3D",
2373
+ "props": {
2374
+ "mesh": "gem",
2375
+ "size": [0.3, 0.46, 0.3],
2376
+ "position": [0, 0.58, 0],
2377
+ "material": {
2378
+ "color": "#0e0e1e",
2379
+ "emissive": "#241a5e",
2380
+ "emissiveIntensity": 0.4
2381
+ }
2382
+ }
2383
+ },
2384
+ {
2385
+ "name": "EyeL",
2386
+ "type": "MeshInstance3D",
2387
+ "props": {
2388
+ "mesh": "sphere",
2389
+ "size": [0.05, 0.05, 0.05],
2390
+ "position": [-0.09, 0.6, 0.24],
2391
+ "material": {
2392
+ "color": "#ff4466",
2393
+ "emissive": "#ff4466",
2394
+ "emissiveIntensity": 2.4
2395
+ }
2396
+ }
2397
+ },
2398
+ {
2399
+ "name": "EyeR",
2400
+ "type": "MeshInstance3D",
2401
+ "props": {
2402
+ "mesh": "sphere",
2403
+ "size": [0.05, 0.05, 0.05],
2404
+ "position": [0.09, 0.6, 0.24],
2405
+ "material": {
2406
+ "color": "#ff4466",
2407
+ "emissive": "#ff4466",
2408
+ "emissiveIntensity": 2.4
2409
+ }
2410
+ }
2411
+ },
2412
+ {
2413
+ "name": "Wisp",
2414
+ "type": "Trail3D",
2415
+ "props": {
2416
+ "width": 0.3,
2417
+ "color": "#5a48c8",
2418
+ "opacity": 0.5,
2419
+ "seconds": 0.5,
2420
+ "additive": true,
2421
+ "position": [0, 0.2, 0]
2422
+ }
2423
+ },
2424
+ {
2425
+ "name": "Fang",
2426
+ "type": "Area3D",
2427
+ "props": {
2428
+ "position": [0, 0, 0.4],
2429
+ "collider": {
2430
+ "shape": "box",
2431
+ "size": [0.7, 1.2, 0.8]
2432
+ }
2433
+ },
2434
+ "script": {
2435
+ "name": "DamageOnContact",
2436
+ "props": {
2437
+ "amount": 20,
2438
+ "targetGroup": "player",
2439
+ "oncePerTarget": false,
2440
+ "repeatEvery": 1.2
2441
+ }
2442
+ }
2443
+ },
2444
+ {
2445
+ "name": "HissSfx",
2446
+ "type": "AudioPlayer",
2447
+ "props": {
2448
+ "preset": "hurt",
2449
+ "volume": 0.3,
2450
+ "pitch": 0.4,
2451
+ "spatial": true,
2452
+ "refDistance": 4,
2453
+ "maxDistance": 30
2454
+ }
2455
+ }
2456
+ ]
2457
+ },
2458
+ {
2459
+ "name": "Shade3_2",
2460
+ "type": "Node3D",
2461
+ "groups": ["shade", "shade-ward3"],
2462
+ "props": {
2463
+ "position": [61.5, 13.7, 34.5]
2464
+ },
2465
+ "script": {
2466
+ "name": "PathFollow",
2467
+ "props": {
2468
+ "speed": 2.6,
2469
+ "loop": true
2470
+ }
2471
+ },
2472
+ "children": [
2473
+ {
2474
+ "name": "Body",
2475
+ "type": "MeshInstance3D",
2476
+ "props": {
2477
+ "mesh": "capsule",
2478
+ "size": [0.28, 0.62, 0.28],
2479
+ "material": {
2480
+ "color": "#141428",
2481
+ "emissive": "#3b2d8a",
2482
+ "emissiveIntensity": 0.5,
2483
+ "roughness": 0.6
2484
+ },
2485
+ "castShadow": true
2486
+ }
2487
+ },
2488
+ {
2489
+ "name": "Hood",
2490
+ "type": "MeshInstance3D",
2491
+ "props": {
2492
+ "mesh": "gem",
2493
+ "size": [0.3, 0.46, 0.3],
2494
+ "position": [0, 0.58, 0],
2495
+ "material": {
2496
+ "color": "#0e0e1e",
2497
+ "emissive": "#241a5e",
2498
+ "emissiveIntensity": 0.4
2499
+ }
2500
+ }
2501
+ },
2502
+ {
2503
+ "name": "EyeL",
2504
+ "type": "MeshInstance3D",
2505
+ "props": {
2506
+ "mesh": "sphere",
2507
+ "size": [0.05, 0.05, 0.05],
2508
+ "position": [-0.09, 0.6, 0.24],
2509
+ "material": {
2510
+ "color": "#ff4466",
2511
+ "emissive": "#ff4466",
2512
+ "emissiveIntensity": 2.4
2513
+ }
2514
+ }
2515
+ },
2516
+ {
2517
+ "name": "EyeR",
2518
+ "type": "MeshInstance3D",
2519
+ "props": {
2520
+ "mesh": "sphere",
2521
+ "size": [0.05, 0.05, 0.05],
2522
+ "position": [0.09, 0.6, 0.24],
2523
+ "material": {
2524
+ "color": "#ff4466",
2525
+ "emissive": "#ff4466",
2526
+ "emissiveIntensity": 2.4
2527
+ }
2528
+ }
2529
+ },
2530
+ {
2531
+ "name": "Wisp",
2532
+ "type": "Trail3D",
2533
+ "props": {
2534
+ "width": 0.3,
2535
+ "color": "#5a48c8",
2536
+ "opacity": 0.5,
2537
+ "seconds": 0.5,
2538
+ "additive": true,
2539
+ "position": [0, 0.2, 0]
2540
+ }
2541
+ },
2542
+ {
2543
+ "name": "Fang",
2544
+ "type": "Area3D",
2545
+ "props": {
2546
+ "position": [0, 0, 0.4],
2547
+ "collider": {
2548
+ "shape": "box",
2549
+ "size": [0.7, 1.2, 0.8]
2550
+ }
2551
+ },
2552
+ "script": {
2553
+ "name": "DamageOnContact",
2554
+ "props": {
2555
+ "amount": 20,
2556
+ "targetGroup": "player",
2557
+ "oncePerTarget": false,
2558
+ "repeatEvery": 1.2
2559
+ }
2560
+ }
2561
+ },
2562
+ {
2563
+ "name": "HissSfx",
2564
+ "type": "AudioPlayer",
2565
+ "props": {
2566
+ "preset": "hurt",
2567
+ "volume": 0.3,
2568
+ "pitch": 0.4,
2569
+ "spatial": true,
2570
+ "refDistance": 4,
2571
+ "maxDistance": 30
2572
+ }
2573
+ }
2574
+ ]
2575
+ },
2576
+ {
2577
+ "name": "Player",
2578
+ "type": "RigidBody3D",
2579
+ "groups": ["player"],
2580
+ "script": {
2581
+ "name": "Health",
2582
+ "props": {
2583
+ "max": 100,
2584
+ "invulnerableFor": 0.8
2585
+ }
2586
+ },
2587
+ "props": {
2588
+ "position": [-4.5, 18.73, 70.5],
2589
+ "fixedRotation": true,
2590
+ "friction": 0,
2591
+ "collider": {
2592
+ "shape": "capsule",
2593
+ "radius": 0.34,
2594
+ "height": 1
2595
+ }
2596
+ },
2597
+ "children": [
2598
+ {
2599
+ "name": "Controller",
2600
+ "type": "CharacterController3D",
2601
+ "props": {
2602
+ "view": "free",
2603
+ "camDistance": 5.2,
2604
+ "eyeHeight": 1.1,
2605
+ "maxSpeed": 4.4,
2606
+ "sprintMultiplier": 1.8,
2607
+ "pitchMin": -0.5,
2608
+ "pitchMax": 1.1,
2609
+ "animations": {
2610
+ "idle": "$anims/idle",
2611
+ "walk": "$anims/walk",
2612
+ "run": "$anims/run",
2613
+ "fastRun": "$anims/runFast",
2614
+ "airborne": "$anims/jump"
2615
+ }
2616
+ },
2617
+ "script": {
2618
+ "name": "SwordStrike"
2619
+ }
2620
+ },
2621
+ {
2622
+ "name": "Skin",
2623
+ "type": "ModelInstance3D",
2624
+ "props": {
2625
+ "model": "$characters/base",
2626
+ "targetHeight": 1.7,
2627
+ "animation": "$anims/idle",
2628
+ "castShadow": true,
2629
+ "position": [0, -0.85, 0]
2630
+ }
2631
+ },
2632
+ {
2633
+ "name": "SwordMount",
2634
+ "type": "BoneAttachment3D",
2635
+ "props": {
2636
+ "target": "../Skin",
2637
+ "bone": "RightHand"
2638
+ },
2639
+ "children": [
2640
+ {
2641
+ "name": "Blade",
2642
+ "type": "MeshInstance3D",
2643
+ "props": {
2644
+ "mesh": "box",
2645
+ "size": [0.045, 0.7, 0.045],
2646
+ "position": [0, 0.42, 0],
2647
+ "material": {
2648
+ "color": "#d8dde8",
2649
+ "metalness": 0.9,
2650
+ "roughness": 0.25
2651
+ },
2652
+ "castShadow": true
2653
+ }
2654
+ },
2655
+ {
2656
+ "name": "Guard",
2657
+ "type": "MeshInstance3D",
2658
+ "props": {
2659
+ "mesh": "box",
2660
+ "size": [0.16, 0.04, 0.06],
2661
+ "position": [0, 0.09, 0],
2662
+ "material": {
2663
+ "color": "#8a6d3a",
2664
+ "metalness": 0.7,
2665
+ "roughness": 0.4
2666
+ }
2667
+ }
2668
+ },
2669
+ {
2670
+ "name": "SwordTip",
2671
+ "type": "Node3D",
2672
+ "props": {
2673
+ "position": [0, 0.78, 0]
2674
+ },
2675
+ "children": [
2676
+ {
2677
+ "name": "SwingTrail",
2678
+ "type": "Trail3D",
2679
+ "props": {
2680
+ "width": 0.26,
2681
+ "color": "#ffe9b0",
2682
+ "opacity": 0.9,
2683
+ "seconds": 0.25,
2684
+ "additive": true,
2685
+ "emitting": false,
2686
+ "minDistance": 0.02
2687
+ }
2688
+ }
2689
+ ]
2690
+ }
2691
+ ]
2692
+ },
2693
+ {
2694
+ "name": "DashTrail",
2695
+ "type": "Trail3D",
2696
+ "props": {
2697
+ "width": 0.5,
2698
+ "color": "#ffffff",
2699
+ "opacity": 0.28,
2700
+ "seconds": 0.45,
2701
+ "emitting": false,
2702
+ "position": [0, -0.4, 0]
2703
+ }
2704
+ },
2705
+ {
2706
+ "name": "SwingSfx",
2707
+ "type": "AudioPlayer",
2708
+ "props": {
2709
+ "preset": "shoot",
2710
+ "volume": 0.35,
2711
+ "pitch": 0.55
2712
+ }
2713
+ },
2714
+ {
2715
+ "name": "HitSfx",
2716
+ "type": "AudioPlayer",
2717
+ "props": {
2718
+ "preset": "hit",
2719
+ "volume": 0.6
2720
+ }
2721
+ }
2722
+ ]
2723
+ },
2724
+ {
2725
+ "name": "Sky",
2726
+ "type": "Node",
2727
+ "script": {
2728
+ "name": "DayNight",
2729
+ "props": {
2730
+ "paused": true,
2731
+ "startHour": 17.5,
2732
+ "nightDarkness": 0.42,
2733
+ "maxSunElevationDeg": 48
2734
+ }
2735
+ }
2736
+ },
2737
+ {
2738
+ "name": "Boss",
2739
+ "type": "Node3D",
2740
+ "groups": ["boss"],
2741
+ "props": {
2742
+ "visible": false,
2743
+ "position": [-0.5, 16.87, 47.5]
2744
+ },
2745
+ "script": {
2746
+ "name": "PathFollow",
2747
+ "props": {
2748
+ "speed": 2,
2749
+ "loop": false
2750
+ }
2751
+ },
2752
+ "children": [
2753
+ {
2754
+ "name": "Body",
2755
+ "type": "MeshInstance3D",
2756
+ "props": {
2757
+ "mesh": "capsule",
2758
+ "size": [1.1, 2.6, 1.1],
2759
+ "position": [0, 2.4, 0],
2760
+ "material": {
2761
+ "color": "#171130",
2762
+ "emissive": "#41288f",
2763
+ "emissiveIntensity": 0.7,
2764
+ "roughness": 0.55
2765
+ },
2766
+ "castShadow": true
2767
+ }
2768
+ },
2769
+ {
2770
+ "name": "Crown",
2771
+ "type": "MeshInstance3D",
2772
+ "props": {
2773
+ "mesh": "gem",
2774
+ "size": [1, 1.2, 1],
2775
+ "position": [0, 4.6, 0],
2776
+ "material": {
2777
+ "color": "#0c0920",
2778
+ "emissive": "#6b46c8",
2779
+ "emissiveIntensity": 1.1,
2780
+ "flatShading": true
2781
+ },
2782
+ "castShadow": true
2783
+ }
2784
+ },
2785
+ {
2786
+ "name": "EyeL",
2787
+ "type": "MeshInstance3D",
2788
+ "props": {
2789
+ "mesh": "sphere",
2790
+ "size": [0.16, 0.16, 0.16],
2791
+ "position": [-0.34, 4.4, 0.8],
2792
+ "material": {
2793
+ "color": "#ff2f6b",
2794
+ "emissive": "#ff2f6b",
2795
+ "emissiveIntensity": 4
2796
+ }
2797
+ }
2798
+ },
2799
+ {
2800
+ "name": "EyeR",
2801
+ "type": "MeshInstance3D",
2802
+ "props": {
2803
+ "mesh": "sphere",
2804
+ "size": [0.16, 0.16, 0.16],
2805
+ "position": [0.34, 4.4, 0.8],
2806
+ "material": {
2807
+ "color": "#ff2f6b",
2808
+ "emissive": "#ff2f6b",
2809
+ "emissiveIntensity": 4
2810
+ }
2811
+ }
2812
+ },
2813
+ {
2814
+ "name": "ArmL",
2815
+ "type": "MeshInstance3D",
2816
+ "props": {
2817
+ "mesh": "capsule",
2818
+ "size": [0.4, 2, 0.4],
2819
+ "position": [-1.5, 2.6, 0],
2820
+ "rotation": [0, 0, 18],
2821
+ "material": {
2822
+ "color": "#171130",
2823
+ "emissive": "#41288f",
2824
+ "emissiveIntensity": 0.5
2825
+ },
2826
+ "castShadow": true
2827
+ }
2828
+ },
2829
+ {
2830
+ "name": "ArmR",
2831
+ "type": "MeshInstance3D",
2832
+ "props": {
2833
+ "mesh": "capsule",
2834
+ "size": [0.4, 2, 0.4],
2835
+ "position": [1.5, 2.6, 0],
2836
+ "rotation": [0, 0, -18],
2837
+ "material": {
2838
+ "color": "#171130",
2839
+ "emissive": "#41288f",
2840
+ "emissiveIntensity": 0.5
2841
+ },
2842
+ "castShadow": true
2843
+ }
2844
+ },
2845
+ {
2846
+ "name": "EyeGlow",
2847
+ "type": "OmniLight3D",
2848
+ "props": {
2849
+ "position": [0, 4.2, 0.6],
2850
+ "color": "#b46bff",
2851
+ "intensity": 0,
2852
+ "range": 26
2853
+ }
2854
+ },
2855
+ {
2856
+ "name": "Dread",
2857
+ "type": "Trail3D",
2858
+ "props": {
2859
+ "width": 1.2,
2860
+ "color": "#6b46c8",
2861
+ "opacity": 0.35,
2862
+ "seconds": 0.8,
2863
+ "additive": true,
2864
+ "position": [0, 1.2, 0],
2865
+ "emitting": false
2866
+ }
2867
+ },
2868
+ {
2869
+ "name": "Fang",
2870
+ "type": "Area3D",
2871
+ "props": {
2872
+ "position": [0, 1.2, 0.8],
2873
+ "collider": {
2874
+ "shape": "box",
2875
+ "size": [2.4, 3.2, 2.2]
2876
+ }
2877
+ },
2878
+ "script": {
2879
+ "name": "DamageOnContact",
2880
+ "props": {
2881
+ "amount": 35,
2882
+ "targetGroup": "player",
2883
+ "oncePerTarget": false,
2884
+ "repeatEvery": 1.5
2885
+ }
2886
+ }
2887
+ },
2888
+ {
2889
+ "name": "RoarSfx",
2890
+ "type": "AudioPlayer",
2891
+ "props": {
2892
+ "preset": "explosion",
2893
+ "volume": 0.7,
2894
+ "pitch": 0.35,
2895
+ "spatial": true,
2896
+ "refDistance": 10,
2897
+ "maxDistance": 90
2898
+ }
2899
+ }
2900
+ ]
2901
+ },
2902
+ {
2903
+ "name": "Camera",
2904
+ "type": "Camera3D",
2905
+ "props": {
2906
+ "current": true,
2907
+ "far": 900,
2908
+ "position": [-16.5, 23.85266860961914, 75.5]
2909
+ }
2910
+ },
2911
+ {
2912
+ "name": "WinSfx",
2913
+ "type": "AudioPlayer",
2914
+ "props": {
2915
+ "preset": "win",
2916
+ "volume": 0.7
2917
+ }
2918
+ },
2919
+ {
2920
+ "name": "HUD",
2921
+ "type": "HudLayer",
2922
+ "children": [
2923
+ {
2924
+ "name": "Quest",
2925
+ "type": "UiText",
2926
+ "uid": "n_bi_quest",
2927
+ "props": {
2928
+ "text": "Find the lighthouse keeper [E]",
2929
+ "size": 16,
2930
+ "anchor": "topLeft",
2931
+ "shadow": true
2932
+ }
2933
+ },
2934
+ {
2935
+ "name": "HP",
2936
+ "type": "UiBar",
2937
+ "uid": "n_bi_hp",
2938
+ "props": {
2939
+ "anchor": "topRight",
2940
+ "value": 100,
2941
+ "max": 100,
2942
+ "width": 170
2943
+ }
2944
+ },
2945
+ {
2946
+ "name": "Banner",
2947
+ "type": "UiBanner",
2948
+ "uid": "n_bi_banner",
2949
+ "props": {
2950
+ "anchor": "center"
2951
+ }
2952
+ },
2953
+ {
2954
+ "name": "Dialogue",
2955
+ "type": "UiDialogue",
2956
+ "uid": "n_bi_dialogue",
2957
+ "props": {
2958
+ "anchor": "bottom",
2959
+ "charsPerSecond": 45
2960
+ }
2961
+ },
2962
+ {
2963
+ "name": "Hint",
2964
+ "type": "UiText",
2965
+ "uid": "n_bi_hint",
2966
+ "props": {
2967
+ "text": "WASD move · Shift sprint · E interact · click/F strike",
2968
+ "size": 12,
2969
+ "color": "#dddddd",
2970
+ "anchor": "bottomRight",
2971
+ "shadow": true
2972
+ }
2973
+ }
2974
+ ]
2975
+ }
2976
+ ]
2977
+ },
2978
+ "connections": [
2979
+ {
2980
+ "signal": "interacted",
2981
+ "from": "Keeper",
2982
+ "to": "/root",
2983
+ "handler": "onTalk"
2984
+ },
2985
+ {
2986
+ "signal": "died",
2987
+ "from": "Player",
2988
+ "to": "/root",
2989
+ "handler": "onPlayerDown"
2990
+ }
2991
+ ]
2992
+ }