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