User Tools

Site Tools


gamedev:deigde:editors:particleemitter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
gamedev:deigde:editors:particleemitter [2020/04/02 10:37] – [Property Curves] dragonlordgamedev:deigde:editors:particleemitter [2020/04/02 14:52] – [Controllers] dragonlord
Line 35: Line 35:
 Particle emitters can have one or more **Particle Types**. Each type describes one kind of particles to emit with their own properties. Particle emitters can have one or more **Particle Types**. Each type describes one kind of particles to emit with their own properties.
  
-The **Emitter** panel sets preview parameters of the particle emitter and are not type specific nor saved to file.+<wrap hi>**Emitter Sub Panel**</wrap> 
 + 
 +Sets preview parameters of the particle emitter and are not type specific nor saved to file.
  
 The **Emit Burst** determines if the particle emitter emits a burst of particles. If enabled the preview particle emitter is restarted after **Lifetime** seconds. If disabled if casts particles continuously. The **Emit Burst** determines if the particle emitter emits a burst of particles. If enabled the preview particle emitter is restarted after **Lifetime** seconds. If disabled if casts particles continuously.
  
 +<wrap hi>**Type Sub Panel**</wrap>
  
 +The **Type** parameter is the display name of the type. Use the button next to it to show a context menu to add and remove types.
 +
 +The **Skin** parameter defines the **Skin** resource to use for particles of this type.
 +
 +The **Model** parameter defines an optional **Model** resource. If used particles are cast using the model geometry as source depending on the cast from value used. The model itself is not visible and can be used to cast particles from irregular shapes. If the model is not used particles are cast from the emitter position.
 +
 +The **Model Skin** parameter defines the **Skin** resource to use for the cast model. This allows to modify casting behavior in greater detail using [[gamedev:skinproperties|Skin Texture Properties]].
 +
 +The **Cast From** parameter defines how particles are cast from the cast model if used. Supported are **Vertex** to cast from model vertices, **Face** to cast from model surface or **Volume** to cast from enclosed model volume. Particles are evenly distributed across the potential source locations.
 +
 +The **Simulation Type** parameter defines what type of particles are cast. Supported are the tapes **Particle**, **Ribbon** and **Beam**.
 +
 +The **Particle** cast individual particles vanishing after their lifespan elapses.
 +
 +The **Ribbon** type creates one ribbon geometry composing of all cast particles in the order they have been cast. The particles thus define a path the ribbon follows. Ribbon type is typically used for trails or tracers.
 +
 +The **Interval As Distance** is used by ribbon types. By default the interval parameter defines the time span in seconds between casting particles. If this parameter is enabled the interval parameter is changed to define the distance in meters between casting particles. This is used to make ribbons trailing behind moving objects. If the object is not moving and this parameter is disabled particles will be generated in regular intervals at the same location which can cause troubles. If enabled new particles will only be cast if the object moves a certain distance.
 +
 +The **Physics Size** parameter defines the radius of the collision sphere assigned to each particle. The physics size is usually 50% of the visual particle size.
 +
 +<wrap hi>**Trail Sub Panel**</wrap>
 +
 +Assigns a particle emitter to be used as trail for cast particles. An example are explosion debris which have a smoke trail behind them.
 +
 +The **Emitter** parameter defines the particle emitter to use.
 +
 +The **Controller** parameter defines the named controller in the trail emitter to assign particle attributes to. This allows to adjust the trail emitter depending on the particle state. For example if a controller name is set for //Linear Velocity// then the controller value will be set to the linear velocity of the particle.
 +
 +<wrap hi>**Collision Sub Panel**</wrap>
 +
 +The **Response** parameter defines how particles behavior colliding with other geometry. Supported are **Destroy** to destroy the particle and remove it, **Physical Response** to bounce particles physically or **Custom Response** to let game scripts calculate an appropriate collision response.
 +
 +The **Emitter** parameter defines an optional particle emitter to use upon collisions. Emitter is used in burst mode.
 +
 +The **Min Impulse** parameter defines the minimum impact impulse [Ns] before an emitter instance is created.
 +
 +The **Controller** parameter defines the named controller in the collision emitter to assign particle attributes to. This allows to adjust the collision emitter depending on dynamic input. For example if a controller name is set for //Linear Velocity// then the controller value will be set to the linear velocity of the particle.
 +
 +<wrap hi>**Parameters Sub Panel**</wrap>
 +
 +Shows the list of all supported parameters for the particle type. Parameters with one or more curves defined are shown with a plus sign. All parameters with no curves defined are shown with a minus sign.
 +
 +The **Cast Range** parameter defines the range of the cast value for newly cast particles. The cast value is randomly picked from between an including **castValue-range -> castValue+range**.
 +
 +The **Cast Spread** parameter defines the spread applied to the cast value for newly cast particles. The spread is added to the cast value.
 +
 +The **Controller Value** parameter defines the controller to use as input for the //Value Curve//. If not set 0-input is used for the curve.
 +
 +The **Controller Spread** parameter defines the controller to use as input for the //Spread Curve//. If not set 0-input is used for the curve.
 <WRAP clear/> <WRAP clear/>
  
 ====== Controllers ====== ====== Controllers ======
 +
 +{{ :gamedev:deigde:editors:editor_pemitter_controller.png?nolink|Controller panel}}
 +
 +Controllers are used by game programmers to adjust the particle emitter. In general the artist defines the controller ranges but game programmers can overrule them to make their live easier. This does not interfere with the particle parameters. The output of the controller is the **Value** linearly mapped from the range **Minimum Value -> Maximum Value** to the range **0 -> 1**.
 +
 +Controllers are typically accessed by the game developer using the unique **Controller Name** (case sensitive). This allows to mix and match different animators with differing controller setups (count, ordering and ranges) as long as the required names are present.
 +
 +The controller list is an ordered list. For this reason controllers are shown with their index number too. Game developers can use this index number as an alternative to controller names.
 +
 +The **Clamp value to range** check box determines if the input value is clamped to the controller range or wraps around if going past the range.
 +
 +The **Freeze controller value** is used only for preview purpose to stop a controller from updating its value dynamically.
 +<WRAP clear/>
 +
 +====== View ======
  
 {{ :gamedev:deigde:editors:editor_pemitter_controller.png?nolink|Controller panel}} {{ :gamedev:deigde:editors:editor_pemitter_controller.png?nolink|Controller panel}}
gamedev/deigde/editors/particleemitter.txt · Last modified: 2020/04/05 00:28 by dragonlord