class ParticleEmitterSkinnedMeshShape

Particle emitter shape that emits particles from a surface of a skinned (animated) mesh.

Particles can be emitted from mesh vertices, edges or triangles. If information about normals exists, particles will also inherit the normals.

Public

Constructors

ParticleEmitterSkinnedMeshShape

ParticleEmitterSkinnedMeshShape(const ParticleSkinnedMeshShapeSettings &settings)

ParticleEmitterSkinnedMeshShape

ParticleEmitterSkinnedMeshShape()

Methods

~ParticleEmitterSkinnedMeshShape

virtual ~ParticleEmitterSkinnedMeshShape() noexcept = default

SetSettings

void SetSettings(const ParticleSkinnedMeshShapeSettings &settings)

Options describing the shape.

GetSettings

const ParticleSkinnedMeshShapeSettings &GetSettings() const

staticCreate

Creates a new particle emitter skinned mesh shape.

staticCreate

static SPtr<ParticleEmitterSkinnedMeshShape> Create()

Creates a new particle emitter skinned mesh shape.

staticGetRttiStatic

static RTTIType *GetRttiStatic()

GetRtti

RTTIType *GetRtti() const override

Returns an interface you can use to access class' Run Time Type Information.

Internal

Methods

SpawnInternal

u32 SpawnInternal(const Random &random, ParticleSet &particles, u32 count, const ParticleSystemState &state) const override

Spawns a new set of particles using the current shape's distribution.

random
Random number generator.
particles
Particle set in which to insert new particles.
count
Number of particles to spawn.
state
Optional state that can contain various per-frame information required for spawning the particles.

Returns: Index at which the first of the particles was inserted, with other particles following sequentially.

Protected

Methods

CalcBounds

void CalcBounds(AABox &shape, AABox &velocity) const override

Calculates the bounds of the emitter shape.

shape
AABB for the emitter shape itself.
velocity
AABB for the generated normals.

Fields

mSettings

mMeshEmissionHelper

MeshEmissionHelper mMeshEmissionHelper