ParticleEmitter
Emits particles in 3D space with a custom image template, and with configurable properties such as Color, Transparency, etc
Properties
| Property | Type | Default |
|---|---|---|
Enabled | boolean | true |
Rate | number | 20 |
Lifetime | any | NumberRange.new(1, 2) |
Speed | any | NumberRange.new(4, 7) |
Rotation | any | NumberRange.new(0, 0) |
RotSpeed | any | NumberRange.new(0, 0) |
Size | any | buildDefaultSize() |
Color | any | buildDefaultColor() |
Transparency | any | buildDefaultTransparency() |
Acceleration | Vector3 | Vector3.new(0, 0, 0) |
Drag | number | 0 |
Restitution | number | 0.5 |
CollisionGroup | string | "Particles" |
Friction | number | 0.3 |
VelocityInheritance | number | 0 |
TimeScale | number | 1 |
WindAffectsDrag | boolean | false |
CollideParticles | boolean | false |
CollisionRadius | number | 0.5 |
EmissionDirection | EnumItem | Enum.NormalId.Top |
SpreadAngle | Vector2 | Vector2.new(0, 0) |
Texture | string | "./src/assets/images/placeholder.png" |
EmissionTexture | any | nil |
EmissionColor | Color3 | Color3.new(1, 1, 1) |
EmissionEnergy | number | 0 |
TransparencyMode | EnumItem | Enum.ParticleTransparencyMode.Alpha |
BlendMode | EnumItem | Enum.ParticleBlendMode.Mix |
CullMode | EnumItem | Enum.ParticleCullMode.None |
BillboardMode | EnumItem | Enum.ParticleBillboardMode.Front |
UVScale | Vector2 | Vector2.new(1, 1) |
UVOffset | Vector2 | Vector2.new(0, 0) |
FlipbookColumns | number | 1 |
FlipbookRows | number | 1 |
FlipbookFramerate | number | 0 |
FlipbookMode | EnumItem | Enum.ParticleFlipbookMode.Loop |
FlipbookStartRandom | boolean | false |
MaxParticles | number | 256 |
LockedToPart | boolean | false |
CastShadow | boolean | true |
Functions
`getRange`
`randomRange`
`clamp01`
`resolveTransparencyMode`
`resolveBillboardMode`
`resolveCullMode`
`resolveBlendMode`
`getVector2`
`getColor3`
`evalNumberSequence`
`evalColorSequence`
`getFlipbookMode`
`getEmitterCFrame`
`getEmissionDirection`
`getEmitterVelocity`
`applySpread`
`buildDefaultColor`
`buildDefaultTransparency`
`buildDefaultSize`
`createMaterial`
`writePositionMapped`
`writeRotationMapped`
`writeScaleMapped`
`writeColorMapped`
`writePositionBuffer`
`writeRotationBuffer`
`writeScaleBuffer`
`writeColorBuffer`
`rebuildInstanceBuffer`
`applyMaterialSettings`
`updateMaterial`
`applyShadowMode`
`emitParticle`
`emit`
`updateParticles`
`updateInstanceBuffer`
`writeInstances`
Writes instances.
`instance.Emit`
Emits a specified amount of particles.
`updateFlipbook`
Updates flipbook.
getRange
Arguments
value, defaultMin, defaultMaxReturns
randomRange
Arguments
value, defaultMin, defaultMaxReturns
clamp01
Arguments
vReturns
resolveTransparencyMode
Arguments
valueReturns
resolveBillboardMode
Arguments
valueReturns
resolveCullMode
Arguments
valueReturns
resolveBlendMode
Arguments
valueReturns
getVector2
Arguments
value, fallbackReturns
getColor3
Arguments
value, fallbackReturns
evalNumberSequence
Arguments
seq, t, fallbackReturns
evalColorSequence
Arguments
seq, t, fallbackReturns
getFlipbookMode
Arguments
valueReturns
getEmitterCFrame
Arguments
instanceReturns
getEmissionDirection
Arguments
cf, normalIdReturns
getEmitterVelocity
Arguments
instanceReturns
applySpread
Arguments
baseDir, basisRight, basisUp, spreadReturns
buildDefaultColor
Arguments
Returns
buildDefaultTransparency
Arguments
Returns
buildDefaultSize
Arguments
Returns
createMaterial
Arguments
texturePathReturns
writePositionMapped
Arguments
mappedPositionReturns
writeRotationMapped
Arguments
mappedRotationReturns
writeScaleMapped
Arguments
mappedScaleReturns
writeColorMapped
Arguments
mappedColorReturns
writePositionBuffer
Arguments
targetBufferReturns
writeRotationBuffer
Arguments
targetBufferReturns
writeScaleBuffer
Arguments
targetBufferReturns
writeColorBuffer
Arguments
targetBufferReturns
rebuildInstanceBuffer
Arguments
Returns
applyMaterialSettings
Arguments
Returns
updateMaterial
Arguments
Returns
applyShadowMode
Arguments
Returns
emitParticle
Arguments
Returns
emit
Arguments
countReturns
updateParticles
Arguments
self: table, count: numberReturns
updateInstanceBuffer
Arguments
Returns
writeInstances
Writes instances.
Arguments
writePosition: any, writeRotation: number, writeScale: number, writeColor: numberReturns
instance.Emit
Emits a specified amount of particles.
Arguments
self: table, count: numberReturns
updateFlipbook
Updates flipbook.
Arguments
dt: numberReturns
API
instance:getRange(value, defaultMin, defaultMax)
instance:randomRange(value, defaultMin, defaultMax)
instance:clamp01(v)
instance:resolveTransparencyMode(value)
instance:resolveBillboardMode(value)
instance:resolveCullMode(value)
instance:resolveBlendMode(value)
instance:getVector2(value, fallback)
instance:getColor3(value, fallback)
instance:evalNumberSequence(seq, t, fallback)
instance:evalColorSequence(seq, t, fallback)
instance:getFlipbookMode(value)
instance:getEmitterCFrame(instance)
instance:getEmissionDirection(cf, normalId)
instance:getEmitterVelocity(instance)
instance:applySpread(baseDir, basisRight, basisUp, spread)
instance:buildDefaultColor()
instance:buildDefaultTransparency()
instance:buildDefaultSize()
instance:createMaterial(texturePath)
instance:writePositionMapped(mappedPosition)
instance:writeRotationMapped(mappedRotation)
instance:writeScaleMapped(mappedScale)
instance:writeColorMapped(mappedColor)
instance:writePositionBuffer(targetBuffer)
instance:writeRotationBuffer(targetBuffer)
instance:writeScaleBuffer(targetBuffer)
instance:writeColorBuffer(targetBuffer)
instance:rebuildInstanceBuffer()
instance:applyMaterialSettings()
instance:updateMaterial()
instance:applyShadowMode()
instance:emitParticle()
instance:emit(count)
instance:updateParticles(self: table, count: number)
instance:updateInstanceBuffer()
instance:writeInstances(writePosition: any, writeRotation: number, writeScale: number, writeColor: number)
instance:Emit(self: table, count: number)
instance:updateFlipbook(dt: number)