Particle System Renderers
Contents
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 , 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.
render_project
Unknown. Draws projected textures?