@fps-games/vfx 0.3.2 → 0.3.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.
Files changed (231) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +5 -4
  3. package/tooling/vfx-cli.mjs +8 -1
  4. package/docs/AUTHORING_EFFECTS.md +0 -297
  5. package/docs/INTEGRATION.md +0 -194
  6. package/docs/VFX_LIBRARY_ARCHITECTURE_chatgpt.md +0 -1580
  7. package/docs/VFX_LIBRARY_EXECUTION_PLAN.md +0 -229
  8. package/docs/VFX_LIBRARY_PLAN.md +0 -546
  9. package/docs/hit-flash-red-method.md +0 -155
  10. package/docs/treasure_attention_fx_babylonjs_guide.md +0 -901
  11. package/docs/vfx-ab/RESULTS.md +0 -35
  12. package/docs/vfx-ab/lumber-order/vehicle-exhaust-smoke/after.png +0 -0
  13. package/docs/vfx-ab/lumber-order/vehicle-exhaust-smoke/before.png +0 -0
  14. package/docs/vfx-ab/lumber-truck/vehicle-exhaust-smoke/after.png +0 -0
  15. package/docs/vfx-ab/lumber-truck/vehicle-exhaust-smoke/before.png +0 -0
  16. package/docs/vfx-integration_chatgpt.md +0 -462
  17. package/docs/vfx-placement-design.md +0 -164
  18. package/docs/weapon-trail-visualization.html +0 -241
  19. package/packages/EffectPackageService.ts +0 -346
  20. package/packages/SceneVfxService.ts +0 -96
  21. package/packages/build.mesh.yellow_build_upgrade_indicator/assets/runtime/simpleMeshEffect.v1.js +0 -333
  22. package/packages/build.mesh.yellow_build_upgrade_indicator/assets/shaders/mesh-effect-preview.frag.glsl +0 -25
  23. package/packages/build.mesh.yellow_build_upgrade_indicator/assets/shaders/mesh-effect-preview.vert.glsl +0 -11
  24. package/packages/build.mesh.yellow_build_upgrade_indicator/assets/textures/effect_jianbian.png +0 -0
  25. package/packages/build.mesh.yellow_build_upgrade_indicator/effect.json +0 -927
  26. package/packages/build.mesh.yellow_build_upgrade_indicator/media/contact-sheet.png +0 -0
  27. package/packages/build.mesh.yellow_build_upgrade_indicator/media/preview.gif +0 -0
  28. package/packages/build.mesh.yellow_build_upgrade_indicator/media/preview.mp4 +0 -0
  29. package/packages/build.mesh.yellow_build_upgrade_indicator/media/preview.webm +0 -0
  30. package/packages/build.mesh.yellow_build_upgrade_indicator/media/thumbnail.png +0 -0
  31. package/packages/build.mesh.yellow_build_upgrade_indicator/metadata/description.json +0 -197
  32. package/packages/build.mesh.yellow_build_upgrade_indicator/provenance/03-effect.original.json +0 -895
  33. package/packages/build.mesh.yellow_build_upgrade_indicator/provenance/03-normalized-vfx-to-babylon-report.json +0 -241
  34. package/packages/build.mesh.yellow_build_upgrade_indicator/provenance/04-preview-overrides.json +0 -542
  35. package/packages/build.mesh.yellow_build_upgrade_indicator/provenance/04-preview-tuning-report.json +0 -69
  36. package/packages/build.mesh.yellow_build_upgrade_indicator/provenance/asset-map.json +0 -125
  37. package/packages/build.mesh.yellow_build_upgrade_indicator/provenance/lineage.json +0 -44
  38. package/packages/build.particle.golden_upgrade_starburst/assets/runtime/particleEmitter.v1.js +0 -210
  39. package/packages/build.particle.golden_upgrade_starburst/assets/textures/effect_guangdian.png +0 -0
  40. package/packages/build.particle.golden_upgrade_starburst/effect.json +0 -880
  41. package/packages/build.particle.golden_upgrade_starburst/media/contact-sheet.png +0 -0
  42. package/packages/build.particle.golden_upgrade_starburst/media/preview.gif +0 -0
  43. package/packages/build.particle.golden_upgrade_starburst/media/preview.mp4 +0 -0
  44. package/packages/build.particle.golden_upgrade_starburst/media/preview.webm +0 -0
  45. package/packages/build.particle.golden_upgrade_starburst/media/thumbnail.png +0 -0
  46. package/packages/build.particle.golden_upgrade_starburst/metadata/description.json +0 -161
  47. package/packages/build.particle.golden_upgrade_starburst/provenance/03-effect.original.json +0 -762
  48. package/packages/build.particle.golden_upgrade_starburst/provenance/03-normalized-vfx-to-babylon-report.json +0 -260
  49. package/packages/build.particle.golden_upgrade_starburst/provenance/04-preview-overrides.json +0 -436
  50. package/packages/build.particle.golden_upgrade_starburst/provenance/04-preview-tuning-report.json +0 -40
  51. package/packages/build.particle.golden_upgrade_starburst/provenance/asset-map.json +0 -115
  52. package/packages/build.particle.golden_upgrade_starburst/provenance/lineage.json +0 -40
  53. package/packages/build.particle.orange_upgrade_transform_sparks/assets/runtime/particleEmitter.v1.js +0 -210
  54. package/packages/build.particle.orange_upgrade_transform_sparks/assets/textures/b5b27ab1-e740-4398-b407-848fc2b2c897.png +0 -0
  55. package/packages/build.particle.orange_upgrade_transform_sparks/effect.json +0 -887
  56. package/packages/build.particle.orange_upgrade_transform_sparks/media/preview.gif +0 -0
  57. package/packages/build.particle.orange_upgrade_transform_sparks/media/preview.mp4 +0 -0
  58. package/packages/build.particle.orange_upgrade_transform_sparks/media/preview.webm +0 -0
  59. package/packages/build.particle.orange_upgrade_transform_sparks/media/thumbnail.png +0 -0
  60. package/packages/build.particle.orange_upgrade_transform_sparks/metadata/description.json +0 -179
  61. package/packages/build.particle.orange_upgrade_transform_sparks/provenance/03-effect.original.json +0 -859
  62. package/packages/build.particle.orange_upgrade_transform_sparks/provenance/03-normalized-vfx-to-babylon-report.json +0 -260
  63. package/packages/build.particle.orange_upgrade_transform_sparks/provenance/04-preview-overrides.json +0 -478
  64. package/packages/build.particle.orange_upgrade_transform_sparks/provenance/04-preview-tuning-report.json +0 -40
  65. package/packages/build.particle.orange_upgrade_transform_sparks/provenance/asset-map.json +0 -114
  66. package/packages/build.particle.orange_upgrade_transform_sparks/provenance/lineage.json +0 -41
  67. package/packages/build.particle.wood_chip_dust_burst/assets/runtime/particleEmitter.v1.js +0 -210
  68. package/packages/build.particle.wood_chip_dust_burst/assets/textures/effect_yanwu4.png +0 -0
  69. package/packages/build.particle.wood_chip_dust_burst/assets/textures/suipian3.png +0 -0
  70. package/packages/build.particle.wood_chip_dust_burst/effect.json +0 -1400
  71. package/packages/build.particle.wood_chip_dust_burst/media/contact-sheet.png +0 -0
  72. package/packages/build.particle.wood_chip_dust_burst/media/preview.gif +0 -0
  73. package/packages/build.particle.wood_chip_dust_burst/media/preview.mp4 +0 -0
  74. package/packages/build.particle.wood_chip_dust_burst/media/preview.webm +0 -0
  75. package/packages/build.particle.wood_chip_dust_burst/media/thumbnail.png +0 -0
  76. package/packages/build.particle.wood_chip_dust_burst/metadata/description.json +0 -173
  77. package/packages/build.particle.wood_chip_dust_burst/provenance/03-effect.original.json +0 -1277
  78. package/packages/build.particle.wood_chip_dust_burst/provenance/03-normalized-vfx-to-babylon-report.json +0 -329
  79. package/packages/build.particle.wood_chip_dust_burst/provenance/04-preview-overrides.json +0 -749
  80. package/packages/build.particle.wood_chip_dust_burst/provenance/04-preview-tuning-report.json +0 -60
  81. package/packages/build.particle.wood_chip_dust_burst/provenance/asset-map.json +0 -146
  82. package/packages/build.particle.wood_chip_dust_burst/provenance/lineage.json +0 -69
  83. package/packages/effects/building-upgrade/effect.json +0 -6
  84. package/packages/effects/building-upgrade/index.ts +0 -387
  85. package/packages/effects/character-entrance/effect.json +0 -6
  86. package/packages/effects/character-entrance/index.ts +0 -308
  87. package/packages/effects/coin-burst/index.ts +0 -48
  88. package/packages/effects/comet-trail-flame/assets/textures/trail_5x4.webp +0 -0
  89. package/packages/effects/comet-trail-flame/index.ts +0 -107
  90. package/packages/effects/conveyor-upgrade/effect.json +0 -6
  91. package/packages/effects/conveyor-upgrade/index.ts +0 -401
  92. package/packages/effects/debris-smoke/assets/models/rock_debris.glb +0 -0
  93. package/packages/effects/debris-smoke/assets/textures/smoke22.webp +0 -0
  94. package/packages/effects/debris-smoke/index.ts +0 -102
  95. package/packages/effects/door_open_gold_flakes/assets/runtime/goldFlakes.v1.js +0 -397
  96. package/packages/effects/door_open_gold_flakes/door_open_gold_flakes.json +0 -498
  97. package/packages/effects/door_open_gold_flakes/index.ts +0 -11
  98. package/packages/effects/electric-arc/assets/textures/spark_4x4.webp +0 -0
  99. package/packages/effects/electric-arc/index.ts +0 -63
  100. package/packages/effects/energy-shield/effect.json +0 -7
  101. package/packages/effects/energy-shield/index.ts +0 -432
  102. package/packages/effects/explosion/assets/textures/baozha29.webp +0 -0
  103. package/packages/effects/explosion/assets/textures/glow01.webp +0 -0
  104. package/packages/effects/explosion/assets/textures/lizi01.webp +0 -0
  105. package/packages/effects/explosion/assets/textures/xulie_lizibaozha02_5x5.webp +0 -0
  106. package/packages/effects/explosion/index.ts +0 -115
  107. package/packages/effects/ground-tile-upgrade/effect.json +0 -6
  108. package/packages/effects/ground-tile-upgrade/index.ts +0 -410
  109. package/packages/effects/hit-flash/index.ts +0 -77
  110. package/packages/effects/laser-beam/assets/textures/laser_glow.webp +0 -0
  111. package/packages/effects/laser-beam/assets/textures/laser_noise.webp +0 -0
  112. package/packages/effects/laser-beam/index.ts +0 -6
  113. package/packages/effects/laser-beam-factory.ts +0 -146
  114. package/packages/effects/lumber-cart-suction/effect.json +0 -6
  115. package/packages/effects/lumber-cart-suction/index.ts +0 -399
  116. package/packages/effects/lumber-debris-scatter/assets/models/lumber_prop_model.glb +0 -0
  117. package/packages/effects/lumber-debris-scatter/assets/models/lumber_prop_model.glb.versions/.active +0 -1
  118. package/packages/effects/lumber-debris-scatter/assets/models/lumber_prop_model.glb.versions/1781589063890_upload.glb +0 -0
  119. package/packages/effects/lumber-debris-scatter/assets/runtime/solidParticleScatter.v1.js +0 -236
  120. package/packages/effects/lumber-debris-scatter/effect.json +0 -228
  121. package/packages/effects/lumber-debris-scatter/index.ts +0 -780
  122. package/packages/effects/lumber_vehicle_gear_spin/assets/runtime/gearSpin.v1.js +0 -202
  123. package/packages/effects/lumber_vehicle_gear_spin/index.ts +0 -11
  124. package/packages/effects/lumber_vehicle_gear_spin/lumber_vehicle_gear_spin.json +0 -338
  125. package/packages/effects/lumber_vehicle_upgrade_aura/assets/runtime/upgradeAura.v1.js +0 -353
  126. package/packages/effects/lumber_vehicle_upgrade_aura/index.ts +0 -13
  127. package/packages/effects/lumber_vehicle_upgrade_aura/lumber_vehicle_upgrade_aura.json +0 -365
  128. package/packages/effects/lumber_vehicle_wood_chips/assets/runtime/solidParticleScatter.v1.js +0 -310
  129. package/packages/effects/lumber_vehicle_wood_chips/index.ts +0 -11
  130. package/packages/effects/lumber_vehicle_wood_chips/lumber_vehicle_wood_chips.json +0 -335
  131. package/packages/effects/monster-hit/index.ts +0 -129
  132. package/packages/effects/player-upgrade/effect.json +0 -6
  133. package/packages/effects/player-upgrade/index.ts +0 -640
  134. package/packages/effects/pulse-laser-volley/assets/textures/bolt_guangshu.webp +0 -0
  135. package/packages/effects/pulse-laser-volley/index.ts +0 -215
  136. package/packages/effects/resource-collect-sparkles/effect.json +0 -6
  137. package/packages/effects/resource-collect-sparkles/index.ts +0 -254
  138. package/packages/effects/run-footstep-dust/assets/runtime/runFootstepDust.v1.js +0 -215
  139. package/packages/effects/run-footstep-dust/effect.json +0 -183
  140. package/packages/effects/run-footstep-dust/index.ts +0 -377
  141. package/packages/effects/space-shared.ts +0 -120
  142. package/packages/effects/thruster-flame/index.ts +0 -306
  143. package/packages/effects/treasure-attention/effect.json +0 -7
  144. package/packages/effects/treasure-attention/index.ts +0 -630
  145. package/packages/effects/tree-chop-dust/assets/textures/tree_chop_dust_atlas.png +0 -0
  146. package/packages/effects/tree-chop-dust/effect.json +0 -8
  147. package/packages/effects/tree-chop-dust/index.ts +0 -202
  148. package/packages/effects/tree-leaf-chop-burst/assets/runtime/particleEmitter.v1.js +0 -303
  149. package/packages/effects/tree-leaf-chop-burst/assets/textures/tree_leaf_chop_burst_leaf_atlas.png +0 -0
  150. package/packages/effects/tree-leaf-chop-burst/effect.json +0 -498
  151. package/packages/effects/tree-leaf-chop-burst/index.ts +0 -294
  152. package/packages/effects/tree_chop_dust_burst/assets/runtime/particleEmitter.v1.js +0 -318
  153. package/packages/effects/tree_chop_dust_burst/assets/textures/tree_chop_dust_burst_dust.png +0 -0
  154. package/packages/effects/tree_chop_dust_burst/index.ts +0 -13
  155. package/packages/effects/tree_chop_dust_burst/tree_chop_dust_burst.json +0 -412
  156. package/packages/effects/ufo-thread-flame/assets/textures/flame_flow.webp +0 -0
  157. package/packages/effects/ufo-thread-flame/assets/textures/flame_spike.webp +0 -0
  158. package/packages/effects/ufo-thread-flame/index.ts +0 -153
  159. package/packages/effects/vehicle-exhaust-smoke/assets/textures/vehicle_exhaust_smoke_atlas.png +0 -0
  160. package/packages/effects/vehicle-exhaust-smoke/effect.json +0 -8
  161. package/packages/effects/vehicle-exhaust-smoke/index.ts +0 -298
  162. package/packages/effects/vehicle-upgrade/effect.json +0 -6
  163. package/packages/effects/vehicle-upgrade/index.ts +0 -404
  164. package/packages/effects/weapon-trail/assets/textures/trail_wedge.png +0 -0
  165. package/packages/effects/weapon-trail/index.ts +0 -317
  166. package/packages/effects/wood-crusher-sawdust/assets/runtime/particleEmitter.v1.js +0 -312
  167. package/packages/effects/wood-crusher-sawdust/assets/textures/wood_crusher_sawdust_dust.png +0 -0
  168. package/packages/effects/wood-crusher-sawdust/assets/textures/wood_crusher_sawdust_fiber.png +0 -0
  169. package/packages/effects/wood-crusher-sawdust/index.ts +0 -43
  170. package/packages/effects/wood-crusher-sawdust/wood_crusher_sawdust.json +0 -592
  171. package/packages/effects/wood-cutter-sawdust/assets/runtime/particleEmitter.v1.js +0 -312
  172. package/packages/effects/wood-cutter-sawdust/assets/textures/wood_cutter_sawdust_chip.png +0 -0
  173. package/packages/effects/wood-cutter-sawdust/assets/textures/wood_cutter_sawdust_dust.png +0 -0
  174. package/packages/effects/wood-cutter-sawdust/index.ts +0 -43
  175. package/packages/effects/wood-cutter-sawdust/wood_cutter_sawdust.json +0 -592
  176. package/packages/effects/wood-sawdust-effect-factory.ts +0 -194
  177. package/packages/effects/wood_crusher_sawdust/assets/runtime/particleEmitter.v1.js +0 -318
  178. package/packages/effects/wood_crusher_sawdust/assets/textures/wood_crusher_sawdust_dust.png +0 -0
  179. package/packages/effects/wood_crusher_sawdust/assets/textures/wood_crusher_sawdust_fiber.png +0 -0
  180. package/packages/effects/wood_crusher_sawdust/index.ts +0 -29
  181. package/packages/effects/wood_crusher_sawdust/wood_crusher_sawdust.json +0 -592
  182. package/packages/effects/wood_cutter_sawdust/assets/runtime/particleEmitter.v1.js +0 -318
  183. package/packages/effects/wood_cutter_sawdust/assets/textures/wood_cutter_sawdust_chip.png +0 -0
  184. package/packages/effects/wood_cutter_sawdust/assets/textures/wood_cutter_sawdust_dust.png +0 -0
  185. package/packages/effects/wood_cutter_sawdust/index.ts +0 -29
  186. package/packages/effects/wood_cutter_sawdust/wood_cutter_sawdust.json +0 -592
  187. package/packages/effects/wood_peel_material_test/assets/runtime/woodPeelMaterialTest.v1.js +0 -196
  188. package/packages/effects/wood_peel_material_test/index.ts +0 -11
  189. package/packages/effects/wood_peel_material_test/wood_peel_material_test.json +0 -136
  190. package/packages/env.particle.forest_edge_fog/assets/runtime/particleEmitter.v1.js +0 -210
  191. package/packages/env.particle.forest_edge_fog/assets/textures/f12a23c4-b924-4322-a260-3d982428f1e8.png +0 -0
  192. package/packages/env.particle.forest_edge_fog/assets/textures/yuan.png +0 -0
  193. package/packages/env.particle.forest_edge_fog/effect.json +0 -854
  194. package/packages/env.particle.forest_edge_fog/media/preview.gif +0 -0
  195. package/packages/env.particle.forest_edge_fog/media/preview.mp4 +0 -0
  196. package/packages/env.particle.forest_edge_fog/media/preview.webm +0 -0
  197. package/packages/env.particle.forest_edge_fog/media/thumbnail.png +0 -0
  198. package/packages/env.particle.forest_edge_fog/metadata/description.json +0 -148
  199. package/packages/env.particle.forest_edge_fog/provenance/03-effect.original.json +0 -827
  200. package/packages/env.particle.forest_edge_fog/provenance/03-normalized-vfx-to-babylon-report.json +0 -196
  201. package/packages/env.particle.forest_edge_fog/provenance/04-preview-overrides.json +0 -432
  202. package/packages/env.particle.forest_edge_fog/provenance/04-preview-tuning-report.json +0 -28
  203. package/packages/env.particle.forest_edge_fog/provenance/asset-map.json +0 -124
  204. package/packages/env.particle.forest_edge_fog/provenance/lineage.json +0 -41
  205. package/packages/generation.ts +0 -14
  206. package/packages/index.ts +0 -14
  207. package/packages/legacy-particle-runtime.ts +0 -113
  208. package/packages/manifestRuntimePackage.ts +0 -519
  209. package/packages/registry.ts +0 -85
  210. package/packages/rendering.ts +0 -13
  211. package/packages/resource.particle.viscous_oil_suction/assets/runtime/top_disk_suction/particleEmitter.v1.js +0 -424
  212. package/packages/resource.particle.viscous_oil_suction/assets/textures/Glow ad.png +0 -0
  213. package/packages/resource.particle.viscous_oil_suction/effect.json +0 -1254
  214. package/packages/resource.particle.viscous_oil_suction/media/preview.gif +0 -0
  215. package/packages/resource.particle.viscous_oil_suction/media/preview.mp4 +0 -0
  216. package/packages/resource.particle.viscous_oil_suction/media/preview.webm +0 -0
  217. package/packages/resource.particle.viscous_oil_suction/media/thumbnail.png +0 -0
  218. package/packages/resource.particle.viscous_oil_suction/metadata/description.json +0 -122
  219. package/packages/resource.particle.viscous_oil_suction/provenance/03-effect.original.json +0 -1051
  220. package/packages/resource.particle.viscous_oil_suction/provenance/03-normalized-vfx-to-babylon-report.json +0 -200
  221. package/packages/resource.particle.viscous_oil_suction/provenance/04-preview-overrides.json +0 -581
  222. package/packages/resource.particle.viscous_oil_suction/provenance/04-preview-tuning-report.json +0 -28
  223. package/packages/resource.particle.viscous_oil_suction/provenance/asset-map.json +0 -111
  224. package/packages/resource.particle.viscous_oil_suction/provenance/lineage.json +0 -45
  225. package/packages/types.ts +0 -195
  226. package/tooling/check-dist-runtime.mjs +0 -166
  227. package/tooling/generate-index.mjs +0 -55
  228. package/tooling/test-guardrails.mjs +0 -157
  229. package/tooling/validate-boundary.mjs +0 -92
  230. package/tooling/validate-effects.mjs +0 -304
  231. package/tooling/validate.mjs +0 -53
