Tool textures (Source): Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 11: | Line 11: | ||
{{tip|[[WiseClipped]] gives a tutorial on using many of the Source Tool textures shown below.}} | {{tip|[[WiseClipped]] gives a tutorial on using many of the Source Tool textures shown below.}} | ||
{{note|All tool textures that are assumed to be texturing an entity work exactly like ordinary textures if applied to world brushes instead. As this makes them useless for world brushes, their visibility as world brushes is irrelevant. Also, many tool textures cut [[visleafs]]. If you aren't texturing an entity, you should tie the brush to {{ent | {{note|All tool textures that are assumed to be texturing an entity work exactly like ordinary textures if applied to world brushes instead. As this makes them useless for world brushes, their visibility as world brushes is irrelevant. Also, many tool textures cut [[visleafs]]. If you aren't texturing an entity, you should tie the brush to {{ent|func_detail}} or {{ent|func_brush}} for [[Optimization_(level_design)|optimization]].}} | ||
{{note|Some games may have outdated or obsolete tool textures in the "Dev" folder, such as <tt>dev/dev_windowportal</tt> in {{l4dseries}}.}} | {{note|Some games may have outdated or obsolete tool textures in the "Dev" folder, such as <tt>dev/dev_windowportal</tt> in {{l4dseries}}.}} | ||
{{note|Next to tool textures, there are also brush entities, which can perform tasks similar to tool textures.<br>For example, {{l4dseries}} have <code>Clip</code> for both teams, <code>Player Clip</code> for survivors and <code>NPC Clip</code> for infected; however, it also has {{ent | {{note|Next to tool textures, there are also brush entities, which can perform tasks similar to tool textures.<br>For example, {{l4dseries}} have <code>Clip</code> for both teams, <code>Player Clip</code> for survivors and <code>NPC Clip</code> for infected; however, it also has {{ent|func_playerinfected_clip}} just for player controlled infected.<br>If you cannot find a tool texture fit for a task, perhaps the game you're mapping for has a brush entity for that.}} | ||
{{note|This page is for tool textures as used in Source 1.<br>For tool textures used in GoldSrc titles, see [[Tool textures (GoldSrc)]].<br>For tool textures used by Source 2 titles, see [[Tool textures (Source 2)]].}} | {{note|This page is for tool textures as used in Source 1.<br>For tool textures used in GoldSrc titles, see [[Tool textures (GoldSrc)]].<br>For tool textures used by Source 2 titles, see [[Tool textures (Source 2)]].}} | ||
== General == | == General == | ||
Line 45: | Line 45: | ||
This texture is often used for brushes that are far away and they are dark. It cannot be lit by any type of light, but is affected by fog color.<br> | This texture is often used for brushes that are far away and they are dark. It cannot be lit by any type of light, but is affected by fog color.<br> | ||
An example of its use is in the "space" backgrounds during the G-Man monologues in {{hl2|2}} or for crude buildings in the 3D Skybox.<br> | An example of its use is in the "space" backgrounds during the G-Man monologues in {{hl2|2}} or for crude buildings in the 3D Skybox.<br> | ||
Uses {{ent | Uses {{ent|UnlitGeneric}} in: {{hl2}} {{portalseries}} {{as}} <br> | ||
Uses {{ent | Uses {{ent|LightmappedGeneric}} in: {{csseries|src=1}} {{l4dseries}}<br> | ||
While in most games, the different shader has no impact, it might have a different function in other games. In that case, you may want to use <code>vgui/black</code> instead or make your own tool texture. | While in most games, the different shader has no impact, it might have a different function in other games. In that case, you may want to use <code>vgui/black</code> instead or make your own tool texture. | ||
|- id="white" | |- id="white" | ||
Line 73: | Line 73: | ||
|{{Yes|Yes <br /> (No Marks)}} | |{{Yes|Yes <br /> (No Marks)}} | ||
| Foremost solid to bullets, but also to NPCs and physics projectiles. It does not block ''all'' projectiles, though. Projectiles from NPCs, such as the acid spit from [[npc_antlion|antlion workers]], will still get through.<br> | | Foremost solid to bullets, but also to NPCs and physics projectiles. It does not block ''all'' projectiles, though. Projectiles from NPCs, such as the acid spit from [[npc_antlion|antlion workers]], will still get through.<br> | ||
To allow NPCs and their [[line of sight]] to pass through, turn the brush into a {{ent | To allow NPCs and their [[line of sight]] to pass through, turn the brush into a {{ent|func_brush}} with its <tt>Solidity</tt> keyvalue set to a solid state.<br> | ||
{{csgo}} Use <code>blockbullets_cs</code> variant, which correctly stops bullets even with 1 unit thickness. | {{csgo}} Use <code>blockbullets_cs</code> variant, which correctly stops bullets even with 1 unit thickness. | ||
|- id="invisible" | |- id="invisible" | ||
Line 86: | Line 86: | ||
|{{Yes}} | |{{Yes}} | ||
|{{No}} | |{{No}} | ||
| Solid to {{ent | | Solid to {{ent|prop_physics}}, projectiles, players, & NPCs. Not solid to bullets.<br> | ||
{{csseries|src=1}}{{tf2}} Also solid to bullets.<br> | {{csseries|src=1}}{{tf2}} Also solid to bullets.<br> | ||
{{l4dseries}} Smokers, Boomers and Spitters can attack you through it. Survivors stop being dragged towards smokers when touching a <tt>tools/invisible</tt> wall.<br> | {{l4dseries}} Smokers, Boomers and Spitters can attack you through it. Survivors stop being dragged towards smokers when touching a <tt>tools/invisible</tt> wall.<br> | ||
Line 101: | Line 101: | ||
|{{Yes}} | |{{Yes}} | ||
|{{No}} | |{{No}} | ||
| Used with {{ent | | Used with {{ent|func_ladder}} in the most multiplayer games except {{Hl2dm}}.<br> | ||
|- id="nodraw" | |- id="nodraw" | ||
| [[Image:Toolsnodraw.gif]] | | [[Image:Toolsnodraw.gif]] | ||
Line 143: | Line 143: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| Blocks the [[line of sight]] of [[NPC]]s and [[bot]]s.<br> {{ent | | Blocks the [[line of sight]] of [[NPC]]s and [[bot]]s.<br> {{ent|mat_wireframe|1/2}} will reveal that, while this texture doesn't block [[visleaf|visleaves]], it draws crossing polygons, and they alone are capable of preventing the engine from rendering enveloped brushwork. This can be worked around by turning the Block LOS–textured brush into a {{ent|func_brush}} with its <tt>Solidity</tt> keyvalue set to a solid state. (A Block LOS <tt>func_brush</tt> can still be traversed in this state.) | ||
|- id="blocklight" | |- id="blocklight" | ||
| [[Image:Toolsblocklight.gif]] | | [[Image:Toolsblocklight.gif]] | ||
Line 167: | Line 167: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| Used on [[trigger]]s and on {{ent | | Used on [[trigger]]s and on {{ent|func_viscluster}} entities. | ||
|} | |} | ||
Line 207: | Line 207: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes|Yes <br /> (Marks)}} | |{{Yes|Yes <br /> (Marks)}} | ||
| {{l4dseries}} Identical to <tt>Tools/ToolsBlack</tt>, but no fog will appear in front of it. Uses the {{ent | | {{l4dseries}} Identical to <tt>Tools/ToolsBlack</tt>, but no fog will appear in front of it. Uses the {{ent|UnlitGeneric}} shader.<br> | ||
Inherits various City17 [[%25keywords]] from <tt>Tools/ToolsBlack</tt>. | Inherits various City17 [[%25keywords]] from <tt>Tools/ToolsBlack</tt>. | ||
|- id="black_noportal" | |- id="black_noportal" | ||
Line 439: | Line 439: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| {{bms}} Identical to Trigger, but used for {{ent | | {{bms}} Identical to Trigger, but used for {{ent|func_viscluster}}. | ||
|- id="title" | |- id="title" | ||
|{{tabletitle|Image}} | |{{tabletitle|Image}} | ||
Line 463: | Line 463: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| {{bms}} Identical to Trigger, but used for {{ent | | {{bms}} Identical to Trigger, but used for {{ent|newxog_volume}}. | ||
|- id="csmvolume" | |- id="csmvolume" | ||
| [[Image:Tools_csm_volume.png]] | | [[Image:Tools_csm_volume.png]] | ||
Line 475: | Line 475: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| {{bms}} Identical to Trigger, but used for {{ent | | {{bms}} Identical to Trigger, but used for {{ent|trigger_csm_volume}}. | ||
|- id="colorcorrection" | |- id="colorcorrection" | ||
| [[Image:Tools_color_correction.png|64px]] | | [[Image:Tools_color_correction.png|64px]] | ||
Line 487: | Line 487: | ||
|{{Yes}} | |{{Yes}} | ||
|{{No}} | |{{No}} | ||
| {{bms}} A tool texture used for {{ent | | {{bms}} A tool texture used for {{ent|color_correction_volume}}. | ||
|- id="soundscapetrigger" | |- id="soundscapetrigger" | ||
| [[Image:Toolstrigger soundscape.png|64px]] | | [[Image:Toolstrigger soundscape.png|64px]] | ||
Line 499: | Line 499: | ||
|{{Yes}} | |{{Yes}} | ||
|{{No}} | |{{No}} | ||
| {{bms}} A tool texture used for {{ent | | {{bms}} A tool texture used for {{ent|trigger_soundscape}}. | ||
|} | |} | ||
Line 526: | Line 526: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| Use with [[areaportal]]s (<code>{{ent | | Use with [[areaportal]]s (<code>{{ent|func_areaportal}}s</code> and <code>{{ent|func_areaportalwindow}}s</code>). Can be used with other brush entities, such as some triggers. | ||
|- id="hint" | |- id="hint" | ||
| [[Image:Toolshint.gif]] | | [[Image:Toolshint.gif]] | ||
Line 563: | Line 563: | ||
|{{No}} | |{{No}} | ||
|{{No}} | |{{No}} | ||
| Used only for the occluding sides of {{ent | | Used only for the occluding sides of {{ent|func_occluder}} entities. | ||
|} | |} | ||
Line 638: | Line 638: | ||
|{{hl2ep2|removed}}{{Gmod|also}} | |{{hl2ep2|removed}}{{Gmod|also}} | ||
This texture has to be tied to an entity to gain any special abilities, but '''what''' entity is not yet confirmed. | This texture has to be tied to an entity to gain any special abilities, but '''what''' entity is not yet confirmed. | ||
Seems that it is necessary for {{ent | Seems that it is necessary for {{ent|func_vehicleclip}}. (See Player Clip above for the tool texture that restricts player movement.) | ||
|} | |} | ||
===Clips—Game-Specific=== | ===Clips—Game-Specific=== | ||
Line 731: | Line 731: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes | Yes <br /> (Marks)}} | |{{Yes | Yes <br /> (Marks)}} | ||
| {{confirm|Does not seem to work?}} (You can use this for {{ent | | {{confirm|Does not seem to work?}} (You can use this for {{ent|func_smokevolume}} instead of the Trigger texture, but NOT for {{ent|func_dustcloud}}.) | ||
|- id="skybox" | |- id="skybox" | ||
| [[Image:Toolsskybox.gif|64px]] | | [[Image:Toolsskybox.gif|64px]] | ||
Line 743: | Line 743: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes | Yes <br /> (No Marks)}} | |{{Yes | Yes <br /> (No Marks)}} | ||
| This texture is used to make 3D [[skybox]]es. Casts light if there is a {{ent | | This texture is used to make 3D [[skybox]]es. Casts light if there is a {{ent|light_environment}} entity in the map.<br> Cannot be used in the same [[PVS]] as the <tt>toolsskybox2d</tt> tool texture{{why}}.<br>Things such as another area of a map will render on top of the skybox. An areaportal can stop this from happening, but it's ''generally'' better practice to add more scenery to cover the stuff that shouldn't be seen, reposition those things out of view, or just don't have an opening in that area. | ||
|- id="skybox" | |- id="skybox" | ||
| [[Image:Toolsskybox2d.gif|64px]] | | [[Image:Toolsskybox2d.gif|64px]] | ||
Line 781: | Line 781: | ||
|{{No}} | |{{No}} | ||
| {{l4d|since}} | | {{l4d|since}} | ||
Used in conjunction with multiple {{ent | Used in conjunction with multiple {{ent|env_fog_controller}}s to change fog colours and densities in a level.<br> Fog inside its volume will not appear to have different atributes when viewed from outside its volume, as it globally changes the appearance of all fog across the map when entered. | ||
|} | |} | ||
Line 853: | Line 853: | ||
|{{No}} | |{{No}} | ||
| {{l4dseries}} A ladder only for Infected. '''Not''' visible to Infected Players during Versus, but can be climbed on. Use '''Climb Versus''' Instead. <br> | | {{l4dseries}} A ladder only for Infected. '''Not''' visible to Infected Players during Versus, but can be climbed on. Use '''Climb Versus''' Instead. <br> | ||
Could be used in areas blocked by {{ent | Could be used in areas blocked by {{ent|func_playerinfected_clip}} where Player Infected cannot go to and should be unable to see a climbing spot, but the AI should be able to use it for hordes. | ||
|- id="climbalpha" | |- id="climbalpha" | ||
| <div style="text-align: center;">[[Image:Climb alpha.png|64px]]</div> | | <div style="text-align: center;">[[Image:Climb alpha.png|64px]]</div> | ||
Line 865: | Line 865: | ||
|{{Yes}} | |{{Yes}} | ||
|{{No}} | |{{No}} | ||
| {{l4dseries}} Seemingly identical to '''Climb Versus'''. The only difference is that <tt>tools\climb_alpha.[[vmt]]</tt> uses {{ent | | {{l4dseries}} Seemingly identical to '''Climb Versus'''. The only difference is that <tt>tools\climb_alpha.[[vmt]]</tt> uses {{ent|$alphatest}}, while <tt>tools/climb_versus.vmt</tt> uses {{ent|$additive}}.<br> | ||
This tool texture has so far never been used in an official campaigns. | This tool texture has so far never been used in an official campaigns. | ||
|- id="climb_versus" | |- id="climb_versus" | ||
Line 878: | Line 878: | ||
|{{Yes}} | |{{Yes}} | ||
|{{No}} | |{{No}} | ||
| {{l4dseries}} A ladder only for infected. Must be used with {{ent | | {{l4dseries}} A ladder only for infected. Must be used with {{ent|func_ladder}}; otherwise, it will be ignored by the navigation mesh editor.<br> | ||
|- id="dotted" | |- id="dotted" | ||
| <div style="text-align: center;">[[Image:Toolsdotted.png]]</div> | | <div style="text-align: center;">[[Image:Toolsdotted.png]]</div> | ||
Line 902: | Line 902: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes | Yes <br /> (Marks)}} | |{{Yes | Yes <br /> (Marks)}} | ||
| {{Sin}} Solid to grenades. Tied to the {{ent | | {{Sin}} Solid to grenades. Tied to the {{ent|trigger_dynamic_difficulty}} entity for the game's difficulty system. | ||
|- id="func_fishes" | |- id="func_fishes" | ||
| [[Image: tools_func_fishes.jpg]] | | [[Image: tools_func_fishes.jpg]] | ||
Line 914: | Line 914: | ||
|{{Yes}} | |{{Yes}} | ||
|{{N/A}} | |{{N/A}} | ||
| {{dmmm}} Used with the {{ent | | {{dmmm}} Used with the {{ent|func_fishes}} entity to spawn fish inside of its volume. | ||
|- id="func_leaves" | |- id="func_leaves" | ||
| [[Image: tools_func_leaves.jpg]] | | [[Image: tools_func_leaves.jpg]] | ||
Line 926: | Line 926: | ||
|{{Yes}} | |{{Yes}} | ||
|{{N/A}} | |{{N/A}} | ||
| {{dmmm}} Used with the {{ent | | {{dmmm}} Used with the {{ent|func_leaves}} entity to spawn leaves particles inside its volume. | ||
|- id="tools_gray" | |- id="tools_gray" | ||
| [[Image: toolsgray.jpg]] | | [[Image: toolsgray.jpg]] | ||
Line 975: | Line 975: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes | Yes <br /> (No Marks)}} | |{{Yes | Yes <br /> (No Marks)}} | ||
| {{ship}} Utility texture tied to the {{ent | | {{ship}} Utility texture tied to the {{ent|ship_base_interaction}} brush entity to specify the only surfaces available for the player to interact with the entity. | ||
|- id="invisibledisplacement" | |- id="invisibledisplacement" | ||
| [[Image:Toolsinvisibledisplacement.gif]] | | [[Image:Toolsinvisibledisplacement.gif]] | ||
Line 989: | Line 989: | ||
| Light is not blocked by this texture, except in {{csgo}}.<br> | | Light is not blocked by this texture, except in {{csgo}}.<br> | ||
Despite being in the <tt>Materials/Tools</tt> folder, this is not a tool texture. It has no abilities. It is simply an invisible texture used for [[Clip_texture|displacement clipping]], where you make an invisible displacement instead of a clip brush because making intricate clip brushes is difficult.<br> | Despite being in the <tt>Materials/Tools</tt> folder, this is not a tool texture. It has no abilities. It is simply an invisible texture used for [[Clip_texture|displacement clipping]], where you make an invisible displacement instead of a clip brush because making intricate clip brushes is difficult.<br> | ||
{{tf2}} Uses {{ent | {{tf2}} Uses {{ent|$decal|1}} and {{ent|$surfaceprop|"dirt"}}.<br> | ||
|- id="Clear" | |- id="Clear" | ||
| [[Image:Toolswhite.gif]] | | [[Image:Toolswhite.gif]] | ||
Line 1,001: | Line 1,001: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Both|Depends on use}} | |{{Both|Depends on use}} | ||
| {{l4dseries}} Basic {{ent | | {{l4dseries}} Basic {{ent|LightmappedGeneric}} that has no abilities other than being invisible.<br> | ||
Officially used like <tt>tools/invisibledisplacement</tt> for [[Clip_texture|displacement clipping]].<br> | Officially used like <tt>tools/invisibledisplacement</tt> for [[Clip_texture|displacement clipping]].<br> | ||
Has no VMT properties other than {{ent | Has no VMT properties other than {{ent|$alphatest|1}}. | ||
|- id="Invismetal" | |- id="Invismetal" | ||
| [[Image:Toolinvismetal.png]] | | [[Image:Toolinvismetal.png]] | ||
Line 1,018: | Line 1,018: | ||
Creates metal sparks when shot, but bullets pass through.<br> | Creates metal sparks when shot, but bullets pass through.<br> | ||
Does not seal maps.<br> | Does not seal maps.<br> | ||
{{tip|You may want to edit the VMT to add <code>%CompileDetail 1</code> to prevent it from cutting visleaves, which makes it much more useful. Alternatively, tie it to a {{ent | {{tip|You may want to edit the VMT to add <code>%CompileDetail 1</code> to prevent it from cutting visleaves, which makes it much more useful. Alternatively, tie it to a {{ent|func_detail}} or other entity.}} | ||
|- id="Locked" | |- id="Locked" | ||
| '''No Image''' | | '''No Image''' | ||
Line 1,043: | Line 1,043: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes|Yes <br /> (No Marks)}} | |{{Yes|Yes <br /> (No Marks)}} | ||
| {{ship}} Utility texture tied to the {{ent | | {{ship}} Utility texture tied to the {{ent|ship_base_interaction}} brush entity as a measure to help identify surfaces from which the player are unable to interact with said entity. | ||
|- id="shiproom" | |- id="shiproom" | ||
| [[Image:toolsshiproom.jpg]] | | [[Image:toolsshiproom.jpg]] | ||
Line 1,055: | Line 1,055: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes | Yes <br /> (No Marks)}} | |{{Yes | Yes <br /> (No Marks)}} | ||
| {{ship}} Utility texture tied to the {{ent | | {{ship}} Utility texture tied to the {{ent|ship_trigger_room}} brush entity to create several different rooms and special areas on the ship. | ||
|- id="tools_vitrail_light" | |- id="tools_vitrail_light" | ||
| [[Image: tools_vitrail_light.jpg]] | | [[Image: tools_vitrail_light.jpg]] | ||
Line 1,079: | Line 1,079: | ||
|{{yes}} | |{{yes}} | ||
|{{yes}} | |{{yes}} | ||
| {{l4dseries}} Basic {{ent | | {{l4dseries}} Basic {{ent|UnlitGeneric}} texture that has no abilities.<br> | ||
Used with {{ent | Used with {{ent|func_brush}} to make it non-solid and fade away when approached.<br> | ||
It being <tt>UnlitGeneric</tt> makes it seems as if it were glowing in a warm color, but is not listed in {{ent | It being <tt>UnlitGeneric</tt> makes it seems as if it were glowing in a warm color, but is not listed in {{ent|lights.rad}}, so it won't actually emit any light for [[VRAD]] to compile.<br> | ||
Only used in C8M2_Subway behind the three windows to the right of the entrance of the end map saferoom building, to simulate glowing light in a room.<br> | Only used in C8M2_Subway behind the three windows to the right of the entrance of the end map saferoom building, to simulate glowing light in a room.<br> | ||
|- id="waterbounds" | |- id="waterbounds" | ||
Line 1,122: | Line 1,122: | ||
{{l4d2}} No campaign uses this tool texture anymore. See [[L4D_Level_Design/Versus_Maps#Blocking_the_Infected_Team|L4D Level Design: Blocking the Infected Team]] for more info.<br> | {{l4d2}} No campaign uses this tool texture anymore. See [[L4D_Level_Design/Versus_Maps#Blocking_the_Infected_Team|L4D Level Design: Blocking the Infected Team]] for more info.<br> | ||
{{csgo}} Used especially for the {{csgo mode|Wingman}} [[CS:GO Game Modes|game mode]]. It has the same properties as ''WrongWay Timer''.<br> | {{csgo}} Used especially for the {{csgo mode|Wingman}} [[CS:GO Game Modes|game mode]]. It has the same properties as ''WrongWay Timer''.<br> | ||
{{Tip|All Yes/No flags can be changed if applied to a {{ent | {{Tip|All Yes/No flags can be changed if applied to a {{ent|func_brush}}.}} | ||
|- id="wrongway_timer" | |- id="wrongway_timer" | ||
| [[Image:Wrongway timer.png|64px]] | | [[Image:Wrongway timer.png|64px]] | ||
Line 1,134: | Line 1,134: | ||
|{{Yes}} | |{{Yes}} | ||
|{{Yes}} | |{{Yes}} | ||
| {{csgo}} Used for brushes that are temporarily blocking Terrorists during the freezetime of the {{csgo mode|Retakes}} [[CS:GO Game Modes|game mode]]. It is only visible to [[player]]s that are close to the origin of the entity that this material is applied to (e.g., {{ent | | {{csgo}} Used for brushes that are temporarily blocking Terrorists during the freezetime of the {{csgo mode|Retakes}} [[CS:GO Game Modes|game mode]]. It is only visible to [[player]]s that are close to the origin of the entity that this material is applied to (e.g., {{ent|func_brush}}), achieved with the <code>PlayerProximity</code> [[material proxies|material proxy]]. | ||
{{Warning|Does not work as intended on [[world brush]]es and {{ent | {{Warning|Does not work as intended on [[world brush]]es and {{ent|func_detail}}s as they have no origin: In-game, the {{ent|$alpha}} is either equal to the <tt>$alpha</tt> of the closest functioning application of this material on screen or - if there is none - the <tt>$alpha</tt> remains "stuck" at some value, no matter the proximity.}} | ||
|} | |} | ||
Revision as of 04:26, 24 January 2023
Other page tools |
What redirects here |
Tool textures are used, mostly by the tools but sometimes by the engine, to perform special tasks. They can easily be found in Hammer by using "tools\" as a filter in the texture browser.
Anyone can make their very own tool texture, by utilizing available Material Map Compile Flags, such as %compilenonsolid 1, %compileDetail 1 and %compilenodraw 1 for a tool texture which is not solid, does not cut visleafs and is invisible.
A %tooltexture
may also be set, which is only to be seen in Hammer, while the $basetexture is seen in-game; however, the self made tool textures must be shipped with the map, else they might not work.






For example,


Clip
for both teams, Player Clip
for survivors and NPC Clip
for infected; however, it also has func_playerinfected_clip just for player controlled infected.If you cannot find a tool texture fit for a task, perhaps the game you're mapping for has a brush entity for that.

For tool textures used in GoldSrc titles, see Tool textures (GoldSrc).
For tool textures used by Source 2 titles, see Tool textures (Source 2).
General
General—Common
These tool textures are available in every Source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description. Such as ,
,
,
, ect.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() This texture is often used for brushes that are far away and they are dark. It cannot be lit by any type of light, but is affected by fog color. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
(in all games since ![]() Identical to Tools/ToolsBlack, only in white. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
Foremost solid to bullets, but also to NPCs and physics projectiles. It does not block all projectiles, though. Projectiles from NPCs, such as the acid spit from antlion workers, will still get through. To allow NPCs and their line of sight to pass through, turn the brush into a func_brush with its Solidity keyvalue set to a solid state. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | Solid to prop_physics, projectiles, players, & NPCs. Not solid to bullets.
| |
![]() |
Ladder |
No | No | Yes | No | Yes | Yes | Yes | No | Used with func_ladder in the most multiplayer games except ![]() |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Not drawn in game, seals leaks, and is skipped by VRAD. Blocks visibility if used on all surfaces of the same brush. Optimally, every face that can't be seen during normal gameplay should have this texture.![]() ![]() ![]() ![]() ![]() | |
![]() |
N/A | No | No | No | No | No | No | No | Leftover from ![]() | |
![]() |
No | No | No | Yes | No | No | No | No | Blocks the line of sight of NPCs and bots. mat_wireframe 1/2 will reveal that, while this texture doesn't block visleaves, it draws crossing polygons, and they alone are capable of preventing the engine from rendering enveloped brushwork. This can be worked around by turning the Block LOS–textured brush into a func_brush with its Solidity keyvalue set to a solid state. (A Block LOS func_brush can still be traversed in this state.) | |
![]() |
No | Yes | No | No | No | No | No | No | Casts shadows artificially. Only used at compile time by VRAD. Does not seal leaks. See more uses here. | |
![]() |
Yes | No | No | No | No | No | No | No | Used on triggers and on func_viscluster entities. |
General—Game-specific
These tool textures are only available in specific Source engine games.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() "black" shader.![]() Todo: Find more about
"black" shader | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() ![]() Inherits various City17 %keywords from Tools/ToolsBlack. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
![]() |
Non-Solid |
No | Yes | Yes | Yes | No | No | No | No | ![]() Useful as a utility texture, like buttons you should be able to clip into. |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Invisible |
No | No | No | No | Yes | Yes | Yes | N/A | ![]() |
![]() |
Noshadow |
No | No | Yes | Yes | Yes | Yes | Yes | N/A | ![]() |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
Yes | No | No | No | No | No | No | No | ![]() | |
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
![]() |
Yes | No | No | No | No | No | No | No | ![]() | |
![]() |
Yes | No | No | No | No | No | No | No | ![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | No | ![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | No | ![]() |
Optimization
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | No | Yes | No | No | No | No | No | Use with areaportals (func_areaportals and func_areaportalwindows ). Can be used with other brush entities, such as some triggers.
| |
![]() |
No | No | Yes | No | No | No | No | No | Instructs VVIS to cut visleaves along this texture, but does nothing else. | |
![]() |
No | No | No | No | No | No | No | No | Has no effect on anything. Skip faces are removed during compile, so a brush textured with Skip won't prevent leaks.
Useful in combination with Hint tool textures (to prevent the other sides from cutting vis) and as a tool in Hammer for grouping, moving and place-holding objects. | |
![]() |
Yes | No | No | No | No | No | No | No | Used only for the occluding sides of func_occluder entities. |
Clips
Clips—Common
These tool textures are available in every source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
, etc.).
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | No | No | Yes | Yes | No | No | Solid to players and NPCs but not other objects.
| |
![]() |
No | No | No | No | Yes | No | No | No | Solid to NPCs only.![]() ![]() ![]() ![]() | |
![]() |
No | No | No | No | No | Yes | No | No | Solid to players only.
| |
![]() |
Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes (Marks) |
(removed since ![]() ![]() This texture has to be tied to an entity to gain any special abilities, but what entity is not yet confirmed. Seems that it is necessary for func_vehicleclip. (See Player Clip above for the tool texture that restricts player movement.) |
Clips—Game-Specific
These tool textures are only available in specific Source engine games.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | No | No | No | No | Solid to Grenades | No | ![]() | |
![]() |
No | No | No | No | No | Yes | No | No | ![]() | |
![]() |
No | No | No | N/A | N/A | No | No | No | ![]() | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | ![]() |
Sky and Fog
Sky and Fog—Common
These tool textures are available in every Source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
, ect.).
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | No | Yes | No | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
This texture is used to make 3D skyboxes. Casts light if there is a light_environment entity in the map. Cannot be used in the same PVS as the toolsskybox2d tool texture[Why?]. Things such as another area of a map will render on top of the skybox. An areaportal can stop this from happening, but it's generally better practice to add more scenery to cover the stuff that shouldn't be seen, reposition those things out of view, or just don't have an opening in that area. | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
(in all games since ![]() Casts light if there is a light_environment entity in the map. ![]() Cannot be used in the same PVS as the toolsskybox tool texture. | |
![]() |
No | Yes | Yes | N/A | N/A | Yes | N/A | Yes (Marks) |
The SkyFog texture does not contain any properties. There is currently no existing corresponding Shader called "skyfog". (Generates error Error: Material "tools/toolsskyfog" uses unknown shader "SkyFog" .) ![]() | |
![]() |
Yes | No | No | No | No | No | No | No | (in all games since ![]() Used in conjunction with multiple env_fog_controllers to change fog colours and densities in a level. |
Sky and Fog—Game-Specific
These tool textures are only available in specific Source engine games.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
NoLight |
No | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() ![]() |
Miscellaneous
These are textures that have a special use, sometimes only seen in one single game.
Some of these textures are not even "real" tool textures, as they do not possess any Compile Flags, but they have some important use that no other texture available can do.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes | ![]() | |
No | No | No | No | Yes | Yes | Yes | No | ![]() ![]() Could be used in areas blocked by func_playerinfected_clip where Player Infected cannot go to and should be unable to see a climbing spot, but the AI should be able to use it for hordes. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() ![]() This tool texture has so far never been used in an official campaigns. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() ![]() | ||
Yes | No | Yes | No | Yes | Yes | Yes | Yes (Marks) |
A face textured with this texture is rendered on top of all other brush geometry. Furthermore, a brush with Dotted on any face will not block visibility or cull any face that it touches, meaning that any area enclosed in a Dotted-textured brush will not be removed from the map in any way. | ||
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | No | No | No | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | No | No | No | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | No | Yes | No | Yes | Yes | Yes | Yes | ![]() | |
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
![]() |
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | Depends on game | Light is not blocked by this texture, except in ![]() Despite being in the Materials/Tools folder, this is not a tool texture. It has no abilities. It is simply an invisible texture used for displacement clipping, where you make an invisible displacement instead of a clip brush because making intricate clip brushes is difficult. | |
![]() |
Fully Translucent | Depends on use | Depends on use | N/A | Yes | Yes | Yes | Depends on use | ![]() ![]() Officially used like tools/invisibledisplacement for displacement clipping. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | ![]() ![]() Creates metal sparks when shot, but bullets pass through. ![]() %CompileDetail 1 to prevent it from cutting visleaves, which makes it much more useful. Alternatively, tie it to a func_detail or other entity. | |
No Image | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | This is a special tool texture, intended to prevent VMEX from decompiling any maps using this custom tool texture. BSPSource ignores this, rendering it useless.
It does not really exist, as every user has to make their own, but it is listed here for completeness sake. | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
Yes | No | No | No | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() ![]() Used with func_brush to make it non-solid and fade away when approached. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
![]() |
Visible to Infected | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() ![]() ![]()
![]() | |
![]() |
Doesn't work correctly | No | Yes | No | Yes | Yes | Yes | Yes | ![]() ![]() PlayerProximity material proxy.
![]() |
VR-Specific Tool Textures
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | N/A | No | No | Yes | No | No | ![]() ![]() ![]() |