MeshParticleEmitterComponent constructor
MeshParticleEmitterComponent({
- required ParticleSystem system,
- required List<
Geometry> geometries, - required Material material,
- MeshParticleFacing facing = MeshParticleFacing.tumble,
Creates an emitter that draws system's particles as instances of
geometries (each particle picks one), all sharing material.
Implementation
MeshParticleEmitterComponent({
required this.system,
required List<Geometry> geometries,
required Material material,
this.facing = MeshParticleFacing.tumble,
}) : assert(geometries.isNotEmpty),
_meshes = [
for (final geometry in geometries)
InstancedMesh(geometry: geometry, material: material),
] {
// Fixed instance slots (hidden when unused) so per-frame updates never
// churn the instance lists.
for (final mesh in _meshes) {
for (var i = 0; i < system.storage.capacity; i++) {
mesh.addInstance(_hiddenTransform);
}
}
_liveCounts = List<int>.filled(_meshes.length, 0);
}