Particle System Renderers

From Valve Developer Community
Jump to: navigation, search
English (en)Русский (ru)中文 (zh)Translate (Translate)
Category:Particle System

render_animated_sprites

This is the "ordinary" renderer. It draws floating animated sprites.

animation rate
Rate at which to animate particles. Normally this is in seconds (???), however if "Use animation rate as FPS" is set to 1, it will use tics as its animation rate instead.
cull system starting at this recursion depth
Start culling at this view recursion depth (-1 for no culling).
cull system when CP normal faces away from camera
Control point who's position and orientation we use for culling when facing away from the camera (-1 for no culling).
orientation_type
How each particle is aligned relative to the camera.
0: Billboard (face-on)
1: Fix Z (upright)
2: Fix X (flat)
orientation_control_point
All particles inherit their orientation from this control point.
Todo: Is the position of the CP used, or the actual orientation?
Confirm:Non-functional in Source 2007/9?
use animation rate as fps
Flag that indicates whether the animation should be in seconds (???) or tics (normal FPS rate).

render_rope

Renders all particles in the system into one continuous "rope", the smoothness can be adjusted by changing texel_size and subdivision_count. Killing particles will cause the rope to instantly flick to adjust the rope to remain continuous, so random lifetimes and continuous emitters can look poor, depending on the effect (this only applies to pre-L4D2 particle editors). Useful for effects such as muzzle smoke, lightning, or electricity.

subdivision_count (integer)
Divides the rope between two particles into x number of nodes so the rope may be drawn smoother.
For example, a subdivision_count of one makes the rope only have one node between two particles, while a subdivision_count of ten makes the rope have ten nodes between two particles.
texel_size (float)
The decimal percentage of one sprite/texture over the whole rope.
For example, a texel_size of one scales the entire sprite over the rope, while a texel_size of 0.5 scales the entire sprite twice over the rope (or the entire sprite covers 50% of the rope, which gets wrapped around).
texture_scroll_rate (float)
The rate (in seconds) at which to scroll the texture over the whole rope.
For example, a texture_scroll_rate of one scrolls the texture once every second on the rope, while a texture_scroll_rate of ten scrolls the texture ten times every second on the rope.

render_screen_velocity_rotate

Renders each particle's rotation according to their direction of movement.

Useful for making sparks, spiraling particles, etc.

rotate_rate(dps) (float)
[Todo]
forward_angle (float)
[Todo]. Default: -90.0

render_sprite_trail

Renders animated sprites with their length of trails based on their velocity. Useful for effects such as bullet tracers, sparks, or glowing beams.

animation rate (float)
[Todo]. Default: 0.1
length fade in time (float)
[Todo]
max length (float)
[Todo]. Default: 2000
min length (float)
[Todo]

render_blobs

Renders particles as blobs of liquid. While originally used for a demonstration NPC, a newer version of this effect is used in Portal 2 to render Gel. This renderer has existed since Source 2007, but the code is disabled by default.

The material used should be opaque, and ideally have $phong enabled.

cube_width (float)
[Todo]. Default: 1.0
cutoff_radius (float)
[Todo]. Default: 3.3
render_radius (float)
[Todo]. Default: 1.3

render_models

Renders 3D models instead of particles. Useful for effects such as chunks of debris, or gibs.

Note.pngNote: Visibility data disabled for this renderer

render_project

Unknown. Draws projected textures?