Q2PRO-X 1.6 Beta 5 by ly — AVFX Surface Objects
The complete guide in HTML. The original DOCX is available from its documentation card.
Q2PRO-X 1.6 Beta 5 by ly
AVFX Surface Objects
Project author: ly
AVFX Surface Objects
English edition • Q2PRO-X 1.6 Beta 5 by ly • 2026-10-10
Contents
The entries are links: click one to jump to that section.
AVFX three-dimensional surface objects
AVFX three-dimensional surface objects
Project author: ly. Q2PRO-X 1.6 Beta 5.
Objects add three-dimensional detail to map architecture. They form a separate AVFX layer: flat greenery, brick, metal and floor-covering materials remain independent. Objects are decorative and do not change collision.
Location: Main menu → Advanced Visual Effects → AVFX Detailed Settings → Surfaces & Water → Surface Objects
The master switch and six surface-object submenus.
Object types
| Type | Suitable for | Main controls |
|---|---|---|
| Grass | Green surfaces and open floor areas | Density, size, wind, quality, sky restriction and shadow strength |
| Ivy | Hanging wall vegetation | Length, shape, variety, clustering and preference for the top of a surface |
| Ferns | Distinct three-dimensional plants | Size, shape and frond variety, wind and lighting |
| Rocks | Pebbles, clusters and boulders | Texture, colour, shape, clustering, size and wide size variation |
| Soil | Uneven ground and small floor clumps | Texture, colour, shape, density and size |
| Leaves | Fallen and falling leaves | Shape and colour variation, clustering, wind and a separate falling-leaf count |
Enable both the object master and the required type. A similarly named flat material is not required: wall ivy and the Greenery material are different effects. Results depend on suitable map surfaces.
Grass, ferns and wall ivy in one game scene.
Hanging ivy
Clustering shifts distribution from individual twigs to dense groups. At the maximum, groups contain many branches and leaves. Variety breaks up repeated shapes and lengths; some clusters may be much longer than others. Height distribution gradually favours the upper part of the receiving BSP surface. It is not a filter based on the entire level's height.
Wall-ivy clustering, variety and distribution. Russian reference screenshot.
Wall foliage
| Type | Section | Row | Variable or target | What it does |
|---|---|---|---|---|
| Toggle | Enabled | cl_avfx_surface_ivy | An independent Surface Objects category. Requires its master; Grass and Surface Materials are not required. Applies immediately. | |
| List | Quality | cl_avfx_surface_ivy_quality | Leaf curve detail. Plant positions and visibility do not depend on this setting. Applies immediately. [Performance / Balanced / High / Ultra] | |
| Slider | Density | cl_avfx_surface_ivy_density | Fixed map population density. A change rebuilds placement once. Applies immediately. | |
| Slider | Size | cl_avfx_surface_ivy_size | Plant scale in world units. Plants must fit their supporting surfaces. Applies immediately. | |
| Slider | Upper-wall bias | cl_avfx_surface_ivy_top_bias | Smoothly confines roots to the top of each connected wall: 0 all heights, 1 upper 12%. Long runners can hang below their roots. Applies immediately. | |
| Slider | Clumping | cl_avfx_surface_ivy_clumping | 0: separate vines; 1: dense six-vine colonies only, with no isolated twigs. Fewer crowns balance the extra branches. Applies immediately. | |
| Slider | Shape variety | cl_avfx_surface_ivy_diversity | Varies branching, leaf shapes and runner lengths; some runners grow several times longer. 0 uses one uniform structure, 1 full variety. Stable until settings change. Applies immediately. | |
| Slider | Arrangement | cl_avfx_surface_ivy_seed | Deterministic placement seed. Camera motion never changes the arrangement. Applies immediately. | |
| Slider | Red | cl_avfx_surface_ivy_color_r | Base red channel before scene lighting. Applies immediately. | |
| Slider | Green | cl_avfx_surface_ivy_color_g | Base green channel before scene lighting. Applies immediately. | |
| Slider | Blue | cl_avfx_surface_ivy_color_b | Base blue channel before scene lighting. Applies immediately. | |
| Slider | Wind | cl_avfx_surface_ivy_wind | Continuous branch and leaf motion with fixed roots. Applies immediately. | |
| Slider | Roughness | cl_avfx_surface_ivy_roughness | Leaf surface roughness; higher values soften highlights. Applies immediately. | |
| Section | Lighting | Lighting | ||
| Navigation | Lighting | Lighting... | q2prox_avfx_ivy_lighting | Static, celestial and local lighting response for this object category. |
| Navigation | Lighting | Back... | q2prox_avfx_surface_objects | Back to Surface Objects. |
Ferns and grass
Fern variety combines different silhouettes instead of identical plants. Wind controls motion; density controls placement. Disabling user LOD does not itself truncate grass distance, although the renderer still handles visibility, hidden surfaces and subpixel detail. Higher density remains more expensive.
Fern variety settings. Russian reference screenshot.
Ferns and weeds
| Type | Section | Row | Variable or target | What it does |
|---|---|---|---|---|
| Toggle | Enabled | cl_avfx_surface_ferns | An independent Surface Objects category. Requires its master; Grass and Surface Materials are not required. Applies immediately. | |
| List | Quality | cl_avfx_surface_ferns_quality | Leaf curve detail. Plant positions and visibility do not depend on this setting. Applies immediately. [Performance / Balanced / High / Ultra] | |
| Slider | Density | cl_avfx_surface_ferns_density | Fixed map population density. A change rebuilds placement once. Applies immediately. | |
| Slider | Size | cl_avfx_surface_ferns_size | Plant scale in world units. Plants must fit their supporting surfaces. Applies immediately. | |
| Slider | Shape variety | cl_avfx_surface_ferns_diversity | Varies fern crown, frond lengths, curvature, orientation and pinnate leaf shapes. 0 uniform plants; 1 full stable variety. Applies immediately. | |
| Slider | Arrangement | cl_avfx_surface_ferns_seed | Deterministic placement seed. Camera motion never changes the arrangement. Applies immediately. | |
| Slider | Red | cl_avfx_surface_ferns_color_r | Base red channel before scene lighting. Applies immediately. | |
| Slider | Green | cl_avfx_surface_ferns_color_g | Base green channel before scene lighting. Applies immediately. | |
| Slider | Blue | cl_avfx_surface_ferns_color_b | Base blue channel before scene lighting. Applies immediately. | |
| Slider | Wind | cl_avfx_surface_ferns_wind | Continuous branch and leaf motion with fixed roots. Applies immediately. | |
| Slider | Roughness | cl_avfx_surface_ferns_roughness | Leaf surface roughness; higher values soften highlights. Applies immediately. | |
| Section | Lighting | Lighting | ||
| Navigation | Lighting | Lighting... | q2prox_avfx_ferns_lighting | Static, celestial and local lighting response for this object category. |
| Navigation | Lighting | Back... | q2prox_avfx_surface_objects | Back to Surface Objects. |
Grass
| Type | Section | Row | Variable or target | What it does |
|---|---|---|---|---|
| Toggle | Grass | cl_avfx_surface_grass | Enable instanced grass on eligible flat/sloped static surfaces. Needs the Surface Objects master on. Higher quality costs more. Default off. Applies immediately. | |
| Navigation | Placement & appearance... | q2prox_avfx_grass_placement | Open grass placement, performance and visual appearance controls. | |
| Navigation | Lighting... | q2prox_avfx_grass_lighting | Open grass lighting: sun/moon, static map light, flashlight, lightning/meteors, dynamic and emissive sources. | |
| Navigation | Wind & interaction... | q2prox_avfx_grass_motion | Open grass wind and actor-interaction controls. | |
| Section | Service | Service | ||
| Navigation | Service | Grass info... | avfx_surface_grass_info | Print grass diagnostics (inventory, cells, instances, interaction, timings) to the console. |
| Navigation | Service | Back... | q2prox_avfx_surface_objects | Back to Surface Objects. |
Rocks and soil
Size sets the basic scale; size variation determines differences between objects. Wide rock variation can mix small pebbles and boulders. Shape variety, texture and colour variation reduce repetition together. There is no need to maximise everything at once: choose the basic size first, then variation and density.
Rock size, size variation, colour and texture. Russian reference screenshot.
Different-sized rocks, soil and fallen leaves on the floor.
Stones and rubble
| Type | Section | Row | Variable or target | What it does |
|---|---|---|---|---|
| Toggle | Enabled | cl_avfx_surface_rubble | Independent Surface Objects category; requires only the common master. Decorative geometry, no collision. Applies immediately. | |
| List | Quality | cl_avfx_surface_rubble_quality | Mesh detail. Fixed object positions and visibility never depend on quality. Applies immediately. [Performance / Balanced / High / Ultra] | |
| Slider | Density | cl_avfx_surface_rubble_density | Stable map population. Placement rebuilds once when settings change, never when the camera moves. Applies immediately. | |
| Slider | Size | cl_avfx_surface_rubble_size | Cluster size in world units. The complete footprint must fit its support, clear of openings and water. Applies immediately. | |
| Slider | Size spread | cl_avfx_surface_rubble_size_spread | Independent scale spread: 0 equal base size, 1 ranges from 1/16 to 8 times base size; pebbles and boulders together. Large objects still require full support. Applies immediately. | |
| Slider | Clumping | cl_avfx_surface_rubble_clumping | 0 separate objects; 1 multi-object clusters. Cluster count decreases to balance added geometry. Applies immediately. | |
| Slider | Shape variety | cl_avfx_surface_rubble_diversity | 0 one structure; 1 varied shapes, proportions and orientations; leaf damage is rare. Camera-independent. Applies immediately. | |
| Slider | Arrangement | cl_avfx_surface_rubble_seed | Stable placement seed; changes the arrangement on the map. Applies immediately. | |
| Slider | Red | cl_avfx_surface_rubble_color_r | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Green | cl_avfx_surface_rubble_color_g | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Blue | cl_avfx_surface_rubble_color_b | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Color variety | cl_avfx_surface_rubble_color_variation | Restrained per-piece texture tint variation; zero keeps the chosen tint. Does not change placement. Applies immediately. | |
| Slider | Roughness | cl_avfx_surface_rubble_roughness | Higher values soften specular highlights. Applies immediately. | |
| Section | Lighting | Lighting | ||
| Navigation | Lighting | Lighting... | q2prox_avfx_rubble_lighting | Static, celestial and local lighting response for this object category. |
| Navigation | Lighting | Back... | q2prox_avfx_surface_objects | Back to Surface Objects. |
Soil clumps
| Type | Section | Row | Variable or target | What it does |
|---|---|---|---|---|
| Toggle | Enabled | cl_avfx_surface_soil | Independent Surface Objects category; requires only the common master. Decorative geometry, no collision. Applies immediately. | |
| List | Quality | cl_avfx_surface_soil_quality | Mesh detail. Fixed object positions and visibility never depend on quality. Applies immediately. [Performance / Balanced / High / Ultra] | |
| Slider | Density | cl_avfx_surface_soil_density | Stable map population. Placement rebuilds once when settings change, never when the camera moves. Applies immediately. | |
| Slider | Size | cl_avfx_surface_soil_size | Cluster size in world units. The complete footprint must fit its support, clear of openings and water. Applies immediately. | |
| Slider | Size spread | cl_avfx_surface_soil_size_spread | Size spread: 0 equal base size, 1 ranges from half to twice the base size. Applies immediately. | |
| Slider | Clumping | cl_avfx_surface_soil_clumping | 0 separate objects; 1 multi-object clusters. Cluster count decreases to balance added geometry. Applies immediately. | |
| Slider | Shape variety | cl_avfx_surface_soil_diversity | 0 one structure; 1 varied shapes, proportions and orientations; leaf damage is rare. Camera-independent. Applies immediately. | |
| Slider | Arrangement | cl_avfx_surface_soil_seed | Stable placement seed; changes the arrangement on the map. Applies immediately. | |
| Slider | Red | cl_avfx_surface_soil_color_r | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Green | cl_avfx_surface_soil_color_g | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Blue | cl_avfx_surface_soil_color_b | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Color variety | cl_avfx_surface_soil_color_variation | Restrained per-piece texture tint variation; zero keeps the chosen tint. Does not change placement. Applies immediately. | |
| Slider | Roughness | cl_avfx_surface_soil_roughness | Higher values soften specular highlights. Applies immediately. | |
| Section | Lighting | Lighting | ||
| Navigation | Lighting | Lighting... | q2prox_avfx_soil_lighting | Static, celestial and local lighting response for this object category. |
| Navigation | Lighting | Back... | q2prox_avfx_surface_objects | Back to Surface Objects. |
Fallen and falling leaves
Colour variation changes shades around the chosen colour. Sizes stay leaf-like; damaged and torn forms make up a small fraction of the set. Clustering controls floor distribution.
Falling Leaves has a separate master. Its count is independent of floor density: the default is much lower than the original dense stream, and can be decreased or increased. Falling speed and wind produce gentle descent with turning and sway.
Sky Only affects both kinds of leaf. Enabling it excludes roofed areas; some maps may contain no suitable locations.
Separate falling-leaf count and the open-sky restriction. Russian reference screenshot.
Leaves falling beneath open sky above fallen leaves.
Fallen leaves
| Type | Section | Row | Variable or target | What it does |
|---|---|---|---|---|
| Toggle | Enabled | cl_avfx_surface_leaves | Independent Surface Objects category; requires only the common master. Decorative geometry, no collision. Applies immediately. | |
| Toggle | Outdoor only | cl_avfx_surface_leaves_outdoor_only | Leaves only on supports open to the sky, including falling leaves. Off also allows indoor supports; flight still requires a clear path. Applies immediately. | |
| List | Quality | cl_avfx_surface_leaves_quality | Mesh detail. Fixed object positions and visibility never depend on quality. Applies immediately. [Performance / Balanced / High / Ultra] | |
| Slider | Density | cl_avfx_surface_leaves_density | Stable map population. Placement rebuilds once when settings change, never when the camera moves. Applies immediately. | |
| Slider | Size | cl_avfx_surface_leaves_size | Cluster size in world units. The complete footprint must fit its support, clear of openings and water. Applies immediately. | |
| Slider | Size spread | cl_avfx_surface_leaves_size_spread | Botanical size variation: 0 equal base size, 1 ranges from 65 to 125 percent; no boulder-sized leaves. Applies immediately. | |
| Slider | Clumping | cl_avfx_surface_leaves_clumping | 0 separate objects; 1 multi-object clusters. Cluster count decreases to balance added geometry. Applies immediately. | |
| Slider | Shape variety | cl_avfx_surface_leaves_diversity | 0 one structure; 1 varied shapes, proportions and orientations; leaf damage is rare. Camera-independent. Applies immediately. | |
| Slider | Arrangement | cl_avfx_surface_leaves_seed | Stable placement seed; changes the arrangement on the map. Applies immediately. | |
| Slider | Red | cl_avfx_surface_leaves_color_r | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Green | cl_avfx_surface_leaves_color_g | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Blue | cl_avfx_surface_leaves_color_b | Base color channel before material variation and scene lighting. Applies immediately. | |
| Slider | Color variety | cl_avfx_surface_leaves_color_variation | Smooth per-leaf hue variation from the chosen RGB; zero keeps its hue, one includes autumn, green and bluish shades. Applies immediately. | |
| Toggle | Falling leaves | cl_avfx_surface_leaves_falling | Adds falling leaves where the full flight path is clear. Outdoor only applies to ground and flying leaves together. Off skips flight draws; ground placement is unchanged. Applies immediately. | |
| Slider | Falling quantity, % | cl_avfx_surface_leaves_fall_amount | Falling leaf quantity only: 10% by default, 1% minimum, 100% restores the original population. Ground litter is unchanged. Applies immediately. | |
| Slider | Fall speed | cl_avfx_surface_leaves_fall_speed | Average downward speed in world units per second; individual leaves flutter, rotate and drift at different rates. Applies immediately. | |
| Slider | Wind | cl_avfx_surface_leaves_wind | Restrained flutter of curled leaf tips; support points stay fixed. Applies immediately. | |
| Slider | Roughness | cl_avfx_surface_leaves_roughness | Higher values soften specular highlights. Applies immediately. | |
| Section | Lighting | Lighting | ||
| Navigation | Lighting | Lighting... | q2prox_avfx_leaves_lighting | Static, celestial and local lighting response for this object category. |
| Navigation | Lighting | Back... | q2prox_avfx_surface_objects | Back to Surface Objects. |
Shadows and the flashlight
Grass, ivy, ferns and rocks have separate shadow strength. The default is zero, which disables that type's shadow calculation. Soil and fallen leaves have no separate shadow pass.
Ordinary shadows connect objects to surfaces; hanging ivy casts onto its wall. This is not a full shadow system for every map light. The flashlight adds a directional projection from objects in its beam onto receiving floors and walls. It uses the same shadow strength and requires flashlight shadows to be enabled. The original shadow remains; the shape follows the object's silhouette.
Ordinary plant shadows on the floor and wall.
The same scene with additional flashlight projection.
Object lighting
Ivy, ferns, rocks, soil and leaves have their own Lighting submenu at the end of their settings. Grass keeps its existing menu. Each type independently controls its lighting master, minimum brightness, static map light, response to Sun/Moon and cloud cover, night tint, flashlight, lightning/meteors and dynamic or emissive map sources.
Local-light strength and colour transfer are independent. Leaf settings cover both fallen and falling leaves. Disabling the master retains static lighting; zero strength for a local source excludes its calculation. Defaults match grass. These settings belong to AVFX presets and the generator.
With sunlight, ordinary floor and slope shadows change direction with the Sun. Without it, the old projection remains; wall-ivy shadows do not change. Shadow strength stays separate, and the flashlight adds its own projection.
Reflections and saving
Mirrors support surface-object reflections. Puddles have a separate switch for grass, ivy, ferns and falling leaves. Rocks, soil and fallen leaves are excluded from this puddle pass.
Plants reflected in a puddle.
Settings are included in ordinary AVFX presets. The generator selects surface objects independently; shadows are generated only from Quality mode upwards. High density, large objects, shadows and extra reflections increase load. No quality level promises the same FPS on different maps.