- Fix stretched billboard settings are not cloned in clone function
- Fix 1 frame lag bug when parent entity of a particle system is moved
- Added support for customized blend function
- Added particleDied event
- Support event listeners on particle system
- Introduce QuarksUtils to provide utility functions
- Update README and examples with QuarksUtils
- Support Vector3Generator
- Support 3d Start Size, 3d Particle Size.
- Support Rotation over 180 degrees per second.
- Fix OrbitOverLife behavior fails on memorization
- Split Three.quarks package to quarks.core, quarks.nodes, three.quarks
- quarks.core: It's decoupled from three.js. it includes math library, core classes, functions, emitter and behaviors
- quarks.nodes: It includes the next-gen node-based VFX system and WebGPU renderer
- three.quarks: It integrates the core library with three.js renderer
- Add support for depthTest in Material
- Fully support MeshStandardMaterial's properties such as envMap on particles.
- Fix the Rotation3dOverLife behavior doesn't work on mesh particle bug
- Refactor function/value generator system to support memorization
- Fix package json exports field
- Support burst emission on emitter shape
- Upgrade three.js to 0.165.0
- Fix the ForceOverLife behavior doesn't apply global force when particles are in local space.
- Fix mesh render mode quaternion multiplication order
- Fix bug on blend tile shader when uv tile is not used
- Fix soft particle example bug
- Support soft particles
- Support uv blend tiles.
- Fix Major bug: particles are emitted at incorrect positions at first time
- Support loop / ping-pong emitting mode from emitter shapes
- hotfix to support editors noise
- hotfix on rotation over life on mesh emitter
- Make rotation over life auto-detect input function
- Make color range matches unity random color
- Three js version update and type improvement
- Fix sub emitter emission over distance
- Fix stretched Billboard shader so it rotates billboard correctly
- Add euler order option in eular generator, because threejs uses intrinsic eular angles, and unity uses extrinsic eular angles.
- Hot fix frame over life
- Fix interval value on frame over life
- Better support for noise generation
- Add support for length scale for StretchedBillboard renderer
- Fix EmitSubParticleSystem behavior's bug and support unity subEmitter module
- Add sub emitter example
- Add support for more emitter shapes (circle, hemisphere) and shapes example
- failed publish
- Add support for count function on burst emission
- Add LimitSpeedOverLife behavior
- Fix some behavior's configuration so it matches unity
- update node graph demo and definitions
- Support horizontal and vertical billboard in shader
- fix render setting reference bug
- fix shaders can not loaded in some loader because of shader chunk reference
- Support alpha test / alpha clip / depth test on all material
- Fix uv mapping on mesh standard / physics material
- Support normal map
- Make three js peer dependencies
- Fix bugs caused by three.js version upgrade
- Support BSDF material MeshStandardMaterial and MeshBasicMaterial (Unlit)
- Move texture, blend, transparent, side, and other material related setting to material properties in particle system
- Decouple QuarksLoader from batchRenderer. Remove BatchRenderer in QuarksLoader constructor
- Fix many bugs involving scale of the particle system
- Refactor many code names involving particle to VFX.
- Add texture sequencer behavior
- Add grid emitter
- Add WIP node-based behavior
- Support sub-emission system
- Support mesh surface emitter
- Remove update(delta) function on individual particle systems. Users do not need to call this function anymore manually. Add delta parameter to BatchedParticleRenderer, which updates all registered particle systems.
- Add a new behavior EmitSubParticleSystem, which emit a new particle emitter from a particle in the current system.
- Fix MeshSurfaceEmitter's index bug.