This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
gamedev:particleemitters [2011/10/01 19:45] – [Emitters] dragonlord | gamedev:particleemitters [2019/05/24 23:43] (current) – ↷ Links adapted because of a move operation dragonlord | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | {{tag> |
+ | <WRAP youarehere> | ||
+ | [[: | ||
+ | </ | ||
Particle emitters allow to create particles in the game world influenced by physics. Physical behavior is not mandatory but the default behavior. Particle systems are split into two individual components to simplify the process of defining and using particles. Particle emitters are defined once and are then reused multiple times using instances. Emitters support both continuous and burst like emission of particles. For fine grained control over the properties of generated particles controllers are used. These work similar to controllers in [[gamedev: | Particle emitters allow to create particles in the game world influenced by physics. Physical behavior is not mandatory but the default behavior. Particle systems are split into two individual components to simplify the process of defining and using particles. Particle emitters are defined once and are then reused multiple times using instances. Emitters support both continuous and burst like emission of particles. For fine grained control over the properties of generated particles controllers are used. These work similar to controllers in [[gamedev: | ||
Line 53: | Line 57: | ||
If the particle is moving at different velocities the density of the trail emitter varies. You can create a trail emitting the right amount of particles depending on the velocity using the **Trail Controllers**. Simply create a trail emitter with a single controller and set in the **Trail Controller** for **linear velocity** to the index of this controller (0 in this example). The value of the trail controller is now always set to the linear velocity of the particle it is attached to. Now use this controller on the **interval** parameter and you can control precisely the density of your trail or any other parameter as you see fit. The required interval can be easily calculated using overlap*(size/ | If the particle is moving at different velocities the density of the trail emitter varies. You can create a trail emitting the right amount of particles depending on the velocity using the **Trail Controllers**. Simply create a trail emitter with a single controller and set in the **Trail Controller** for **linear velocity** to the index of this controller (0 in this example). The value of the trail controller is now always set to the linear velocity of the particle it is attached to. Now use this controller on the **interval** parameter and you can control precisely the density of your trail or any other parameter as you see fit. The required interval can be easily calculated using overlap*(size/ | ||
</ | </ | ||
+ | |||
+ | Types can have different simulation types. Using **particle** as **Simulation Type** simulates particles the default way. Using **ribbon** all generated particles are connected using a ribbon in the order they have been cast. Use [[gamedev: | ||
+ | |||
+ | Using **Interval As Time** the usage of the **interval** parameter can be modified. By default the interval is used over time. Hence if the interval parameter for example resolves to 0.1 then a particle would be cast after 0.1 seconds. If **Interval As Time** is set to true though the usage changes to over distance instead of time. Hence with an interval value of 0.1 a particle would be cast after the emitter instance displaced by 0.1 meters from the last time a particle has been cast. This can be used for trail particles to have better control as well as for ribbons in connection with dynamically moving emitter instances. | ||
^Name^Description^Type^Default^ | ^Name^Description^Type^Default^ | ||
Line 59: | Line 67: | ||
|Model Skin|Skin for the model to use. Allows to alter emission parameters depending on where a particle is emitted.|Skin|null| | |Model Skin|Skin for the model to use. Allows to alter emission parameters depending on where a particle is emitted.|Skin|null| | ||
|Cast From|Determines from what element of the Model (if set) particles are emitted from.|{Vertex, | |Cast From|Determines from what element of the Model (if set) particles are emitted from.|{Vertex, | ||
+ | |Simulation Type|How to simulate the particle emitter. Also defines how it is rendered.|{Particle, | ||
+ | |Interval As Distance|Determines if the interval parameter is used over time (seconds) or over distance (meters).|boolean|False| | ||
|Trail Emitter|Emitter to use as the trail for particles.|ParticleEmitter|null| | |Trail Emitter|Emitter to use as the trail for particles.|ParticleEmitter|null| | ||
|Trail Controllers|Defines which controller (if any) in the trail emitter instance is set with particle parameters.|Int[]|-1| | |Trail Controllers|Defines which controller (if any) in the trail emitter instance is set with particle parameters.|Int[]|-1| | ||
Line 152: | Line 162: | ||
Defines the emit direction for particles creating instances upon impact. If set to 0 the created instance is oriented along the normal of the impact surface. If set to 1 the created instance is oriented along the repel direction as calculated using roughness. | Defines the emit direction for particles creating instances upon impact. If set to 0 the created instance is oriented along the normal of the impact surface. If set to 1 the created instance is oriented along the repel direction as calculated using roughness. | ||
- | ====== | + | ====== |
- | * [[gamedev: | + | {{ youtube> |
- | * [[: | + |