@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,762 +0,0 @@
1
- {
2
- "schemaVersion": "vfx-effect-package/1.0",
3
- "id": "world.particle.effect_build_up1_dian",
4
- "name": {
5
- "zh": "Effect_Build_Up1_Dian",
6
- "en": "Effect_Build_Up1_Dian"
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": "effect_guangdian",
22
- "packagePath": "assets/textures/effect_guangdian.png",
23
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/assets/ArtResources/Effect/Effect_Build_Up1/tex/effect_guangdian.png",
24
- "sourceId": "3841c09a-7102-4785-869a-81d7c2209501@6c48a",
25
- "width": 128,
26
- "height": 128
27
- }
28
- ],
29
- "materials": [
30
- {
31
- "kind": "material",
32
- "id": "effect_guangdian",
33
- "packagePath": "assets/materials/effect_guangdian.mtl",
34
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/scaffolds/cocos-vfx-scaffold/assets/ArtResources/Effect/Effect_Build_Up1/mat/effect_guangdian.mtl",
35
- "sourceId": "a347f6f0-a285-414a-8a8b-04dc48b8a688"
36
- }
37
- ],
38
- "meshes": [],
39
- "shaders": [],
40
- "sounds": [],
41
- "scripts": [],
42
- "raw": [
43
- {
44
- "kind": "raw",
45
- "id": "02-normalized-vfx",
46
- "packagePath": "source/02-normalized-vfx.json",
47
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/vfx-intermediate/cocos-normalized-vfx/effect_build_up1/02-normalized-vfx.json"
48
- },
49
- {
50
- "kind": "raw",
51
- "id": "01-source-dump",
52
- "packagePath": "source/01-source-dump.json",
53
- "sourcePath": "/Users/admin/Code/FPS/fps-vfx-agent-cocos-to-babylon/vfx-intermediate/cocos-source-dumps/effect_build_up1/01-source-dump.json"
54
- },
55
- {
56
- "kind": "raw",
57
- "id": "effect_build_up1",
58
- "packagePath": "source/raw/Effect_Build_Up1.prefab",
59
- "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",
60
- "sourceId": "f4b9b9eb-a0d0-43aa-ae18-8b702f2d2dec"
61
- },
62
- {
63
- "kind": "raw",
64
- "id": "effect_build_up1.meta",
65
- "packagePath": "source/raw/Effect_Build_Up1.prefab.meta",
66
- "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",
67
- "sourceId": "f4b9b9eb-a0d0-43aa-ae18-8b702f2d2dec"
68
- }
69
- ]
70
- },
71
- "emitters": [
72
- {
73
- "name": "effect_dian",
74
- "sourceNodeName": "effect_dian",
75
- "enabled": true,
76
- "blendMode": "ADD",
77
- "particleTexturePath": "assets/textures/effect_guangdian.png",
78
- "materialSourcePath": "assets/materials/effect_guangdian.mtl",
79
- "capacity": 100,
80
- "manualEmitCount": 20,
81
- "emitRate": 0,
82
- "minSize": 2,
83
- "maxSize": 3,
84
- "minLifeTime": 0.7,
85
- "maxLifeTime": 1,
86
- "minEmitPower": 25,
87
- "maxEmitPower": 35,
88
- "updateSpeed": 0.01,
89
- "gravity": {
90
- "x": 0,
91
- "y": 0,
92
- "z": 0
93
- },
94
- "shape": {
95
- "sourceType": "Box",
96
- "sourceEnum": 0,
97
- "radius": 1,
98
- "angle": 0,
99
- "type": "Box",
100
- "minEmitBox": {
101
- "x": -7.5,
102
- "y": -5,
103
- "z": -5
104
- },
105
- "maxEmitBox": {
106
- "x": 7.5,
107
- "y": 5,
108
- "z": 5
109
- },
110
- "radiusRange": 0
111
- },
112
- "alphaKeys": [
113
- {
114
- "time": 0,
115
- "alpha": 1
116
- }
117
- ],
118
- "colorKeys": [
119
- {
120
- "time": 0,
121
- "color": {
122
- "r": 1,
123
- "g": 1,
124
- "b": 1,
125
- "a": 1
126
- }
127
- },
128
- {
129
- "time": 0.9859154929577465,
130
- "color": {
131
- "r": 1,
132
- "g": 1,
133
- "b": 1,
134
- "a": 1
135
- }
136
- }
137
- ],
138
- "sizeKeys": [
139
- {
140
- "time": 0,
141
- "size": 1
142
- },
143
- {
144
- "time": 1,
145
- "size": 0
146
- }
147
- ],
148
- "source": {
149
- "simulationSpace": 1,
150
- "renderMode": 0,
151
- "alignSpace": 2,
152
- "normalizedVfxEmitterId": "effect_dian"
153
- },
154
- "sourceMap": null,
155
- "mapping": [
156
- {
157
- "cocos": "$[65]._capacity",
158
- "babylon": "capacity"
159
- },
160
- {
161
- "cocos": "$[65].rateOverTime",
162
- "babylon": "emitRate"
163
- },
164
- {
165
- "cocos": "$[65].bursts[0].count",
166
- "babylon": "manualEmitCount"
167
- },
168
- {
169
- "cocos": "$[65].startSize",
170
- "babylon": "minSize/maxSize"
171
- },
172
- {
173
- "cocos": "$[65].startLifetime",
174
- "babylon": "minLifeTime/maxLifeTime"
175
- },
176
- {
177
- "cocos": "$[65].startSpeed",
178
- "babylon": "minEmitPower/maxEmitPower"
179
- },
180
- {
181
- "cocos": "$[65].simulationSpeed",
182
- "babylon": "updateSpeed"
183
- },
184
- {
185
- "cocos": "$[65].gravityModifier",
186
- "babylon": "gravity"
187
- },
188
- {
189
- "cocos": "$[65].startColor + material._props[0].tintColor",
190
- "babylon": "color1/color2/colorDead"
191
- },
192
- {
193
- "cocos": "$[65]._shapeModule",
194
- "babylon": "shape"
195
- }
196
- ],
197
- "colorMapping": {
198
- "renderFormula": "2.0 * startColor * materialTintColor * texture",
199
- "multiplier": 2,
200
- "cocosStartColor": {
201
- "r": 1,
202
- "g": 1,
203
- "b": 1,
204
- "a": 1
205
- },
206
- "cocosMaterialTintColor": {
207
- "r": 1,
208
- "g": 0.5607843137254902,
209
- "b": 0.26666666666666666,
210
- "a": 0.4235294117647059
211
- },
212
- "babylonColorDead": {
213
- "r": 2,
214
- "g": 1.1215686274509804,
215
- "b": 0.5333333333333333,
216
- "a": 1
217
- },
218
- "renderColor": {
219
- "r": 2,
220
- "g": 1.1215686274509804,
221
- "b": 0.5333333333333333,
222
- "a": 0.8470588235294118
223
- },
224
- "babylonColor": {
225
- "r": 4,
226
- "g": 2.243137254901961,
227
- "b": 1.0666666666666667,
228
- "a": 1
229
- }
230
- },
231
- "cocosSource": {
232
- "source": {
233
- "engine": "cocos",
234
- "componentIndex": 65,
235
- "componentPath": "$[65]",
236
- "nodeIndex": 64,
237
- "rendererIndex": 124,
238
- "componentType": "cc.ParticleSystem"
239
- },
240
- "lifecycle": {
241
- "duration": 1,
242
- "loop": false,
243
- "playOnAwake": true,
244
- "prewarm": false,
245
- "simulationSpeed": 1,
246
- "simulationSpace": 1
247
- },
248
- "transform": {
249
- "position": {
250
- "x": 0,
251
- "y": 1.421,
252
- "z": 0
253
- },
254
- "rotation": {
255
- "x": 89.99999999999999,
256
- "y": 0,
257
- "z": 0
258
- },
259
- "scale": {
260
- "x": 0.5,
261
- "y": 0.4,
262
- "z": 0.5
263
- }
264
- },
265
- "emission": {
266
- "capacity": 100,
267
- "rateOverTime": 0,
268
- "rateOverDistance": 0,
269
- "bursts": [
270
- {
271
- "count": 20
272
- }
273
- ]
274
- },
275
- "lifetime": {
276
- "startLifetime": {
277
- "mode": "twoConstants",
278
- "min": 1,
279
- "max": 0.7
280
- },
281
- "min": 0.7,
282
- "max": 1
283
- },
284
- "size": {
285
- "startSize": {
286
- "mode": "twoConstants",
287
- "min": 2,
288
- "max": 3
289
- },
290
- "min": 2,
291
- "max": 3,
292
- "overLifetime": {
293
- "enabled": true,
294
- "keys": [
295
- {
296
- "time": 0,
297
- "size": 1
298
- },
299
- {
300
- "time": 1,
301
- "size": 0
302
- }
303
- ],
304
- "separateAxes": false,
305
- "axisKeys": null
306
- }
307
- },
308
- "speed": {
309
- "startSpeed": {
310
- "mode": "twoConstants",
311
- "min": 35,
312
- "max": 25
313
- },
314
- "min": 25,
315
- "max": 35
316
- },
317
- "gravity": {
318
- "modifier": 0,
319
- "vector": {
320
- "x": 0,
321
- "y": 0,
322
- "z": 0
323
- }
324
- },
325
- "shape": {
326
- "enabled": true,
327
- "type": "Box",
328
- "sourceEnum": 0,
329
- "radius": 1,
330
- "radiusThickness": 0,
331
- "angle": 0,
332
- "scale": {
333
- "__type__": "cc.Vec3",
334
- "x": 15,
335
- "y": 10,
336
- "z": 10
337
- },
338
- "position": {
339
- "__type__": "cc.Vec3",
340
- "x": 0,
341
- "y": 0,
342
- "z": 0
343
- },
344
- "rotation": {
345
- "__type__": "cc.Vec3",
346
- "x": 0,
347
- "y": 0,
348
- "z": 0
349
- },
350
- "minEmit": {
351
- "x": -7.5,
352
- "y": -5,
353
- "z": -5
354
- },
355
- "maxEmit": {
356
- "x": 7.5,
357
- "y": 5,
358
- "z": 5
359
- }
360
- },
361
- "render": {
362
- "mode": 0,
363
- "alignSpace": 2,
364
- "blendMode": "ADD",
365
- "material": {
366
- "uuid": "a347f6f0-a285-414a-8a8b-04dc48b8a688",
367
- "path": "assets/ArtResources/Effect/Effect_Build_Up1/mat/effect_guangdian.mtl",
368
- "techIdx": 0
369
- },
370
- "texture": {
371
- "uuid": "3841c09a-7102-4785-869a-81d7c2209501@6c48a",
372
- "path": "assets/ArtResources/Effect/Effect_Build_Up1/tex/effect_guangdian.png",
373
- "width": 128,
374
- "height": 128
375
- },
376
- "mesh": null,
377
- "effectAsset": {
378
- "uuid": "d1346436-ac96-4271-b863-1f4fdead95b0",
379
- "name": "particles/builtin-particle",
380
- "classification": "builtin-effect"
381
- },
382
- "runtime": {
383
- "adapter": "particleEmitter/v1"
384
- }
385
- },
386
- "color": {
387
- "startColor": {
388
- "r": 1,
389
- "g": 1,
390
- "b": 1,
391
- "a": 1
392
- },
393
- "materialTintColor": {
394
- "r": 1,
395
- "g": 0.5607843137254902,
396
- "b": 0.26666666666666666,
397
- "a": 0.4235294117647059
398
- },
399
- "renderFormula": "2.0 * startColor * materialTintColor * texture",
400
- "overLifetime": {
401
- "enabled": true,
402
- "alphaKeys": [
403
- {
404
- "time": 0,
405
- "alpha": 1
406
- }
407
- ],
408
- "colorKeys": [
409
- {
410
- "time": 0,
411
- "color": {
412
- "r": 1,
413
- "g": 1,
414
- "b": 1,
415
- "a": 1
416
- }
417
- },
418
- {
419
- "time": 0.9859154929577465,
420
- "color": {
421
- "r": 1,
422
- "g": 1,
423
- "b": 1,
424
- "a": 1
425
- }
426
- }
427
- ]
428
- }
429
- },
430
- "rotation": {
431
- "overLifetime": {
432
- "enabled": false,
433
- "z": {
434
- "mode": "constant",
435
- "min": 0,
436
- "max": 0
437
- }
438
- }
439
- },
440
- "modules": {
441
- "colorOverLifetime": {
442
- "enabled": true,
443
- "sourcePreservedIn": "source/02-normalized-vfx.json"
444
- },
445
- "sizeOvertime": {
446
- "enabled": true,
447
- "sourcePreservedIn": "source/02-normalized-vfx.json"
448
- },
449
- "rotationOvertime": {
450
- "enabled": false,
451
- "sourcePreservedIn": "source/02-normalized-vfx.json"
452
- },
453
- "velocityOvertime": {
454
- "enabled": false,
455
- "sourcePreservedIn": "source/02-normalized-vfx.json"
456
- },
457
- "forceOvertime": {
458
- "enabled": false,
459
- "sourcePreservedIn": "source/02-normalized-vfx.json"
460
- },
461
- "limitVelocityOvertime": {
462
- "enabled": true,
463
- "sourcePreservedIn": "source/02-normalized-vfx.json"
464
- },
465
- "textureAnimation": {
466
- "enabled": false,
467
- "sourcePreservedIn": "source/02-normalized-vfx.json"
468
- },
469
- "noise": {
470
- "enabled": false,
471
- "sourcePreservedIn": "source/02-normalized-vfx.json"
472
- },
473
- "trail": {
474
- "enabled": false,
475
- "sourcePreservedIn": "source/02-normalized-vfx.json"
476
- }
477
- }
478
- },
479
- "runtime": {
480
- "adapter": "particleEmitter/v1",
481
- "stopAfterSeconds": 1
482
- },
483
- "renderColor": {
484
- "color": {
485
- "r": 2,
486
- "g": 1.1215686274509804,
487
- "b": 0.5333333333333333,
488
- "a": 0.8470588235294118
489
- },
490
- "colorIntensity": 2,
491
- "alphaIntensity": 2
492
- }
493
- }
494
- ],
495
- "runtime": {
496
- "space": "world",
497
- "lifecycle": "one_shot",
498
- "anchor": {
499
- "defaultBone": null,
500
- "defaultMesh": null,
501
- "defaultOffset": {
502
- "x": 0,
503
- "y": 1,
504
- "z": 0
505
- }
506
- },
507
- "start": [
508
- "Instantiate Babylon runtime for effect_dian"
509
- ],
510
- "update": [
511
- "Apply Babylon tunable parameter overrides"
512
- ],
513
- "stop": [
514
- "Stop and dispose runtime resources"
515
- ]
516
- },
517
- "tunableParams": [
518
- {
519
- "key": "effect_dian.capacity",
520
- "labelZh": "effect_dian 容量",
521
- "type": "number",
522
- "default": 100,
523
- "min": 1,
524
- "max": 300,
525
- "step": 1,
526
- "target": {
527
- "emitter": "effect_dian",
528
- "property": "capacity",
529
- "operator": "set"
530
- }
531
- },
532
- {
533
- "key": "effect_dian.manualEmitCount",
534
- "labelZh": "effect_dian 爆发数量",
535
- "type": "number",
536
- "default": 20,
537
- "min": 0,
538
- "max": 100,
539
- "step": 1,
540
- "target": {
541
- "emitter": "effect_dian",
542
- "property": "manualEmitCount",
543
- "operator": "set"
544
- }
545
- },
546
- {
547
- "key": "effect_dian.emitRate",
548
- "labelZh": "effect_dian 发射率",
549
- "type": "number",
550
- "default": 0,
551
- "min": 0,
552
- "max": 100,
553
- "step": 1,
554
- "unit": "particles/s",
555
- "target": {
556
- "emitter": "effect_dian",
557
- "property": "emitRate",
558
- "operator": "set"
559
- }
560
- },
561
- {
562
- "key": "effect_dian.minSize",
563
- "labelZh": "effect_dian 最小尺寸",
564
- "type": "number",
565
- "default": 2,
566
- "min": 0,
567
- "max": 9,
568
- "step": 0.01,
569
- "target": {
570
- "emitter": "effect_dian",
571
- "property": "minSize",
572
- "operator": "set"
573
- }
574
- },
575
- {
576
- "key": "effect_dian.maxSize",
577
- "labelZh": "effect_dian 最大尺寸",
578
- "type": "number",
579
- "default": 3,
580
- "min": 0,
581
- "max": 9,
582
- "step": 0.01,
583
- "target": {
584
- "emitter": "effect_dian",
585
- "property": "maxSize",
586
- "operator": "set"
587
- }
588
- },
589
- {
590
- "key": "effect_dian.minLifeTime",
591
- "labelZh": "effect_dian 最小生命周期",
592
- "type": "number",
593
- "default": 0.7,
594
- "min": 0,
595
- "max": 4,
596
- "step": 0.01,
597
- "unit": "s",
598
- "target": {
599
- "emitter": "effect_dian",
600
- "property": "minLifeTime",
601
- "operator": "set"
602
- }
603
- },
604
- {
605
- "key": "effect_dian.maxLifeTime",
606
- "labelZh": "effect_dian 最大生命周期",
607
- "type": "number",
608
- "default": 1,
609
- "min": 0,
610
- "max": 4,
611
- "step": 0.01,
612
- "unit": "s",
613
- "target": {
614
- "emitter": "effect_dian",
615
- "property": "maxLifeTime",
616
- "operator": "set"
617
- }
618
- },
619
- {
620
- "key": "effect_dian.minEmitPower",
621
- "labelZh": "effect_dian 最小发射力",
622
- "type": "number",
623
- "default": 25,
624
- "min": 0,
625
- "max": 105,
626
- "step": 0.01,
627
- "target": {
628
- "emitter": "effect_dian",
629
- "property": "minEmitPower",
630
- "operator": "set"
631
- }
632
- },
633
- {
634
- "key": "effect_dian.maxEmitPower",
635
- "labelZh": "effect_dian 最大发射力",
636
- "type": "number",
637
- "default": 35,
638
- "min": 0,
639
- "max": 105,
640
- "step": 0.01,
641
- "target": {
642
- "emitter": "effect_dian",
643
- "property": "maxEmitPower",
644
- "operator": "set"
645
- }
646
- },
647
- {
648
- "key": "effect_dian.updateSpeed",
649
- "labelZh": "effect_dian 模拟步长",
650
- "type": "number",
651
- "default": 0.01,
652
- "min": 0.0005,
653
- "max": 0.04,
654
- "step": 0.0005,
655
- "target": {
656
- "emitter": "effect_dian",
657
- "property": "updateSpeed",
658
- "operator": "set"
659
- }
660
- },
661
- {
662
- "key": "effect_dian.gravity",
663
- "labelZh": "effect_dian 重力",
664
- "type": "vector3",
665
- "default": {
666
- "x": 0,
667
- "y": 0,
668
- "z": 0
669
- },
670
- "target": {
671
- "emitter": "effect_dian",
672
- "property": "gravity",
673
- "operator": "set"
674
- }
675
- },
676
- {
677
- "key": "effect_dian.renderColor.color",
678
- "labelZh": "effect_dian color1",
679
- "type": "color",
680
- "default": {
681
- "r": 2,
682
- "g": 1.1215686274509804,
683
- "b": 0.5333333333333333,
684
- "a": 0.8470588235294118
685
- },
686
- "target": {
687
- "emitter": "effect_dian",
688
- "property": "renderColor.color",
689
- "operator": "set"
690
- }
691
- },
692
- {
693
- "key": "effect_dian.shape.type",
694
- "labelZh": "effect_dian 发射器形状",
695
- "type": "enum",
696
- "default": "Box",
697
- "options": [
698
- "Box",
699
- "Sphere",
700
- "Cone",
701
- "SphereDirected",
702
- "Hemisphere",
703
- "Mesh",
704
- "Unknown"
705
- ],
706
- "target": {
707
- "emitter": "effect_dian",
708
- "property": "shape.type",
709
- "operator": "set"
710
- }
711
- }
712
- ],
713
- "babylon": {
714
- "driver": "particle",
715
- "entryFile": "apps/vfx_asset_library/frontend/src/runtime/drivers/particleDriver.ts",
716
- "previewConfig": {
717
- "textureUrl": "assets/textures/b5b27ab1-e740-4398-b407-848fc2b2c897.png",
718
- "emitterCount": 3,
719
- "effectFile": "03-effect.json",
720
- "normalizedVfx": "source/02-normalized-vfx.json"
721
- }
722
- },
723
- "review": {
724
- "status": "auto",
725
- "artistNotes": [
726
- "Stage 3 auto-built from 02-normalized-vfx.json.",
727
- "Needs Babylon visual review and Stage 4 tuning before approval."
728
- ],
729
- "approvedBy": null,
730
- "approvedAt": null,
731
- "history": []
732
- },
733
- "recording": null,
734
- "aiDescription": null,
735
- "search": {
736
- "tags": [
737
- "cocos",
738
- "particle",
739
- "stage3",
740
- "effect_build_up1"
741
- ],
742
- "descriptionZh": "从 Cocos Normalized VFX Spec 自动构建的 Babylon 粒子特效,包含 3 个子发射器。",
743
- "descriptionEn": "Babylon particle effect built from a Cocos Normalized VFX Spec with 3 emitters.",
744
- "useCases": [
745
- "vfx preview",
746
- "cocos migration",
747
- "babylon integration"
748
- ],
749
- "negativeUseCases": [
750
- "approved final art without Stage 4 visual tuning"
751
- ]
752
- },
753
- "descriptionZh": "从 Effect_Build_Up1 拆分出的单 emitter 特效:effect_dian。",
754
- "descriptionEn": "Single-emitter split from Effect_Build_Up1: effect_dian.",
755
- "metadata": {
756
- "splitFrom": {
757
- "packageId": "world.particle.effect_build_up1",
758
- "packageDir": "vfx-intermediate/cocos-babylon-packages/effect_build_up1",
759
- "emitter": "effect_dian"
760
- }
761
- }
762
- }