@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,581 +0,0 @@
1
- {
2
- "schemaVersion": "vfx-preview-overrides/1.0",
3
- "stage": "preview-tuning",
4
- "generatedAt": "2026-05-21T13:04:29.642Z",
5
- "effectId": "world.particle.gas_town_oil_suction",
6
- "sourcePackage": "vfx-intermediate/cocos-babylon-packages/gas_town_oil_suction",
7
- "sourceEffect": "03-effect.json",
8
- "implConfig": {
9
- "driver": "particle",
10
- "cocosEmitterOverrides": [
11
- {
12
- "name": "Particle",
13
- "sourceNodeName": "Particle",
14
- "enabled": true,
15
- "blendMode": "STANDARD",
16
- "particleTexturePath": "assets/textures/Glow ad.png",
17
- "materialSourcePath": "assets/materials/石油.mtl",
18
- "billboardMode": "BILLBOARDMODE_STRETCHED_LOCAL",
19
- "stretchedBillboard": {
20
- "velocityScale": 0,
21
- "lengthScale": 2
22
- },
23
- "minScaleY": 1.81,
24
- "maxScaleY": 2.51,
25
- "capacity": 1000,
26
- "manualEmitCount": 0,
27
- "emitRate": 800,
28
- "minSize": 1,
29
- "maxSize": 1.245,
30
- "minLifeTime": 0.6,
31
- "maxLifeTime": 0.94,
32
- "minEmitPower": 4.1,
33
- "maxEmitPower": 7.1,
34
- "updateSpeed": 0.01,
35
- "gravity": {
36
- "x": 0,
37
- "y": 0,
38
- "z": 0
39
- },
40
- "velocityOverLifetime": {
41
- "axes": {
42
- "x": [
43
- {
44
- "time": 0,
45
- "value": 0
46
- },
47
- {
48
- "time": 1,
49
- "value": 0
50
- }
51
- ],
52
- "y": [
53
- {
54
- "time": 0,
55
- "value": 0
56
- },
57
- {
58
- "time": 1,
59
- "value": 0
60
- }
61
- ],
62
- "z": [
63
- {
64
- "time": 0,
65
- "value": -5
66
- },
67
- {
68
- "time": 1,
69
- "value": 0
70
- }
71
- ]
72
- },
73
- "speedModifier": {
74
- "mode": "constant",
75
- "min": 1,
76
- "max": 1
77
- },
78
- "space": 0,
79
- "axisRemap": "cocosLocalZToNegativeZ"
80
- },
81
- "transform": {
82
- "position": {
83
- "x": -0.037,
84
- "y": 0,
85
- "z": 0.671
86
- },
87
- "rotation": {
88
- "x": 0,
89
- "y": 0,
90
- "z": 0
91
- },
92
- "scale": {
93
- "x": 0.3,
94
- "y": 0.3,
95
- "z": 0.3
96
- }
97
- },
98
- "shape": {
99
- "sourceType": "Cone",
100
- "sourceEnum": 2,
101
- "radius": 2,
102
- "radiusRange": 1,
103
- "angle": 0.5235987755982988,
104
- "length": 5,
105
- "emitFrom": 3,
106
- "type": "Cone",
107
- "directionScale": -1,
108
- "emitMode": "oilSuctionTopDiskToBottomCenter",
109
- "preserveWorldShapeSize": true,
110
- "direction1": {
111
- "x": 0,
112
- "y": 0,
113
- "z": -1
114
- },
115
- "direction2": {
116
- "x": 0,
117
- "y": 0,
118
- "z": -1
119
- }
120
- },
121
- "oilSuction": {
122
- "topDiskRadius": 3.02,
123
- "topDiskRadiusRange": 1,
124
- "suctionLength": 5
125
- },
126
- "renderColor": {
127
- "color": {
128
- "r": 0.08464436755094196,
129
- "g": 0.12007689350249905,
130
- "b": 0.1574778931180315,
131
- "a": 1
132
- },
133
- "colorIntensity": 2,
134
- "alphaIntensity": 2
135
- },
136
- "alphaKeys": [
137
- {
138
- "time": 0,
139
- "alpha": 0
140
- },
141
- {
142
- "time": 0.33,
143
- "alpha": 1
144
- },
145
- {
146
- "time": 1,
147
- "alpha": 0
148
- }
149
- ],
150
- "colorKeys": [],
151
- "sizeKeys": [
152
- {
153
- "time": 0,
154
- "size": 0.45
155
- },
156
- {
157
- "time": 1,
158
- "size": 0
159
- }
160
- ],
161
- "runtime": {
162
- "adapter": "particleEmitter/oilSuction/v1",
163
- "stopAfterSeconds": 999999
164
- },
165
- "ui": {
166
- "groups": [
167
- {
168
- "id": "oilSuction",
169
- "title": "吸石油快捷参数",
170
- "hint": "专用控制 · 不改变通用 Cone 字段",
171
- "mode": "controls",
172
- "params": [
173
- "oilSuction.topDiskRadius",
174
- "oilSuction.topDiskRadiusRange",
175
- "oilSuction.suctionLength"
176
- ]
177
- }
178
- ],
179
- "paramLabels": {
180
- "oilSuction.topDiskRadius": "顶部圆盘半径",
181
- "oilSuction.topDiskRadiusRange": "顶部圆盘采样范围",
182
- "oilSuction.suctionLength": "吸附距离"
183
- },
184
- "paramTips": {
185
- "oilSuction.topDiskRadius": "石油专用采样半径,只影响顶部出生圆盘,不改 Babylon Cone emitter.radius / 通用 gizmo。",
186
- "oilSuction.topDiskRadiusRange": "石油专用采样范围。1=完整圆盘,越小越接近外圈;不改 Babylon Cone emitter.radiusRange。",
187
- "oilSuction.suctionLength": "石油专用顶部圆盘到目标中心点距离,不改 Babylon Cone emitter.length / 通用 gizmo。"
188
- }
189
- },
190
- "source": {
191
- "simulationSpace": 1,
192
- "renderMode": 1,
193
- "velocityScale": 0,
194
- "lengthScale": 2,
195
- "alignSpace": 0,
196
- "normalizedVfxEmitterId": "Particle"
197
- },
198
- "sourceMap": null,
199
- "mapping": [
200
- {
201
- "cocos": "$[3]._capacity",
202
- "babylon": "capacity"
203
- },
204
- {
205
- "cocos": "$[3].rateOverTime",
206
- "babylon": "emitRate"
207
- },
208
- {
209
- "cocos": "$[3].bursts[0].count",
210
- "babylon": "manualEmitCount"
211
- },
212
- {
213
- "cocos": "$[3].startSize",
214
- "babylon": "minSize/maxSize"
215
- },
216
- {
217
- "cocos": "$[3].startLifetime",
218
- "babylon": "minLifeTime/maxLifeTime"
219
- },
220
- {
221
- "cocos": "$[3].startSpeed",
222
- "babylon": "minEmitPower/maxEmitPower"
223
- },
224
- {
225
- "cocos": "$[3].velocityOvertimeModule",
226
- "babylon": "velocityOverLifetime"
227
- },
228
- {
229
- "cocos": "$[3].rotationOverLifetime.z",
230
- "babylon": "minAngularSpeed/maxAngularSpeed"
231
- },
232
- {
233
- "cocos": "$[3].simulationSpeed",
234
- "babylon": "updateSpeed"
235
- },
236
- {
237
- "cocos": "$[3].gravityModifier",
238
- "babylon": "gravity"
239
- },
240
- {
241
- "cocos": "$[3]._renderMode",
242
- "babylon": "billboardMode"
243
- },
244
- {
245
- "cocos": "$[3]._velocityScale",
246
- "babylon": "stretchedBillboard.velocityScale"
247
- },
248
- {
249
- "cocos": "$[3]._lengthScale",
250
- "babylon": "stretchedBillboard.lengthScale"
251
- },
252
- {
253
- "cocos": "$[3]._velocityScale + $[3]._lengthScale + $[3].startSpeed",
254
- "babylon": "minScaleY/maxScaleY"
255
- },
256
- {
257
- "cocos": "$[3].startColor + material._props[0].tintColor",
258
- "babylon": "renderColor.color + renderColor.colorIntensity/renderColor.alphaIntensity -> color1/color2/colorDead"
259
- },
260
- {
261
- "cocos": "$[3]._shapeModule",
262
- "babylon": "shape"
263
- }
264
- ],
265
- "colorMapping": {
266
- "renderFormula": "2.0 * startColor * materialTintColor * texture",
267
- "multiplier": 2,
268
- "alphaMultiplier": 2,
269
- "cocosStartColor": {
270
- "r": 0.16862745098039217,
271
- "g": 0.23921568627450981,
272
- "b": 0.3137254901960784,
273
- "a": 1
274
- },
275
- "cocosMaterialTintColor": {
276
- "r": 0.5019607843137255,
277
- "g": 0.5019607843137255,
278
- "b": 0.5019607843137255,
279
- "a": 1
280
- },
281
- "renderColor": {
282
- "r": 0.08464436755094196,
283
- "g": 0.12007689350249905,
284
- "b": 0.1574778931180315,
285
- "a": 1
286
- },
287
- "babylonColor": {
288
- "r": 0.1692887351018839,
289
- "g": 0.2401537870049981,
290
- "b": 0.314955786236063,
291
- "a": 1
292
- },
293
- "babylonColorDead": {
294
- "r": 0.1692887351018839,
295
- "g": 0.2401537870049981,
296
- "b": 0.314955786236063,
297
- "a": 0
298
- }
299
- },
300
- "cocosSource": {
301
- "source": {
302
- "engine": "cocos",
303
- "componentIndex": 3,
304
- "componentPath": "$[3]",
305
- "nodeIndex": 2,
306
- "rendererIndex": 61,
307
- "componentType": "cc.ParticleSystem"
308
- },
309
- "lifecycle": {
310
- "duration": 1,
311
- "loop": true,
312
- "playOnAwake": true,
313
- "prewarm": false,
314
- "simulationSpeed": 1,
315
- "simulationSpace": 1
316
- },
317
- "transform": {
318
- "position": {
319
- "x": -0.037,
320
- "y": 0,
321
- "z": 0.671
322
- },
323
- "rotation": {
324
- "x": 0,
325
- "y": 0,
326
- "z": 0
327
- },
328
- "scale": {
329
- "x": 0.3,
330
- "y": 0.3,
331
- "z": 0.3
332
- }
333
- },
334
- "emission": {
335
- "capacity": 1000,
336
- "rateOverTime": 800,
337
- "rateOverDistance": 0,
338
- "bursts": []
339
- },
340
- "lifetime": {
341
- "startLifetime": {
342
- "mode": "twoConstants",
343
- "min": 0.2,
344
- "max": 0.5
345
- },
346
- "min": 0.2,
347
- "max": 0.5
348
- },
349
- "size": {
350
- "startSize": {
351
- "mode": "twoConstants",
352
- "min": 1,
353
- "max": 3
354
- },
355
- "min": 1,
356
- "max": 3,
357
- "overLifetime": {
358
- "enabled": true,
359
- "keys": [
360
- {
361
- "time": 0,
362
- "size": 0.5492424242424242
363
- },
364
- {
365
- "time": 1,
366
- "size": 0
367
- }
368
- ],
369
- "separateAxes": false,
370
- "axisKeys": null
371
- }
372
- },
373
- "speed": {
374
- "startSpeed": {
375
- "mode": "twoConstants",
376
- "min": -5,
377
- "max": -10
378
- },
379
- "min": -10,
380
- "max": -5
381
- },
382
- "velocity": {
383
- "overLifetime": {
384
- "enabled": true,
385
- "axes": {
386
- "x": [
387
- {
388
- "time": 0,
389
- "value": 0
390
- },
391
- {
392
- "time": 1,
393
- "value": 0
394
- }
395
- ],
396
- "y": [
397
- {
398
- "time": 0,
399
- "value": 0
400
- },
401
- {
402
- "time": 1,
403
- "value": 0
404
- }
405
- ],
406
- "z": [
407
- {
408
- "time": 0,
409
- "value": 5
410
- },
411
- {
412
- "time": 1,
413
- "value": 0
414
- }
415
- ]
416
- },
417
- "speedModifier": {
418
- "mode": "constant",
419
- "min": 1,
420
- "max": 1
421
- },
422
- "space": 0
423
- }
424
- },
425
- "gravity": {
426
- "modifier": 0,
427
- "vector": {
428
- "x": 0,
429
- "y": 0,
430
- "z": 0
431
- }
432
- },
433
- "shape": {
434
- "enabled": true,
435
- "type": "Cone",
436
- "sourceEnum": 2,
437
- "radius": 2,
438
- "radiusThickness": 1,
439
- "angle": 0.5235987755982988,
440
- "length": 5,
441
- "emitFrom": 3,
442
- "scale": {
443
- "__type__": "cc.Vec3",
444
- "x": 1,
445
- "y": 1,
446
- "z": 1
447
- },
448
- "position": {
449
- "__type__": "cc.Vec3",
450
- "x": 0,
451
- "y": 0,
452
- "z": 0
453
- },
454
- "rotation": {
455
- "__type__": "cc.Vec3",
456
- "x": 0,
457
- "y": 0,
458
- "z": 0
459
- },
460
- "direction1": {
461
- "x": 0,
462
- "y": 0,
463
- "z": -1
464
- },
465
- "direction2": {
466
- "x": 0,
467
- "y": 0,
468
- "z": -1
469
- }
470
- },
471
- "render": {
472
- "mode": 1,
473
- "velocityScale": 0,
474
- "lengthScale": 2,
475
- "alignSpace": 0,
476
- "blendMode": "STANDARD",
477
- "material": {
478
- "uuid": "4aabf2b0-1d20-4e13-9384-ae47eb8522aa",
479
- "path": "assets/ArtResources/Effect/GasTown_OilSuction/石油.mtl",
480
- "techIdx": 1
481
- },
482
- "texture": {
483
- "uuid": "dd44b0a9-0998-4c24-ba2e-d6ac9d1bebb7@6c48a",
484
- "path": "assets/ArtResources/Effect/GasTown_OilSuction/Glow ad.png",
485
- "width": 512,
486
- "height": 512
487
- },
488
- "mesh": null,
489
- "effectAsset": {
490
- "uuid": "d1346436-ac96-4271-b863-1f4fdead95b0",
491
- "name": "particles/builtin-particle",
492
- "classification": "builtin-effect"
493
- }
494
- },
495
- "color": {
496
- "startColor": {
497
- "r": 0.16862745098039217,
498
- "g": 0.23921568627450981,
499
- "b": 0.3137254901960784,
500
- "a": 1
501
- },
502
- "materialTintColor": {
503
- "r": 0.5019607843137255,
504
- "g": 0.5019607843137255,
505
- "b": 0.5019607843137255,
506
- "a": 1
507
- },
508
- "renderFormula": "2.0 * startColor * materialTintColor * texture",
509
- "overLifetime": {
510
- "enabled": true,
511
- "alphaKeys": [
512
- {
513
- "time": 0,
514
- "alpha": 0
515
- },
516
- {
517
- "time": 0.4788732394366197,
518
- "alpha": 1
519
- },
520
- {
521
- "time": 1,
522
- "alpha": 0
523
- }
524
- ],
525
- "colorKeys": []
526
- }
527
- },
528
- "rotation": {
529
- "overLifetime": {
530
- "enabled": false,
531
- "z": {
532
- "mode": "constant",
533
- "min": 0,
534
- "max": 0
535
- }
536
- }
537
- },
538
- "modules": {
539
- "colorOverLifetime": {
540
- "enabled": true,
541
- "sourcePreservedIn": "source/02-normalized-vfx.json"
542
- },
543
- "sizeOvertime": {
544
- "enabled": true,
545
- "sourcePreservedIn": "source/02-normalized-vfx.json"
546
- },
547
- "rotationOvertime": {
548
- "enabled": false,
549
- "sourcePreservedIn": "source/02-normalized-vfx.json"
550
- },
551
- "velocityOvertime": {
552
- "enabled": true,
553
- "sourcePreservedIn": "source/02-normalized-vfx.json"
554
- },
555
- "forceOvertime": {
556
- "enabled": false,
557
- "sourcePreservedIn": "source/02-normalized-vfx.json"
558
- },
559
- "limitVelocityOvertime": {
560
- "enabled": false,
561
- "sourcePreservedIn": "source/02-normalized-vfx.json"
562
- },
563
- "textureAnimation": {
564
- "enabled": false,
565
- "sourcePreservedIn": "source/02-normalized-vfx.json"
566
- },
567
- "noise": {
568
- "enabled": false,
569
- "sourcePreservedIn": "source/02-normalized-vfx.json"
570
- },
571
- "trail": {
572
- "enabled": false,
573
- "sourcePreservedIn": "source/02-normalized-vfx.json"
574
- }
575
- }
576
- },
577
- "runtimeKind": "particleEmitter"
578
- }
579
- ]
580
- }
581
- }
@@ -1,28 +0,0 @@
1
- {
2
- "schemaVersion": "vfx-preview-tuning-report/1.0",
3
- "stage": "preview-tuning",
4
- "generatedAt": "2026-05-21T13:04:29.642Z",
5
- "effectId": "world.particle.gas_town_oil_suction",
6
- "sourcePackage": "vfx-intermediate/cocos-babylon-packages/gas_town_oil_suction",
7
- "inputEffectFile": "03-effect.json",
8
- "outputPackage": "world.particle.gas_town_oil_suction.stage4-package.zip",
9
- "packageFiles": {
10
- "tunedEffect": "03-effect.json",
11
- "overrides": "04-preview-overrides.json",
12
- "report": "04-preview-tuning-report.json"
13
- },
14
- "emitters": [
15
- {
16
- "name": "Particle",
17
- "enabled": true,
18
- "runtimeKind": "particleEmitter",
19
- "capacity": 1000,
20
- "emitRate": 800,
21
- "particleTexturePath": "assets/textures/Glow ad.png",
22
- "materialSourcePath": "assets/materials/石油.mtl",
23
- "shader": null,
24
- "meshEffect": null,
25
- "shape": "Cone"
26
- }
27
- ]
28
- }