Sources
#
IntroductionSources denote the area where particles are emitted from. Template effects commonly support dynamic sources, which means you can pass any of the valid types, and the template will figure out the correct source type to use. The available source types include:
note
Things to note when using sources:
- These objects are all passed by reference, so if you change their properties after creating the source, the emitter will pick up those changes.
HTMLElement
s andMouseEvent
s are converted to document-spaceRect
s before sampling.- The
dynamicSource(source)
sampler checks the type of the passed source usinginstanceof
operators.
To use sources in custom effects, one can also manually create sampler methods:
// Dynamically infers the sampler to generate from the source.party.sources.dynamicSource(myDynamicSource);
// You can also explicitly specify the sampler type to generate.party.sources.circleSource(myCircle);party.sources.rectSource(myRect);party.sources.elementSource(myHtmlElement);party.sources.mouseSource(myMouseEvent);
#
Custom SamplersA source sampler is essentially just a method that takes no arguments and returns a Vector
, which means that you are not forced to use one of the sampler-generating methods above - you can just make one yourself!
const mySampler = () => new party.Vector(Math.random() * 100, 0, 0);
This sampler can then be passed in the sourceSampler
property of an emitter's emission
options.