Skip to content

@modoki/engine / index / FlameMesh

Variable: FlameMesh

const FlameMesh: Trait<{ additive: boolean; afterNPR: boolean; colorWaver: number; flowSpeed: number; innerAlpha: number; innerColor: number; innerIntensity: number; innerLength: number; innerScale: number; innerTipColor: number; length: number; lengthScale: number; outerAlpha: number; outerColor: number; outerIntensity: number; outerTipColor: number; radialSegments: number; radius: number; softness: number; }>

A solid, glowing two-layer "flame" rendered as a MESH (not particles) — for ship engine exhaust / gas-jet looks. It draws an OUTER cone (larger, softer, cooler) with a brighter INNER cone nested inside (the hot core), giving the characteristic gas-flame structure. Both are concave lathe cones with a TSL gradient + soft fresnel edges, and read correctly from every angle.

Each layer has its OWN base→tip color gradient, alpha and brightness, so the inner and outer flames are fully independent. flameMeshSync renders it on the PARTICLE_LAYER (composited after the NPR pass — no Sobel outline) unless afterNPR is off. Orient the entity so its local +Y points backward from the nozzle (base = nozzle, tip = +Y).

Length = length × lengthScale; game code drives lengthScale (e.g. engine throttle).

Built with Modoki.