@fps-games/vfx 0.3.2 → 0.3.4

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