Fluid: four new emitter choreographies (Fuoco, Anello, Vortici, Onda)
Same solver, different figures via e.fluidMode: 'fire' bottom jets with buoyancy — implemented as relaxation toward a target updraft (an additive force integrates to the velocity clamp and turns flames into a wall) plus height-scaled dye dissipation so flames die as they rise; 'ring' emitters on a spinning circle with radial beat shockwaves; 'vortex' two counter- rotating stirrers; 'wave' a travelling sine curtain. Stationary emitters inject a fraction of the stir force (repeated adds at one spot saturate). 408 new presets. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
14afe0b98c
commit
2181c4bc97
2 files changed
+148
-42
No files matched your search
Vendored
+11
-4
@@ -34,7 +34,13 @@ const FAMILIES = [
|
||||
{ name: 'Reattivo Bassi', scale: 1.0, bgDark: true },
|
||||
{ name: 'Reattivo Medi', scale: 1.0, bgDark: true },
|
||||
{ name: 'Reattivo Alti', scale: 1.0, bgDark: true },
|
||||
{ name: 'Fluido', scale: 1.0, fluid: true } // GPU fluid sim (fluid.js), not the uber-shader
|
||||
// GPU fluid sim families (fluid.js), not the uber-shader; fluidMode picks
|
||||
// the emitter choreography over the same solver.
|
||||
{ name: 'Fluido', scale: 1.0, fluid: true },
|
||||
{ name: 'Fluido Fuoco', scale: 1.0, fluid: true, fluidMode: 'fire' },
|
||||
{ name: 'Fluido Anello', scale: 1.0, fluid: true, fluidMode: 'ring' },
|
||||
{ name: 'Fluido Vortici', scale: 1.0, fluid: true, fluidMode: 'vortex' },
|
||||
{ name: 'Fluido Onda', scale: 1.0, fluid: true, fluidMode: 'wave' }
|
||||
];
|
||||
|
||||
// Palettes: low colour (a) -> high colour (b), plus optional hue-cycle/sat.
|
||||
@@ -90,9 +96,10 @@ function makeEffect(fi, pi, vi) {
|
||||
colorA: pal.a,
|
||||
colorB: pal.b,
|
||||
bgDark: fam.bgDark ? 1 : 0,
|
||||
// Always present (0/1) so Object.assign merges in setEffect can't leave a
|
||||
// stale flag behind when switching between fluid and shader presets.
|
||||
isFluid: fam.fluid ? 1 : 0
|
||||
// Always present (0/1 and a mode string) so Object.assign merges in
|
||||
// setEffect can't leave a stale flag behind when switching presets.
|
||||
isFluid: fam.fluid ? 1 : 0,
|
||||
fluidMode: fam.fluidMode || 'ink'
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user