@@ -1,827 +0,0 @@
1
- {
2
- "schemaVersion": "vfx-effect-package/1.0",
3
- "id": "world.particle.effect_evn_fog",
4
- "name": {
5
- "zh": "Effect_Evn_Fog",
6
- "en": "Effect_Evn_Fog"
7
- },
8
- "source": {
9
- "engine": "cocos",
10
- "engineVersion": "3.8.7",
11
- "projectPath": "assets/ArtResources/Effect/Effect_Evn_Fog/prefab",
12
- "rootAsset": "assets/ArtResources/Effect/Effect_Evn_Fog/prefab/Effect_Evn_Fog.prefab",
13
- "sourceId": "34bb52e3-a9a3-45a3-95aa-055fff82e832",
14
- "extractedAt": "2026-05-19T14:51:08.022Z",
15
- "extractorVersion": "normalized-vfx-to-babylon/0.1.0"
16
- },
17
- "assets": {
18
- "textures": [
19
- {
20
- "kind": "texture",
21
- "id": "yuan",
22
- "packagePath": "assets/textures/yuan.png",
23
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/assets/ArtResources/Effect/Effect_Evn_Fog/mat/yuan.png",
24
- "sourceId": "d48ae210-4e88-4021-b408-164a096c2587@6c48a",
25
- "width": 64,
26
- "height": 64
27
- },
28
- {
29
- "kind": "texture",
30
- "id": "f12a23c4_b924_4322_a260_3d982428f1e8",
31
- "packagePath": "assets/textures/f12a23c4-b924-4322-a260-3d982428f1e8.png",
32
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/library/f1/f12a23c4-b924-4322-a260-3d982428f1e8.png",
33
- "sourceId": "f12a23c4-b924-4322-a260-3d982428f1e8@6c48a",
34
- "width": 32,
35
- "height": 32
36
- }
37
- ],
38
- "materials": [
39
- {
40
- "kind": "material",
41
- "id": "env_cloud",
42
- "packagePath": "assets/materials/env_cloud.mtl",
43
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/assets/ArtResources/Effect/Effect_Evn_Fog/mat/env_cloud.mtl",
44
- "sourceId": "aef8d5b0-ab81-4929-9a24-8e16d42f0c35"
45
- }
46
- ],
47
- "shaders": [],
48
- "meshes": [],
49
- "sounds": [],
50
- "scripts": [
51
- {
52
- "kind": "script",
53
- "id": "particle_emitter_v1",
54
- "packagePath": "assets/runtime/particleEmitter.v1.js",
55
- "runtimeId": "particleEmitter/v1",
56
- "engine": "babylon",
57
- "moduleFormat": "esm",
58
- "exports": [
59
- "createParticleEmitterRuntime",
60
- "runtimeContract"
61
- ],
62
- "mimeType": "text/javascript"
63
- }
64
- ],
65
- "raw": [
66
- {
67
- "kind": "raw",
68
- "id": "02-normalized-vfx",
69
- "packagePath": "source/02-normalized-vfx.json",
70
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/vfx-intermediate/cocos-normalized-vfx/effect_evn_fog/02-normalized-vfx.json"
71
- },
72
- {
73
- "kind": "raw",
74
- "id": "01-source-dump",
75
- "packagePath": "source/01-source-dump.json",
76
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/vfx-intermediate/cocos-source-dumps/effect_evn_fog/01-source-dump.json"
77
- },
78
- {
79
- "kind": "raw",
80
- "id": "effect_evn_fog",
81
- "packagePath": "source/raw/Effect_Evn_Fog.prefab",
82
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/assets/ArtResources/Effect/Effect_Evn_Fog/prefab/Effect_Evn_Fog.prefab",
83
- "sourceId": "34bb52e3-a9a3-45a3-95aa-055fff82e832"
84
- },
85
- {
86
- "kind": "raw",
87
- "id": "effect_evn_fog.meta",
88
- "packagePath": "source/raw/Effect_Evn_Fog.prefab.meta",
89
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/assets/ArtResources/Effect/Effect_Evn_Fog/prefab/Effect_Evn_Fog.prefab.meta",
90
- "sourceId": "34bb52e3-a9a3-45a3-95aa-055fff82e832"
91
- }
92
- ]
93
- },
94
- "emitters": [
95
- {
96
- "name": "Effect_Evn_Fog",
97
- "sourceNodeName": "Effect_Evn_Fog",
98
- "enabled": true,
99
- "blendMode": "STANDARD",
100
- "particleTexturePath": "assets/textures/yuan.png",
101
- "materialSourcePath": "assets/materials/env_cloud.mtl",
102
- "capacity": 200,
103
- "manualEmitCount": 0,
104
- "emitRate": 50,
105
- "minSize": 4,
106
- "maxSize": 4,
107
- "minLifeTime": 4,
108
- "maxLifeTime": 4,
109
- "minEmitPower": 0.2,
110
- "maxEmitPower": 0.2,
111
- "updateSpeed": 0.01,
112
- "gravity": {
113
- "x": 0,
114
- "y": 0,
115
- "z": 0
116
- },
117
- "shape": {
118
- "sourceType": "Box",
119
- "sourceEnum": 0,
120
- "radius": 1,
121
- "radiusRange": 1,
122
- "angle": 0.4363323129985824,
123
- "type": "Box",
124
- "direction1": {
125
- "x": 0,
126
- "y": 1,
127
- "z": 0
128
- },
129
- "direction2": {
130
- "x": 0,
131
- "y": 1,
132
- "z": 0
133
- },
134
- "minEmitBox": {
135
- "x": -10,
136
- "y": -2.5,
137
- "z": -10
138
- },
139
- "maxEmitBox": {
140
- "x": 10,
141
- "y": 2.5,
142
- "z": 10
143
- }
144
- },
145
- "renderColor": {
146
- "color": {
147
- "r": 0.7529411764705882,
148
- "g": 0.7529411764705882,
149
- "b": 0.7529411764705882,
150
- "a": 0.2901960784313726
151
- },
152
- "colorIntensity": 2,
153
- "alphaIntensity": 2
154
- },
155
- "alphaKeys": [
156
- {
157
- "time": 0,
158
- "alpha": 0
159
- },
160
- {
161
- "time": 0.3075117370892019,
162
- "alpha": 1
163
- },
164
- {
165
- "time": 0.7206572769953051,
166
- "alpha": 1
167
- },
168
- {
169
- "time": 0.9765258215962441,
170
- "alpha": 0
171
- }
172
- ],
173
- "colorKeys": [],
174
- "sizeKeys": [],
175
- "runtime": {
176
- "adapter": "particleEmitter/v1",
177
- "stopAfterSeconds": 999999
178
- },
179
- "source": {
180
- "simulationSpace": 1,
181
- "renderMode": 0,
182
- "velocityScale": 1,
183
- "lengthScale": 1,
184
- "alignSpace": 2,
185
- "normalizedVfxEmitterId": "Effect_Evn_Fog"
186
- },
187
- "sourceMap": null,
188
- "mapping": [
189
- {
190
- "cocos": "$[2]._capacity",
191
- "babylon": "capacity"
192
- },
193
- {
194
- "cocos": "$[2].rateOverTime",
195
- "babylon": "emitRate"
196
- },
197
- {
198
- "cocos": "$[2].bursts[0].count",
199
- "babylon": "manualEmitCount"
200
- },
201
- {
202
- "cocos": "$[2].startSize",
203
- "babylon": "minSize/maxSize"
204
- },
205
- {
206
- "cocos": "$[2].startLifetime",
207
- "babylon": "minLifeTime/maxLifeTime"
208
- },
209
- {
210
- "cocos": "$[2].startSpeed",
211
- "babylon": "minEmitPower/maxEmitPower"
212
- },
213
- {
214
- "cocos": "$[2].rotationOverLifetime.z",
215
- "babylon": "minAngularSpeed/maxAngularSpeed"
216
- },
217
- {
218
- "cocos": "$[2].simulationSpeed",
219
- "babylon": "updateSpeed"
220
- },
221
- {
222
- "cocos": "$[2].gravityModifier",
223
- "babylon": "gravity"
224
- },
225
- {
226
- "cocos": "$[2]._renderMode",
227
- "babylon": "billboardMode"
228
- },
229
- {
230
- "cocos": "$[2]._velocityScale",
231
- "babylon": "stretchedBillboard.velocityScale"
232
- },
233
- {
234
- "cocos": "$[2]._lengthScale",
235
- "babylon": "stretchedBillboard.lengthScale"
236
- },
237
- {
238
- "cocos": "$[2]._velocityScale + $[2]._lengthScale + $[2].startSpeed",
239
- "babylon": "minScaleY/maxScaleY"
240
- },
241
- {
242
- "cocos": "$[2].startColor + material._props[0].tintColor",
243
- "babylon": "renderColor.color + renderColor.colorIntensity/renderColor.alphaIntensity -> color1/color2/colorDead"
244
- },
245
- {
246
- "cocos": "$[2]._shapeModule",
247
- "babylon": "shape"
248
- }
249
- ],
250
- "colorMapping": {
251
- "renderFormula": "2.0 * startColor * materialTintColor * texture",
252
- "multiplier": 2,
253
- "alphaMultiplier": 2,
254
- "cocosStartColor": {
255
- "r": 1,
256
- "g": 1,
257
- "b": 1,
258
- "a": 1
259
- },
260
- "cocosMaterialTintColor": {
261
- "r": 0.7529411764705882,
262
- "g": 0.7529411764705882,
263
- "b": 0.7529411764705882,
264
- "a": 0.2901960784313726
265
- },
266
- "renderColor": {
267
- "r": 0.7529411764705882,
268
- "g": 0.7529411764705882,
269
- "b": 0.7529411764705882,
270
- "a": 0.2901960784313726
271
- },
272
- "babylonColor": {
273
- "r": 1.5058823529411764,
274
- "g": 1.5058823529411764,
275
- "b": 1.5058823529411764,
276
- "a": 0.5803921568627451
277
- },
278
- "babylonColorDead": {
279
- "r": 1.5058823529411764,
280
- "g": 1.5058823529411764,
281
- "b": 1.5058823529411764,
282
- "a": 0
283
- }
284
- },
285
- "cocosSource": {
286
- "source": {
287
- "engine": "cocos",
288
- "componentIndex": 2,
289
- "componentPath": "$[2]",
290
- "nodeIndex": 1,
291
- "rendererIndex": 59,
292
- "componentType": "cc.ParticleSystem"
293
- },
294
- "lifecycle": {
295
- "duration": 5,
296
- "loop": true,
297
- "playOnAwake": true,
298
- "prewarm": true,
299
- "simulationSpeed": 1,
300
- "simulationSpace": 1
301
- },
302
- "transform": {
303
- "position": {
304
- "x": -40.687,
305
- "y": 6.557,
306
- "z": -19.19
307
- },
308
- "rotation": {
309
- "x": 0,
310
- "y": 0,
311
- "z": 0
312
- },
313
- "scale": {
314
- "x": 1,
315
- "y": 1,
316
- "z": 1
317
- }
318
- },
319
- "emission": {
320
- "capacity": 200,
321
- "rateOverTime": 50,
322
- "rateOverDistance": 0,
323
- "bursts": []
324
- },
325
- "lifetime": {
326
- "startLifetime": {
327
- "mode": "constant",
328
- "min": 4,
329
- "max": 4
330
- },
331
- "min": 4,
332
- "max": 4
333
- },
334
- "size": {
335
- "startSize": {
336
- "mode": "constant",
337
- "min": 4,
338
- "max": 4
339
- },
340
- "min": 4,
341
- "max": 4,
342
- "overLifetime": {
343
- "enabled": false,
344
- "keys": [],
345
- "separateAxes": false,
346
- "axisKeys": null
347
- }
348
- },
349
- "speed": {
350
- "startSpeed": {
351
- "mode": "constant",
352
- "min": 0.2,
353
- "max": 0.2
354
- },
355
- "min": 0.2,
356
- "max": 0.2
357
- },
358
- "gravity": {
359
- "modifier": 0,
360
- "vector": {
361
- "x": 0,
362
- "y": 0,
363
- "z": 0
364
- }
365
- },
366
- "shape": {
367
- "enabled": true,
368
- "type": "Box",
369
- "sourceEnum": 0,
370
- "radius": 1,
371
- "radiusThickness": 1,
372
- "angle": 0.4363323129985824,
373
- "scale": {
374
- "__type__": "cc.Vec3",
375
- "x": 20,
376
- "y": 5,
377
- "z": 20
378
- },
379
- "position": {
380
- "__type__": "cc.Vec3",
381
- "x": 0,
382
- "y": 0,
383
- "z": 0
384
- },
385
- "rotation": {
386
- "__type__": "cc.Vec3",
387
- "x": 0,
388
- "y": 0,
389
- "z": 0
390
- },
391
- "minEmit": {
392
- "x": -10,
393
- "y": -2.5,
394
- "z": -10
395
- },
396
- "maxEmit": {
397
- "x": 10,
398
- "y": 2.5,
399
- "z": 10
400
- }
401
- },
402
- "render": {
403
- "mode": 0,
404
- "velocityScale": 1,
405
- "lengthScale": 1,
406
- "alignSpace": 2,
407
- "blendMode": "STANDARD",
408
- "material": {
409
- "uuid": "aef8d5b0-ab81-4929-9a24-8e16d42f0c35",
410
- "path": "assets/ArtResources/Effect/Effect_Evn_Fog/mat/env_cloud.mtl",
411
- "techIdx": 1
412
- },
413
- "texture": {
414
- "uuid": "d48ae210-4e88-4021-b408-164a096c2587@6c48a",
415
- "path": "assets/ArtResources/Effect/Effect_Evn_Fog/mat/yuan.png",
416
- "width": 64,
417
- "height": 64
418
- },
419
- "mesh": null,
420
- "effectAsset": {
421
- "uuid": "d1346436-ac96-4271-b863-1f4fdead95b0",
422
- "name": "particles/builtin-particle",
423
- "classification": "builtin-effect"
424
- }
425
- },
426
- "color": {
427
- "startColor": {
428
- "r": 1,
429
- "g": 1,
430
- "b": 1,
431
- "a": 1
432
- },
433
- "materialTintColor": {
434
- "r": 0.7529411764705882,
435
- "g": 0.7529411764705882,
436
- "b": 0.7529411764705882,
437
- "a": 0.2901960784313726
438
- },
439
- "renderFormula": "2.0 * startColor * materialTintColor * texture",
440
- "overLifetime": {
441
- "enabled": true,
442
- "alphaKeys": [
443
- {
444
- "time": 0,
445
- "alpha": 0
446
- },
447
- {
448
- "time": 0.3075117370892019,
449
- "alpha": 1
450
- },
451
- {
452
- "time": 0.7206572769953051,
453
- "alpha": 1
454
- },
455
- {
456
- "time": 0.9765258215962441,
457
- "alpha": 0
458
- }
459
- ],
460
- "colorKeys": []
461
- }
462
- },
463
- "rotation": {
464
- "overLifetime": {
465
- "enabled": false,
466
- "z": {
467
- "mode": "constant",
468
- "min": 0,
469
- "max": 0
470
- }
471
- }
472
- },
473
- "modules": {
474
- "colorOverLifetime": {
475
- "enabled": true,
476
- "sourcePreservedIn": "source/02-normalized-vfx.json"
477
- },
478
- "sizeOvertime": {
479
- "enabled": false,
480
- "sourcePreservedIn": "source/02-normalized-vfx.json"
481
- },
482
- "rotationOvertime": {
483
- "enabled": false,
484
- "sourcePreservedIn": "source/02-normalized-vfx.json"
485
- },
486
- "velocityOvertime": {
487
- "enabled": false,
488
- "sourcePreservedIn": "source/02-normalized-vfx.json"
489
- },
490
- "forceOvertime": {
491
- "enabled": false,
492
- "sourcePreservedIn": "source/02-normalized-vfx.json"
493
- },
494
- "limitVelocityOvertime": {
495
- "enabled": false,
496
- "sourcePreservedIn": "source/02-normalized-vfx.json"
497
- },
498
- "textureAnimation": {
499
- "enabled": false,
500
- "sourcePreservedIn": "source/02-normalized-vfx.json"
501
- },
502
- "noise": {
503
- "enabled": false,
504
- "sourcePreservedIn": "source/02-normalized-vfx.json"
505
- },
506
- "trail": {
507
- "enabled": false,
508
- "sourcePreservedIn": "source/02-normalized-vfx.json"
509
- }
510
- }
511
- }
512
- }
513
- ],
514
- "runtime": {
515
- "space": "world",
516
- "lifecycle": "sustained",
517
- "anchor": {
518
- "defaultBone": null,
519
- "defaultMesh": null,
520
- "defaultOffset": {
521
- "x": 0,
522
- "y": 1,
523
- "z": 0
524
- }
525
- },
526
- "start": [
527
- "Instantiate Babylon particle systems from 03-effect.json emitters"
528
- ],
529
- "update": [
530
- "Apply Babylon tunable parameter overrides"
531
- ],
532
- "stop": [
533
- "Stop and dispose particle systems"
534
- ],
535
- "adapters": [
536
- {
537
- "id": "particleEmitter/v1",
538
- "engine": "babylon",
539
- "entry": "assets/runtime/particleEmitter.v1.js",
540
- "moduleFormat": "esm",
541
- "exports": [
542
- "createParticleEmitterRuntime",
543
- "runtimeContract"
544
- ]
545
- }
546
- ]
547
- },
548
- "tunableParams": [
549
- {
550
- "key": "Effect_Evn_Fog.capacity",
551
- "labelZh": "Effect_Evn_Fog 容量",
552
- "type": "number",
553
- "default": 200,
554
- "min": 1,
555
- "max": 600,
556
- "step": 1,
557
- "target": {
558
- "emitter": "Effect_Evn_Fog",
559
- "property": "capacity",
560
- "operator": "set"
561
- }
562
- },
563
- {
564
- "key": "Effect_Evn_Fog.manualEmitCount",
565
- "labelZh": "Effect_Evn_Fog 一次性爆发数量",
566
- "type": "number",
567
- "default": 0,
568
- "min": 0,
569
- "max": 100,
570
- "step": 1,
571
- "target": {
572
- "emitter": "Effect_Evn_Fog",
573
- "property": "manualEmitCount",
574
- "operator": "set"
575
- }
576
- },
577
- {
578
- "key": "Effect_Evn_Fog.emitRate",
579
- "labelZh": "Effect_Evn_Fog 发射率",
580
- "type": "number",
581
- "default": 50,
582
- "min": 0,
583
- "max": 200,
584
- "step": 1,
585
- "unit": "particles/s",
586
- "target": {
587
- "emitter": "Effect_Evn_Fog",
588
- "property": "emitRate",
589
- "operator": "set"
590
- }
591
- },
592
- {
593
- "key": "Effect_Evn_Fog.minSize",
594
- "labelZh": "Effect_Evn_Fog 最小尺寸",
595
- "type": "number",
596
- "default": 4,
597
- "min": 0,
598
- "max": 12,
599
- "step": 0.01,
600
- "target": {
601
- "emitter": "Effect_Evn_Fog",
602
- "property": "minSize",
603
- "operator": "set"
604
- }
605
- },
606
- {
607
- "key": "Effect_Evn_Fog.maxSize",
608
- "labelZh": "Effect_Evn_Fog 最大尺寸",
609
- "type": "number",
610
- "default": 4,
611
- "min": 0,
612
- "max": 12,
613
- "step": 0.01,
614
- "target": {
615
- "emitter": "Effect_Evn_Fog",
616
- "property": "maxSize",
617
- "operator": "set"
618
- }
619
- },
620
- {
621
- "key": "Effect_Evn_Fog.minLifeTime",
622
- "labelZh": "Effect_Evn_Fog 最小生命周期",
623
- "type": "number",
624
- "default": 4,
625
- "min": 0,
626
- "max": 16,
627
- "step": 0.01,
628
- "unit": "s",
629
- "target": {
630
- "emitter": "Effect_Evn_Fog",
631
- "property": "minLifeTime",
632
- "operator": "set"
633
- }
634
- },
635
- {
636
- "key": "Effect_Evn_Fog.maxLifeTime",
637
- "labelZh": "Effect_Evn_Fog 最大生命周期",
638
- "type": "number",
639
- "default": 4,
640
- "min": 0,
641
- "max": 16,
642
- "step": 0.01,
643
- "unit": "s",
644
- "target": {
645
- "emitter": "Effect_Evn_Fog",
646
- "property": "maxLifeTime",
647
- "operator": "set"
648
- }
649
- },
650
- {
651
- "key": "Effect_Evn_Fog.minEmitPower",
652
- "labelZh": "Effect_Evn_Fog 最小发射力",
653
- "type": "number",
654
- "default": 0.2,
655
- "min": 0,
656
- "max": 1,
657
- "step": 0.01,
658
- "target": {
659
- "emitter": "Effect_Evn_Fog",
660
- "property": "minEmitPower",
661
- "operator": "set"
662
- }
663
- },
664
- {
665
- "key": "Effect_Evn_Fog.maxEmitPower",
666
- "labelZh": "Effect_Evn_Fog 最大发射力",
667
- "type": "number",
668
- "default": 0.2,
669
- "min": 0,
670
- "max": 1,
671
- "step": 0.01,
672
- "target": {
673
- "emitter": "Effect_Evn_Fog",
674
- "property": "maxEmitPower",
675
- "operator": "set"
676
- }
677
- },
678
- {
679
- "key": "Effect_Evn_Fog.updateSpeed",
680
- "labelZh": "Effect_Evn_Fog 模拟步长",
681
- "type": "number",
682
- "default": 0.01,
683
- "min": 0.0005,
684
- "max": 0.04,
685
- "step": 0.0005,
686
- "target": {
687
- "emitter": "Effect_Evn_Fog",
688
- "property": "updateSpeed",
689
- "operator": "set"
690
- }
691
- },
692
- {
693
- "key": "Effect_Evn_Fog.runtime.stopAfterSeconds",
694
- "labelZh": "Effect_Evn_Fog 播放时长",
695
- "type": "number",
696
- "default": 999999,
697
- "min": 0.1,
698
- "max": 10,
699
- "step": 0.1,
700
- "unit": "s",
701
- "target": {
702
- "emitter": "Effect_Evn_Fog",
703
- "property": "runtime.stopAfterSeconds",
704
- "operator": "set"
705
- }
706
- },
707
- {
708
- "key": "Effect_Evn_Fog.gravity",
709
- "labelZh": "Effect_Evn_Fog 重力",
710
- "type": "vector3",
711
- "default": {
712
- "x": 0,
713
- "y": 0,
714
- "z": 0
715
- },
716
- "target": {
717
- "emitter": "Effect_Evn_Fog",
718
- "property": "gravity",
719
- "operator": "set"
720
- }
721
- },
722
- {
723
- "key": "Effect_Evn_Fog.renderColor.color",
724
- "labelZh": "Effect_Evn_Fog renderColor.color",
725
- "type": "color",
726
- "default": {
727
- "r": 0.7529411764705882,
728
- "g": 0.7529411764705882,
729
- "b": 0.7529411764705882,
730
- "a": 0.2901960784313726
731
- },
732
- "target": {
733
- "emitter": "Effect_Evn_Fog",
734
- "property": "renderColor.color",
735
- "operator": "set"
736
- }
737
- },
738
- {
739
- "key": "Effect_Evn_Fog.renderColor.colorIntensity",
740
- "labelZh": "Effect_Evn_Fog renderColor.colorIntensity",
741
- "type": "number",
742
- "default": 2,
743
- "min": 0,
744
- "max": 8,
745
- "step": 0.05,
746
- "target": {
747
- "emitter": "Effect_Evn_Fog",
748
- "property": "renderColor.colorIntensity",
749
- "operator": "set"
750
- }
751
- },
752
- {
753
- "key": "Effect_Evn_Fog.renderColor.alphaIntensity",
754
- "labelZh": "Effect_Evn_Fog renderColor.alphaIntensity",
755
- "type": "number",
756
- "default": 2,
757
- "min": 0,
758
- "max": 8,
759
- "step": 0.05,
760
- "target": {
761
- "emitter": "Effect_Evn_Fog",
762
- "property": "renderColor.alphaIntensity",
763
- "operator": "set"
764
- }
765
- },
766
- {
767
- "key": "Effect_Evn_Fog.shape.type",
768
- "labelZh": "Effect_Evn_Fog 发射器形状",
769
- "type": "enum",
770
- "default": "Box",
771
- "options": [
772
- "Box",
773
- "Sphere",
774
- "Cone",
775
- "SphereDirected",
776
- "Hemisphere",
777
- "Mesh",
778
- "Unknown"
779
- ],
780
- "target": {
781
- "emitter": "Effect_Evn_Fog",
782
- "property": "shape.type",
783
- "operator": "set"
784
- }
785
- }
786
- ],
787
- "babylon": {
788
- "driver": "particle",
789
- "entryFile": "apps/vfx_asset_library/frontend/src/runtime/drivers/particleDriver.ts",
790
- "previewConfig": {
791
- "textureUrl": "assets/textures/yuan.png",
792
- "emitterCount": 1,
793
- "effectFile": "03-effect.json",
794
- "normalizedVfx": "source/02-normalized-vfx.json"
795
- }
796
- },
797
- "review": {
798
- "status": "auto",
799
- "artistNotes": [
800
- "Stage 3 auto-built from 02-normalized-vfx.json.",
801
- "Needs Babylon visual review and Stage 4 tuning before approval."
802
- ],
803
- "approvedBy": null,
804
- "approvedAt": null,
805
- "history": []
806
- },
807
- "recording": null,
808
- "aiDescription": null,
809
- "search": {
810
- "tags": [
811
- "cocos",
812
- "particle",
813
- "stage3",
814
- "effect_evn_fog"
815
- ],
816
- "descriptionZh": "从 Cocos Normalized VFX Spec 自动构建的 Babylon 粒子特效,包含 1 个子发射器。",
817
- "descriptionEn": "Babylon particle effect built from a Cocos Normalized VFX Spec with 1 emitters.",
818
- "useCases": [
819
- "vfx preview",
820
- "cocos migration",
821
- "babylon integration"
822
- ],
823
- "negativeUseCases": [
824
- "approved final art without Stage 4 visual tuning"
825
- ]
826
- }
827
- }