Gel-related console commands
Portal 2 comes with a huge amount of console commands related to gel. Nearly every aspect of gel can be changed: the colors, the speed, the size, and how much blobs morph together.
Note: "Paint bomb" refers to prop_paint_bomb
s. "Paint blobs" refers to gel in the form of a continuous stream. Paint bombs actually render as a packet of 20 (paintbomb_draw_num_paint_blobs
) individual gel blobs, so some blob commands may apply to them as well, usually only for visual variables.
Particularly interesting commands: bounce_paint_color, paintblob_gravity_scale, portal_paint_color, r_paintblob_blr_cutoff_radius, paintblob_isosurface_box_width, r_paintblob_highres_cube, r_paintblob_wireframe, speed_paint_color, sv_paint_detection_sphere_radius, sv_press_jump_to_bounce, bounce_paint_min_speed, sv_speed_paint_max
ConVar/Command | Parameters or default value | Parameter Type | Effect |
---|---|---|---|
bounce_paint_color | 0 165 255 255 | Red Green Blue Alpha | Color for repulsion gel on brush geometry. Requires a new map to be loaded or the current map to be saved and reloaded before taking effect. Does not change color for gel in midair. |
bounce_paint_min_speed | 500 | Units per second | Minimum speed to give to an object that bounces on repulsion gel. |
bounce_paint_wall_jump_upward_speed | 275 | Units per second | Amount of upward velocity to add to an object when bouncing sideways on repulsion gel. 275 results in the player bouncing about 384 units before the player returns to the same height due to gravity. |
cast_ray_paint |
| Attempts to spawn a small amount of repulsion gel wherever the player looks, and returns the classname of the entity that the player was looking at. Requires developer 1 in the console before taking effect. | |
cl_debug_paint_ammo_bar | 0 | Unused. See weapon_paintgun . | |
cl_draw_paint_bomb_with_blobs | 1 | 0 disables, 1 enables | Makes paint bombs render as packets of blobs. Implies that there is/was some alternate method of rendering them. |
cl_draw_projected_wall_with_paint | 1 | 0 disables, 1 enables | Enables rendering paint splats on projected_wall_entity s. |
cl_group_paint_impact_effects | 0 | To do: Effect description. | |
cl_paintable_projected_wall_texture_wrap_rate | 64 | World units | If cl_draw_projected_wall_with_paint is enabled, this will stretch or squeeze the wavy light bridge texture, and any gel textures on it. It doesn't seem to affect[Confirm] how accurately gel will land onto a light bridge (64 unit squares). |
debug_paint_client_blobs | 0 | Probably related to draw_paint_client_blobs . No effect.[Confirm] | |
debug_paint_impact_effects | 0 | 0 disables, 1 enables | Displays how many paint splatter particle effects currently exist. |
debug_paint_sprayer_cone | 0 | 0 disables, 1 enables | Draws the location and spread radius of info_paint_sprayer s. Also shows the spawn location and angle of individual paint blobs. |
debug_paintable_projected_wall | 0 | Seems like it would give information on gel applied to projected_wall_entity s. No effect.[Confirm] | |
debug_paintbomb_explosion | 0 | 0 disables, 1 enables | Draws a cluster of lines showing all the directions that gel was launched in when paint bombs explode. |
debug_player_paint_shoot_pos | 0 | Probably related to weapon_paintgun . No effect.[Confirm] | |
draw_paint_client_blobs | 0 | No effect.[Confirm] | |
draw_paint_isosurface | 1 | 0 disables, 1 enables | Enables gel blob and bomb rendering. |
draw_paint_splat_particles | 1 | 0 disables, 1 enables | Enables gel splatter particle effect rendering. |
ent_create_paint_bomb_erase |
| Creates a cleansing gel bomb where the player is looking. | |
ent_create_paint_bomb_jump |
| Creates a repulsion gel bomb where the player is looking. | |
ent_create_paint_bomb_portal |
| Creates a conversion gel bomb where the player is looking. | |
ent_create_paint_bomb_speed |
| Creates a propulsion gel bomb where the player is looking. | |
erase_color | 0 0 0 0 | Red Green Blue Alpha | Seems like it would change the color of surfaces that are erased of gel. No effect. |
erase_visual_color | 255 255 255 255 | Red Green Blue Alpha | Seems like it would change the color of cleansing gel. Color only applies to the smudge screen effect seen when the player is hit by gel. |
mat_dynamicPaintmaps | 0 | 0 disables, 1 enables | Probably related to mat_dynamiclightmaps . No effect.[Confirm] |
mat_paint_enabled | 1 | 0 disables, 1 enables | Enables gel rendering on brush geometry. |
max_sound_channels_per_paint_stream | 7 | Arbitrary number | Confirm: Max number of sound mixer channels a paint_stream may use? |
paint_cleanser_visibility_look_angle | 60 | Degrees | No effect. weapon_paintgun used to react to the visibility of trigger_paint_cleanser s in some way. |
paint_cleanser_visibility_poll_rate | 0.5 | Seconds | No effect. |
paint_cleanser_visibility_range | 1000 | World units | No effect. |
paint_color_max_diff | 32 | "The maximum difference between two colors for matching." [Clarify] | |
paint_impact_accumulate_sound_distance_threshold | 128 | To do: Effect description. | |
paint_impact_count_to_max_adjusted_volume | 5 | To do: Effect description. | |
paint_impact_count_to_min_
adjusted_pitch_after_full_volume | 5 | To do: Effect description. | |
paint_impact_particles_distance_threshold | 20 | To do: Effect description. | |
paint_impact_particles_duration | 0.2 | No effect.[Confirm] | |
paint_location_distance_threshold_square | 25 | To do: Has some kind of visible effect? | |
paint_max_impact_particles | 50 | No effect.[Confirm] | |
paint_min_impact_particles | 20 | No effect.[Confirm] | |
paintblob_air_drag | 0.1 | To do: ? | How fast gel blobs can flow through air. If the air drag is too much, gel will behave like a thick jelly. |
paintblob_draw_distance_from_eye | 18 | World units | How close to the player camera a gel blob can be before it is not visually processed. Hiding very close blobs prevents them from blocking the player's view. |
paintblob_gravity_scale | 1 | Arbitrary number | Multiplier for the effects of gravity on gel blobs only. Universal gravity is determined by sv_gravity . |
paintblob_isosurface_box_width | 8 | To do: It is not Hammer units. | Rendering size of gel blobs and blobs in bombs. |
paintblob_lifetime | 1.5 | Seconds | If paintblob_limited_range is enabled, gel blobs will be erased completely after this amount of time. |
paintblob_limited_range | 0 | 0 disables, 1 enables | Tells gel blobs to erase themselves after a certain amount of time, determined by paintblob_lifetime . |
paintblob_max_radius_scale | 1 | Arbitrary number | No effect.[Confirm] |
paintblob_min_radius_scale | 0.7 | Arbitrary number | No effect.[Confirm] |
paintblob_minimum_portal_exit_velocity | 225 | Units per second | Minimum speed gel blobs will have after crossing a portal. Blobs below this speed will be boosted to it. |
paintblob_radius_while_streaking | 0.3 | To do: Effect description. | |
paintblob_streak_angle_threshold | 45 | Degrees | Angle of impact below which streaking can occur. |
paintblob_streak_trace_range | 20 | "The range of the trace for the paint blobs while streaking."[Clarify] | |
paintblob_tbeam_accel | 200 | Units per second per second | How fast gel blobs speed up to the speed of a projected_tractor_beam_entity (funnel). Check the linear force in prop_tractor_beam if this doesn't seem to do anything. |
paintblob_tbeam_portal_vortex_circulation | 60000 | To do: ? | How fast gel blobs rotate inside funnels, when near portals. |
paintblob_tbeam_vortex_accel | 300 | Degrees per second per second[Confirm] | How fast gel blobs speed up to the speed of paintblob_tbeam_vortex_circulation . |
paintblob_tbeam_vortex_circulation | 30000 | To do: ? | How fast gel blobs rotate inside funnels. |
paintblob_tbeam_vortex_distance | 50 | World units | Gel blobs this distance away from the start or end of a funnel will spin similar to paintblob_tbeam_portal_vortex_circulation . |
paintblob_tbeam_vortex_radius_rate | 100 | To do: Has some kind of visible effect? | |
paintblob_update_per_second | 60 | Times per second | To do: Some kind of movement code? |
paintbomb_blobs_max_streak_speed_dampen | 800 | To do: Effect description. | |
paintbomb_blobs_max_streak_time | 0.2 | To do: Effect description. | |
paintbomb_blobs_min_streak_speed_dampen | 500 | To do: Effect description. | |
paintbomb_blobs_min_streak_time | 0.1 | To do: Effect description. | |
paintbomb_draw_blob_speed_max | 80 | Units per second | Maximum speed of gel blobs moving within a gel bomb. When changed, only newly created bombs will show the change. |
paintbomb_draw_blob_speed_min | 50 | Units per second | Minimum speed of gel blobs moving within a gel bomb. When changed, only newly created bombs will show the change. |
paintbomb_draw_max_blob_radius | 0.8 | Arbitrary number | Maximum render size of gel blobs in bombs. When changed, only newly created bombs will show the change. Seems to have an upward limit?
To do: Multiplies size of paintblob_isosurface_box_width ? |
paintbomb_draw_min_blob_radius | 0.6 | Arbitrary number | Minimum render size of gel bomb blobs. When changed, only newly created bombs will show the change.
To do: Multiplies size of paintblob_isosurface_box_width ? |
paintbomb_draw_num_paint_blobs | 20 | Arbitrary number | Number of blobs to comprise a single gel bomb. When changed, only newly created bombs will show the change. |
paintbomb_draw_sphere_radius | 25 | World units | Distance to spread all the gel bomb blobs out to. Note that this will not scale the blob oscillation speed. |
paintbomb_explosion_radius | 100 | World units | Maximum distance of a surface from a gel bomb that is paintable when the bomb explodes. Note that far distances will not be consistently painted, unless To do: ? is increased. |
paintbomb_horizontal_angle_split | 8 | To do: Effect description. | |
paintbomb_streak_speed_max | 250 | To do: Effect description. | |
paintbomb_streak_speed_min | 150 | To do: Effect description. | |
paintbomb_vertical_angle_split | 8 | To do: Effect description. | |
paintsplat_bias | 0.1 | Decimal Percent | When using paint_sphere , how much to bias random alpha noise toward the edge of the sphere. |
paintsplat_max_alpha_noise | 0.1 | Decimal Percent | When using paint_sphere , extra alpha noise put into splats along with Alpha Percent (alpha_percent) . |
paintsplat_noise_enabled | 1 | 0 disables, 1 enables | Enables paint_sphere using alpha noise. |
player_paint_shoot_pos_forward_scale | 55 | Probably related to weapon_paintgun . No effect.[Confirm] | |
player_paint_shoot_pos_right_scale | 12 | Probably related to weapon_paintgun . No effect.[Confirm] | |
player_paint_shoot_pos_up_scale | 25 | Probably related to weapon_paintgun . No effect.[Confirm] | |
portal_paint_color | 128 128 128 255 | Red Green Blue Alpha | Color for conversion gel on brush geometry. Requires a new map to be loaded or the current map to be saved and reloaded before taking effect. Does not change color for gel in midair. |
portal_test_resting_surface_for_paint | 0 | 0 disables, 1 enables | If any portals are placed on a previously unportalable surface by means of conversion gel, automatically erase the portal if the conversion gel disappears for some reason. |
r_hidepaintedsurfaces | 0 | 0 disables, 1 enables | Disables rendering of gel on brush geometry. The effects of gel will still apply. Objects such as cubes are not affected. |
r_paintblob_blr_cutoff_radius | 5.5 | To do: Not Hammer units | Size of gel blobs, including ones inside gel bombs.
Warning: Scaling this seems to also scale the number of verts used by gel blobs, which can be much more expensive than |
r_paintblob_blr_render_radius | 1.3 | To do: Not Hammer units | Changes ONLY the size of gel blobs, including ones inside gel bombs. Unlike other commands, it will not scale the effect of blobs morphing together. |
r_paintblob_blr_scale | 1 | Arbitrary number | Scale for r_paintblob_blr_cutoff_radius and r_paintblob_blr_render_radius . |
r_paintblob_calc_color | 0 | 0 disables, 1 enables | "Just interpolate colors"[Clarify] |
r_paintblob_calc_hifreq_color | 0 | 0 disables, 1 enables | "Experimental hi-freq colors"[Clarify] |
r_paintblob_calc_tan_only | 0 | 0 disables, 1 enables | "Calculate Only Tangents"[Clarify] |
r_paintblob_calc_tile_color | 0 | 0 disables, 1 enables | "Shows color of the tile"[Clarify] |
r_paintblob_calc_uv_and_tan | 1 | 0 disables, 1 enables | "Calculate UVs and Tangents"[Clarify] |
r_paintblob_debug_draw_margin | 0 | 0 disables, 1 enables | "If tiler is disabled, whether to draw the margin."[Clarify] |
r_paintblob_debug_draw_tile_boundaries | 0 | 0 disables, 1 enables | "Whether to draw outlines of all tiles."[Clarify] |
r_paintblob_debug_spu | 0 | 0 disables, 1 enables | Use "SPU code"[Clarify] |
r_paintblob_display_clip_box | 0 | 0 disables, 1 enables | Displays boxes around portals that have gel blobs near them. To do: More information. What do the line colors mean? What is the area they define? |
r_paintblob_draw_isosurface | 1 | 0 disables, 1 enables | Enables gel blobs clumping together. If this is disabled, gel blobs will render as individual droplets. |
r_paintblob_force_single_pass | 0 | 0 makes gel render in two(?) passes. To do: why? 1 makes gel render in a single pass. | |
r_paintblob_highres_cube | 0.8 | Arbitrary number[Confirm] | How round gel should look. The closer to 0 , the closer to a perfect sphere. 0 disables rendering however, because it would cause the renderer to attempt to make infinite vertices. Be careful, as extremely low values are very expensive. |
r_paintblob_mainview_highres | 1 | 0 disables, 1 enables | Makes main view (not through portals) render blobs in normal quality. Functions independently from r_paintblob_otherviews_highres . |
r_paintblob_material | -1 | To do: Unclear exactly what this is meant to do. 3 causes a texture glitch (must be a memory issue). 4 makes gel black. 5 , 6 , and 7 make gel blobs flicker and possibly render in the wrong positions. | |
r_paintblob_max_number_of_indices_displayed | 1000000 | "Indicates the maximum number of indices to display per tile. The index size will..."[Clarify] | |
r_paintblob_max_number_of_threads | 4 | Arbitrary number | Controls the maximum number of threads dedicated to gel blob processing.
Warning: Do not set this to 0 , or the game will crash! |
r_paintblob_max_number_of_vertices_displayed | 1000000 | "Indicates the maximum number of vertices to display per tile. The VB size will b..."[Clarify] | |
r_paintblob_only_mainview_displayed | 0 | 0 disables, 1 enables | Only render gel blobs and bombs in the main view (not through portals). |
r_paintblob_otherviews_highres | 0 | 0 disables, 1 enables | Makes gel render in high-poly mode when viewed through portals. Functions independently from r_paintblob_mainview_highres . |
r_paintblob_rotate | 0 | To do: Effect description. | |
r_paintblob_seeding_with_simd | 0 | To do: Effect description. | |
r_paintblob_shader | [blank by default]
| Shader | To do: It would appear to change the gel shader instantly, but no effect has been observed. |
r_paintblob_tile_index_to_draw | -1 | To do: This command seems to enable or disable the rendering of particular blobs, possibly related to if they are fused together with other blobs. The specifics of this command and the "blob tile" system are not clear. | |
r_paintblob_timeout_for_recycling_fragments | 100 | Milliseconds | To do: Effect description. |
r_paintblob_use_optimized_fragment_copy | 1 | 0 disables, 1 enables | To do: Effect description. |
r_paintblob_wireframe | 0 | 0 disables, 1 enables | Renders gel in a manner similar to mat_wireframe . |
removeallpaint |
| Removes all placed gel from brush geometry. Does not remove gel blobs or bombs or reset paint on objects such as cubes. | |
speed_funnelling_enabled | 1 | 0 disables, 1 enables | Enables portal funneling for players running on propulsion gel. (Note this command's incorrect spelling.) |
speed_paint_color | 255 165 0 255 | Red Green Blue Alpha | Color for propulsion gel on brush geometry. Requires a new map to be loaded or the current map to be saved and reloaded before taking effect. Does not change color for gel in midair. |
sv_bounce_anim_time_continue | 0.5 | To do: Effect description. | |
sv_bounce_anim_time_predict | 0.2 | To do: Effect description. | |
sv_bounce_reflect_enabled | 0 | 0 disables, 1 enables | To do: Effect description. |
sv_enable_paint_power_user_debug | 0 | 0 disables, 1 enables | To do: Related to weapon_paintgun ? Throws a console error about prop_testchamber_door not implementing IPaintableEntity . |
sv_paint_detection_sphere_radius | 16 | World units | How far away from gel the player can be while still being affected by the gel. 8 and below disables conversion gel. 0 disables all gel types. |
sv_paint_trigger_sound_delay | 0.1 | Seconds | How long to wait before playing the sounds signifying that the player has stepped onto or off of repulsion and propulsion gel. |
sv_paintairacceleration | 5 | No effect.[Confirm] | |
sv_paintblob_damage | 0.1 | Confirm: No effect. Seems like it would be for tweaking the amount of damage dealt to a player when hit by a gel bomb? | |
sv_portal_placement_on_paint | 1 | 0 disables, 1 enables | Confirm: No effect. Seems like disabling this would forbid portals from opening on painted areas. |
sv_press_jump_to_bounce | 3 | Arbitrary number | Changes how the player uses repulsion gel.
0 = bounce any time that the player is touching gel (even if they just walk onto it) and not crouching. 1 = bounce only when the jump key is pressed. If the player holds down jump, they will only bounce once. This mode is not ideal for wall jumping. 2 = bounce only when the jump key is held down. If the player holds down jump, they will bounce until they stop holding jump. 3 = bounce when jump key is pressed, and any time that they player lands on gel (as long as they don't crouch). |
sv_speed_normal | 175 | Units per second | How fast the player walks when not on propulsion gel. |
sv_speed_paint_acceleration | 500 | Units per second per second | How fast the player speeds up to sv_speed_paint_max when on propulsion gel, and how fast the player slows down to sv_speed_normal when getting off propulsion gel. |
sv_speed_paint_max | 800 | Units per second | Maximum speed the player can move at when on propulsion gel. |
sv_speed_paint_on_bounce_deceleration_delay | 0.2 | To do: Effect description. | |
sv_speed_paint_ramp_acceleration | 1000 | Units per second per second | A higher version of sv_speed_paint_acceleration specific to ramps.[Confirm]
To do: How are ramps defined? |
sv_speed_paint_side_move_factor | 0.5 | Confirm: No effect. Seems like it would multiply how fast the player moves when going sideways on propulsion gel. | |
sv_wall_bounce_trade | 0.73 | Arbitrary number | Multiplier of how much outward velocity is traded for upward velocity on wall bounces with repulsion gel. 0 disables wall bouncing. |
sv_wall_jump_help | 1 | 0 disables, 1 enables | To do: Enables some kind of helper when wall jumping continuously with repulsion gel (like in sp_a3_jump_intro )? |
sv_wall_jump_help_amount | 5 | "Correction amount" No effect.[Confirm] | To do: Effect description. |
sv_wall_jump_help_debug | 0 | 0 disables, 1 enables | No effect.[Confirm] |
sv_wall_jump_help_threshold | 9 | No effect.[Confirm] |