Tool textures (Source): Difference between revisions
(Player control clip) |
|||
(362 intermediate revisions by 100 users not shown) | |||
Line 1: | Line 1: | ||
{{LanguageBar}} | |||
{{Source topicon}} | |||
{{TabsBar|main=Tool textures}} | |||
{{Toc-right}} | |||
[[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 [[Hammer Texture Browser|texture browser]], but other tool textures may be located in different directory. | |||
{{ | Anyone can make their very own tool texture, by utilizing available [[Material Map Compile Flags]], such as {{code|[[%compilenonsolid|%compileNonSolid]] 1}}, {{code|[[%compiledetail|%compileDetail]] 1}} and {{code|[[%compilenodraw|%compileNodraw]] 1}} for a tool texture which is not solid, does not cut [[visleafs]] and is invisible. | ||
{| | A {{code|[[%tooltexture]]}} may also be set, which is only to be seen in Hammer's texture browser, while the {{code|[[$basetexture]]}} is seen in-game; however, the self made tool textures must be shipped with the map, else they might not work. | ||
! Image | |||
! | This page contains tool textures which can be found on any Source games (including description for third-party games which changes how the tool texture works or have different behavior). For third-party games specific tool textures, see [[/Third-party_games|third-party page]]. | ||
! | |||
|- | {{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 [[visleaf|VIS leaves]]. 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]].}} | ||
| | |||
{{warning|Some games may have outdated or obsolete tool textures in the "Dev" folder, such as {{code|dev/dev_windowportal}} 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 [[#clip|Clip]] for both teams, [[#playerclip|Player Clip]] for survivors and [[#npcclip|NPC Clip]] 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.}} | |||
{{tip|Some of these tool textures cut [[visleaf|VIS leaves]] Such as <code>toolsinvisible</code>, <code>toolsinvisibleladder</code>, and <code>invismetal</code>. Which are never seen and would be wasteful to create visleaves for them.<br>You may want to add {{cmd|%CompileDetail}} to the offending materials to prevent them from cutting visleaves. The modified VMT's do not need to be shared with the compiled map, as only [[vbsp]] uses these compile flags right when building the maps.<br>But you do need to use [[custom folder]] (if available, preferred), or pack these up in a vpk file and load them into hammer by editing the [[gameinfo]] to load your vpk with modified files above all other folders and search paths. | |||
{{note|For <code>toolsinvisibleladder</code>, it alternatively is possible in some games to use {{cmd|%CompileClip}} (and optionally {{cmd|$translucent}}) instead of {{cmd|%CompileNoDraw}} and {{cmd|%CompilePassBullets}}, but only if tied to [[func_ladder]] (works in {{dods}}, not in {{css}}).}} }} | |||
== General == | |||
=== General — Common === | |||
These tool textures are available in every Source engine game.<br> | |||
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 {{css}}, {{csgo}}, {{l4dseries}}, {{p2}}, etc.). | |||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="black" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsblack}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{ModernConfusion|This is the [[UnlitGeneric]] {{mono|Tools/ToolsBlack}} texture, not the [[LightmappedGeneric]] {{mono|Halflife/Black}} texture.}} | |||
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> | |||
Uses [[UnlitGeneric]] in: {{hl2}} {{portalseries}} {{as}} <br> | |||
Uses [[LightmappedGeneric]] in: {{csseries|src=1}} {{dods}} {{l4dseries}}<br> | |||
In games where it uses LightmappedGeneric, you may want to use <code>vgui/black</code> instead (to avoid wasting lightmap usage) or make your own tool texture. | |||
|- id="white" | |||
| [[File:Toolswhite.gif|64px]] | |||
| <center>{{mono|toolswhite}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{hl2ep2|since}} | |||
{{note|Not in {{tf2|2.bold}}}} | |||
Identical to {{mono|lights/white}} (which is available in all Source games), but [[RAD file|doesn't cast any light]] by default. Using glass [[surfaceprop]]. | |||
|- id="blockbullets" | |||
| [[File:Toolsblockbullets.gif|64px]] | |||
| <center>{{mono|[[Blockbullets|toolsblockbullets]]}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| {{Warning|This tool texture is actually just a solid invisible wall in every way shape and form. It does absolutely nothing useful.<br>See [[Blockbullets]] for info on how to actually block bullets and projectiles.}} | |||
{{csgo}} Use <code>blockbullets_cs</code> variant, which correctly stops bullets even with 1 unit thickness.<br> | |||
|- id="invisible" | |||
| [[File:Toolsinvisible.gif|64px]] | |||
| <center>{{mono|toolsinvisible}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| Solid to {{ent|prop_physics}}, projectiles, players, & NPCs. Not 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 {{mono|toolsinvisible}} wall.<br> | |||
{{ModernConfusion| {{l4dseries}} {{mono|ToolsNodraw_Noshadow}} uses the same tool texture in the texture browser, which also blocks LOS!}} | |||
|- id="ladder" | |||
| [[File:Toolsladder.gif|64px]] | |||
| <center>{{mono|toolsinvisibleladder}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| Used for ladders in most multiplayer games except {{hl2dm}}, either by itself, or tied to {{ent|func_ladder}}. | |||
{{important|Leave at least a unit gap between the ladder and any detail brushes to prevent it from eating brush faces of the drawn ladder. This is not an issue in {{l4dseries}}, which keeps brush ladders as a separate entity.}} | |||
|- id="nodraw" {{Anchor|Nodraw}} | |||
| [[File:Toolsnodraw.gif|64px]] | |||
| <center>{{mono|toolsnodraw}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| Not drawn in game, seals [[leak]]s, 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.<br>{{portal}} Portals can be placed on it, but not in {{p2}}. Use Nodraw Portalable instead if this behavior is desired. | |||
{{note|The "glass footsteps" version of this texture in {{p2}} does not [[seal]] maps.}} | |||
{{todo|Insert this "glass footsteps" version into the list}} | |||
{{note|While no lightmap data is generated on nodraw faces, nodraw brushes still cast shadows.}} | |||
{{note|Despite common misconception, it is not necessary to use nodraw on faces that are outside the map and faces that are flush with other faces '''of the same entity''', as these are automatically removed by [[VBSP]]. Additionally, [[func_detail]] faces which touch structural faces will be removed, but vice versa will not (faces completely obscured by func_detail should still be nodrawn).}} | |||
|- id="origin" | |||
| [[File:Toolsorigin.gif|64px]] | |||
| <center>{{mono|toolsorigin}}</center> | |||
| {{N/A}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Deprecated}} Leftover from {{gldsrc|2}}, where a brush with this texture was used to set the rotation origin of rotating [[entity|entities]]. It is still functional in Source (overriding the entity's origin keyvalue) but no longer necessary. When placed outside of a brush entity, the compiler will fail with the error "{{mono|origin brushes not allowed in world}}". | |||
|- id="blocklos" | |||
| [[File:Toolsblocklos.gif|64px]] | |||
| <center>{{mono|toolsblock_los}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Blocks the [[line of sight]] of [[NPC]]s and [[bot]]s.<br> {{cmd|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 {{mono|Solidity}} keyvalue set to a solid state. (A Block LOS {{mono|func_brush}} can still be traversed in this state.) | |||
|- id="blocklight" | |||
| [[File:Toolsblocklight.gif|64px]] | |||
| <center>{{mono|toolsblocklight}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Casts shadows artificially. Only used at compile time by [[VRAD]]. Does not seal [[leak]]s. See more uses [[Advanced Lighting#Shadow creation|here]]. | |||
|- id="trigger" | |||
| [[File:Toolstrigger.gif|64px]] | |||
| <center>{{mono|[[Triggers|toolstrigger]]}}</center> | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Used on [[trigger]]s and on {{ent|func_viscluster}} entities. Visible if used on an entity without EF_NODRAW. | |||
|} | |||
=== General — Game-specific === | |||
These tool textures are only available in specific Source engine games. | |||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="black_cheap" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsblack_cheap}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{p2}} Identical to {{mono|ToolsBlack}}, the only difference is that uses a special {{code|preset=2|[[Black]]}} shader.<br/> {{gmod}} has a replacement that works with older engines. | |||
|- id="black_nofog" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsblack_nofog}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{l4dseries}} Identical to {{mono|ToolsBlack}}, but no fog will appear in front of it. Uses the [[UnlitGeneric]] shader.<br> | |||
Inherits various City17 [[%25keywords]] from {{mono|ToolsBlack}}. | |||
|- id="black_noportal" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsblack_noportal}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{p2}} Identical to {{mono|ToolsBlack}}. Seems to have been intended as a non-portalable version, but this is already the case with the normal texture in the final game. | |||
|- id="black_noportal_nofog" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsblack_noportal_nofog}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{p2}} Identical to {{mono|ToolsBlack}}, but does not render fog. | |||
|- id="black_noportal_skybox" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsblack_noportal_skybox}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{p2}} Functions like {{mono|ToolsBlack_Cheap}} but uses a {{code|[[$basetexture]]}} and contains keywords from {{hl2|2|nt=0}}. Because the {{code|[[$basetexture]]}} parameter doesn't have any effect on the {{code|preset=2|[[Black]]}} shader, this hints that the material could have previously used the {{code|[[UnlitGeneric]]}} shader. | |||
|- id="nolight" | |||
| [[File:Toolsblack.gif|64px]] | |||
| <center>{{mono|toolsnolight}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{as}} Identical to {{mono|ToolsBlack}}, but for some reason is used instead. | |||
|- id="blockbullets" | |||
| [[File:Toolsblockbullets.gif|64px]] | |||
| <center>{{mono|toolsblockbullets2}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| {{tf2}} Identical to {{mono|ToolsBlockBullets}}, but doesn't cut [[visleaf|visleaves]]. | |||
|- id="nodrawroof" | |||
|[[File:Toolsnodraw.gif|64px]] | |||
| <center>{{mono|toolsnodraw_roof}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| {{css}} Identical to {{mono|ToolsNodraw}}, but with a different texture name. | |||
|- id="nodrawwood" | |||
|[[File:Toolsnodraw.gif|64px]] | |||
| <center>{{mono|toolsnodraw_wood}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| {{css}} Identical to {{mono|ToolsNodraw}}, but will make wood impact sounds when hit. | |||
|- id="nodrawnoshadow" | |||
|[[File:Toolsnodraw_metal.png|64px]] | |||
| <center>{{mono|toolsnodraw_metal}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| {{l4d2}} Identical to {{mono|ToolsNodraw}} but with metal [[$surfaceprop|surfaceprop]]. Does not show metal marks. You may want to use {{mono|Invismetal}} instead. | |||
|- id="nodrawportalable" | |||
|[[File:Nodraw_portalable.png|64px]] | |||
| <center>{{mono|toolsnodraw_portal}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (No Marks)}} | |||
| {{p2}} Identical to {{mono|ToolsNodraw}}, but portals can be placed on this texture. | |||
|- | |- | ||
|} | |} | ||
[[ | == Optimization == | ||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="areaportal" | |||
| [[File:Toolsareaportal.gif|64px]] | |||
| <center>{{mono|[[Areaportal|toolsareaportal]]}}</center> | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| 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" | |||
| [[File:Toolshint.gif|64px]] | |||
| <center>{{mono|[[Hint brush|toolshint]]}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Instructs [[VBSP]] to cut [[visleaves]] along this texture, but does nothing else. | |||
|- id="skip" | |||
| [[File:Toolsskip.gif|64px]] | |||
| <center>{{mono|[[Skip|toolsskip]]}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Has no effect on anything (except [[weapon c4|bomb]] in {{css}}). 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. | |||
{{bug|hidetested=1|In {{css}}, skip brushes act as [[clip]] brushes for the [[weapon c4|bomb]]. | |||
{{tip|This can be exploited by a mapper to prevent the bomb from falling into a pit if planted too close to the edge.}} }} | |||
|- id="occluder" | |||
| [[File:Toolsoccluder.gif|64px]] | |||
| <center>{{mono|[[Occluder|toolsoccluder]]}}</center> | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Used only for the occluding sides of {{ent|func_occluder}} entities. | |||
Unlike toolstrigger, toolsoccluder will correctly work when VBSP is compiled with {{code|-nodrawtriggers}}. | |||
|} | |||
== Clips == | |||
=== Clips — Common === | |||
These tool textures are available in every source engine game.<br> | |||
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 {{css}}, {{csgo}}, {{l4dseries}}, {{p2}}, etc.). | |||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="clip" | |||
| [[File:Toolsclip.gif|64px]] | |||
| <center>{{mono|toolsclip}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| Solid to players and [[NPC]]s but not other objects.<br> | |||
{{src13}} Also solid to item pickups like ammo packs but not dropped weapons.<br> | |||
{{css}}{{csgo}} Solid to dropped [[weapon_c4|C4]]. Solid to [[hostage_entity|hostages]] in {{css}}.<br> | |||
{{csgo}}{{Gmod}} Feature clip brush textures with different material types: Concrete, Dirt, Glass, Grass, Gravel, Metal, Metal Sand Barrel, Metal Grate, Metal Vehicle, Plastic, Rubber, Rubber Tire, Sand, Tile, Wood, Wood Basket, Wood Crate.<br> | |||
{{tip|If you need a clip of a specific material like Clip_Glass in a game that does not have these various clip materials, you can make a brush using any regular material with the property you want and then turn it into a [[func_brush]] that is always solid but not rendered.}} | |||
:See more about [[Clip texture| clip texture here]]. | |||
|- id="npcclip" | |||
| [[File:Toolsnpcclip.gif|64px]] | |||
| <center>{{mono|toolsnpcclip}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| Solid to [[NPC]]s only.<br>{{css}}{{csgo}} Solid to [[bot]]s. Not solid to [[hostage_entity|hostages]].<br>{{l4dseries}} Solid to infected only, but does not stop Smokers, Boomers and Spitters from attacking through it. | |||
|- id="playerclip" | |||
| [[File:Toolsplayerclip.gif|64px]] | |||
| <center>{{mono|toolsplayerclip}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| Solid to [[player]]s only.<br> | |||
{{src13}} Also solid to item pickups like ammo packs but not dropped weapons.<br> | |||
{{css}}{{csgo}} Solid to [[player]]s, [[bot]]s (!), and dropped [[weapon_c4|C4]]. Solid to [[hostage_entity|hostages]] in {{css}}.<br> | |||
{{l4dseries}} Solid to the survivors only.<br> | |||
|- id="playercont" | |||
| [[File:Toolsplayercont.gif|64px]] | |||
| <center>{{mono|toolscontrolclip}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{N/A}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes <br /> (Marks)}} | |||
| {{src07|removed}} {{also|{{tf2}}}} | |||
{{ModernDeprecated|This texture has to be tied to an entity to gain any special abilities, but '''what''' entity is not yet confirmed. | |||
This texture, along with trigger, works on {{ent|func_vehicleclip}}. It was removed in {{hl2|1}} base since {{src07|1}}, but exist in {{tf2|1}} and {{src2|1}}.<br> (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. | |||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="grenadeclip" | |||
| [[File:Toolsgrenadeclip.png|64px]] | |||
| <center>{{mono|toolsgrenadeclip}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{both|Solid to Grenades}} | |||
| {{No}} | |||
| {{csgo}} Solid to grenades only. | |||
|- id="droneclip" | |||
| [[File:toolsdroneclip.jpg|64px]] | |||
| <center>{{mono|toolsdroneclip}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{N/A}} | |||
| {{N/A}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{csgo}} Used to prevent [[drone]]s getting stuck on complex geometry. | |||
|} | |||
== Sky and Fog == | |||
=== Sky and Fog — Common === | |||
These tool textures are available in every Source engine game.<br> | |||
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 {{css}}, {{csgo}}, {{l4dseries}}, {{p2}}, etc.). | |||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="fog" | |||
| [[File:Toolsfog.gif|64px]] | |||
| <center>{{mono|toolsfog}}</center> | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes | Yes <br /> (Marks)}} | |||
| No effect; uses nonexistent [[material map compile flags|compile flag]] [[%CompileFog]]. | |||
(You can use this for {{ent|func_smokevolume}} instead of the Trigger texture, but NOT for {{ent|func_dustcloud}}.) | |||
|- id="skybox" | |||
| [[File:Toolsskybox.png|64px]] | |||
| <center>{{mono|[[Skybox Basics|toolsskybox]]}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes | Yes <br /> (No Marks)}} | |||
| This texture is used to make 3D [[skybox]]es. Casts light if there is a {{ent|light_environment}} entity in the map.<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="skybox2d" | |||
| [[File:Toolsskybox2d.gif|64px]] | |||
| <center>{{mono|[[Skybox (2D)|toolsskybox2d]]}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes | Yes <br /> (No Marks)}} | |||
| {{Src07|since}} | |||
Used to make 2D [[skybox]]es without displaying the [[3D Skybox]].<br>Casts light if there is a {{mono|light_environment}} entity in the map. {{bug|hidetested=1|Light cast from this texture can still be blocked by 3D skybox geometry.}}<br>No effect if used in the same [[PVS]] as the {{mono|toolsskybox}} tool texture. | |||
|- id="skyfog" | |||
| [[File:Toolsskyfog.gif|64px]] | |||
| <center>{{mono|toolsskyfog}}</center> | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{N/A}} | |||
| {{N/A}} | |||
| {{Yes}} | |||
| {{N/A}} | |||
| {{Yes | Yes <br /> (Marks)}} | |||
| The SkyFog texture does not contain any properties. There is currently no existing corresponding Shader called "skyfog". (Generates error <code>Error: Material "toolsskyfog" uses unknown shader "SkyFog"</code>.) | |||
{{ModernConfirm|Can it be fixed to function properly if its [[VMT]] settings are changed in the Source code and recompiled?}} | |||
|- id="fog volume" | |||
| [[File:Fogvolume.jpg|64px]] | |||
| <center>{{mono|[[fog_volume|toolsfogvolume]]}}</center> | |||
| {{Yes}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{l4d|since}} | |||
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. | |||
|} | |||
=== Sky and Fog — Game-Specific === | |||
These tool textures are only available in specific Source engine games. | |||
There are no game specific tool textures in this section. | |||
== 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 [[Material_Map_Compile_Flags|Compile Flags]], but they have some important use that no other texture available can do. | |||
{| class="standard-table" | |||
|- style="z-index:1; position:sticky; top:0;border:2px solid #525252;" | |||
! width="64px" style="background-color: #323232;color:white" | Image | |||
! width="110px" style="background-color: #323232;color:white" | Filename | |||
! width="75px" style="background-color: #323232;color:white" | Visible if <br /> [[world brush]] | |||
! width="75px" style="background-color: #323232;color:white" | Casts shadows | |||
! width="75px" style="background-color: #323232;color:white" | Cuts <br /> [[visleaf|VIS leaves]] | |||
! width="75px" style="background-color: #323232;color:white" | Blocks NPC [[LOS]] | |||
! width="75px" style="background-color: #323232;color:white" | Solid to NPCs | |||
! width="75px" style="background-color: #323232;color:white" | Solid to player(s) | |||
! width="75px" style="background-color: #323232;color:white" | Solid to physics | |||
! width="75px" style="background-color: #323232;color:white" | Solid to bullets | |||
! style="background-color: #323232;color:white" | Usage / Notes | |||
|- id="blockbomb" | |||
| [[File: blockbomb.jpg|64px]] | |||
| <center>{{mono|toolsblockbomb}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{csgo}} Acts like {{mono|ToolsInvisible}}. Possibly unimplemented. | |||
|- id="climb" | |||
| <div style="text-align: center;">[[File:L4d2-Climb_versus.png|64px]]</div> | |||
| <center>{{mono|climb}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{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|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" | |||
| <div style="text-align: center;">[[File:Climb alpha.png|64px]]</div> | |||
| <center>{{mono|climb_alpha}}</center> | |||
| {{Both|Visible to Infected}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{l4dseries}} Same as '''Climb Versus''', with the only difference being that {{mono|climb_alpha}} uses [[$alphatest]], while {{mono|climb_versus}} uses [[$additive]].<br> | |||
This texture may be usable in spots where the texture is applied over a translucent material, in order to fix [[$translucent#Flickering_and_Reversed_Depth|sorting issues]], but it has so far never been used in any official campaign. | |||
|- id="climb_versus" | |||
| <div style="text-align: center;">[[File:L4d2-Climb_versus.png|64px]]</div> | |||
| <center>{{mono|climb_versus}}</center> | |||
| {{Both|Visible to Infected}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{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="hulkwall" | |||
| <div style="text-align: center;">[[File:Hulkwall.png|64px]]</div> | |||
| <center>{{mono|hulkwall}}</center> | |||
| {{Both|Visible to Infected}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{l4dseries}} This is an obsolete visual cue texture of a wall that can be broken by special infected players.<br>The texture itself has no special abilities other than being invisible to survivors.<br>This texture is since superceeded by <code>../effects/tankwall</code>. But this one was not removed from the game.<br>See [[L4D_Level_Design/Versus_Maps#Making_the_visible_cue_for_breakable_walls|This page]] for further information. | |||
|- id="hulkwallglow" | |||
| <div style="text-align: center;">[[File:Hulkwallglow.png|64px]]</div> | |||
| <center>{{mono|hulkwallglow}}</center> | |||
| {{Both|Visible to Infected}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{l4dseries}} This is an obsolete visual cue texture of a wall that can be broken by special infected players.<br>The texture itself has no special abilities other than being invisible to survivors.<br>This texture is since superceeded by <code>../effects/tankwall</code>. But this one was not removed from the game.<br>See [[L4D_Level_Design/Versus_Maps#Making_the_visible_cue_for_breakable_walls|This page]] for further information. | |||
|- id="tankwall" | |||
| <div style="text-align: center;">[[File:L4d-effects-tankwall.png|64px]]</div> | |||
| <center>{{mono|../effects/tankwall}}</center> | |||
| {{Both|Visible to Infected}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{yes}} | |||
| {{l4dseries}} This is the "new" visual cue texture of a wall that can be broken by special infected players.<br>The texture itself has no special abilities other than being invisible to survivors.<br>See [[L4D_Level_Design/Versus_Maps#Making_the_visible_cue_for_breakable_walls|This page]] for further information. | |||
|- id="dotted" | |||
| <div style="text-align: center;">[[File:Toolsdotted.png|64px]]</div> | |||
| <center>{{mono|toolsdotted}}</center> | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes | Yes <br /> (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. | |||
{{confirm|This effect is probably just due to having {{cmd|$alphatest}}.}} | |||
|- id="invisibledisplacement" | |||
| [[File:Toolsinvisibledisplacement.gif|64px]] | |||
| <center>{{mono|toolsinvisibledisplacement}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{both | Depends on game}} | |||
| {{tf2|only}}</br>Light is not blocked by this texture, except in {{csgo}}.<br> | |||
Despite being in the {{mono|Materials/Tools}} 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 {{cmd|$decal|1}} and {{cmd|$surfaceprop|"dirt"}}.<br> | |||
|- id="Clear" | |||
| [[File:Toolswhite.gif|64px]] | |||
| <center>{{mono|../effects/clear}}</center> | |||
| {{Both|Fully Translucent}} | |||
| {{Both|Depends on use}} | |||
| {{Both|Depends on use}} | |||
| {{N/A}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Both|Depends on use}} | |||
| {{l4dseries}} Basic [[LightmappedGeneric]] that has no abilities other than being invisible.<br> | |||
Officially used like {{mono|invisibledisplacement}} for [[Clip_texture|displacement clipping]].<br> | |||
Has no VMT properties other than {{cmd|$alphatest|1}}. | |||
|- id="Invismetal" | |||
| [[File:Toolinvismetal.png|64px]] | |||
| <center>{{mono|invismetal}}</center> | |||
| {{No}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{css}} {{l4dseries}} Invisible texture, with metal [[$surfaceprop|surface properties.]] Simmilar to how Nodraw Metal should have worked.<br> | |||
Creates metal sparks when shot, but bullets pass through.<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|func_detail}} or other entity.}} | |||
{{modernConfirm |An invisimetal texture also exists in {{bms}}, although it uses a different texture. Does it work the same?}} | |||
|- id="Locked" | |||
| '''No Image''' | |||
| <center>Locked</center> | |||
| {{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. | |||
|- id="toolswarmlight" | |||
| [[File:Toolswarmlight.png|64px]] | |||
| <center>{{mono|toolswarmlight}}</center> | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{l4dseries}} Basic [[UnlitGeneric]] texture that has no abilities.<br> | |||
Used with {{ent|func_brush}} to make it non-solid and fade away when approached.<br> | |||
It being {{mono|UnlitGeneric}} makes it seems as if it were glowing in a warm color, but is not listed in [[lights.rad]], so it won't actually emit any light for [[VRAD]] to compile.<br> | |||
Only used in {{code|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="wrongway" | |||
| [[File:Toolswrongway.png|64px]] | |||
| <center>{{mono|wrongway}}</center> | |||
| {{both|Yes {{csgo|in}}<br> Only to Infected}} {{l4dseries|in}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes}} | |||
| {{Yes|Yes<br>(No Marks)}} | |||
| {{l4dseries}}{{csgo}} Used to indicate the borders of the playable area.<br> | |||
{{l4d}} Only visible to Infected players.<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> | |||
{{tip|All Yes/No flags can be changed if applied to a {{ent|func_brush}}.}} | |||
|- id="wrongway_timer" | |||
| [[File:Wrongway timer.png|64px]] | |||
| <center>{{mono|wrongway_timer}}</center> | |||
| {{Both|Doesn't work correctly}} | |||
| {{No}} | |||
| {{Yes}} | |||
| {{No}} | |||
| {{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|func_brush}}), achieved with the <code>PlayerProximity</code> [[material proxies|material proxy]]. | |||
{{warning|Does not work as intended on [[world brush]]es and {{ent|func_detail}}s as they have no origin: In-game, the [[$alpha]] is either equal to the {{mono|$alpha}} of the closest functioning application of this material on screen or - if there is none - the {{mono|$alpha}} remains "stuck" at some value, no matter the proximity.}} | |||
|} | |||
[[Category:Source]] | |||
[[Category:Level Design]] | [[Category:Level Design]] | ||
[[Category:Material System]] |
Latest revision as of 21:57, 13 June 2025
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, but other tool textures may be located in different directory.
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's texture browser, while the $basetexture is seen in-game; however, the self made tool textures must be shipped with the map, else they might not work.
This page contains tool textures which can be found on any Source games (including description for third-party games which changes how the tool texture works or have different behavior). For third-party games specific tool textures, see third-party page.






For example, have 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.

toolsinvisible
, toolsinvisibleladder
, and invismetal
. Which are never seen and would be wasteful to create visleaves for them.You may want to add %CompileDetail to the offending materials to prevent them from cutting visleaves. The modified VMT's do not need to be shared with the compiled map, as only vbsp uses these compile flags right when building the maps.
But you do need to use custom folder (if available, preferred), or pack these up in a vpk file and load them into hammer by editing the gameinfo to load your vpk with modified files above all other folders and search paths.

toolsinvisibleladder
, it alternatively is possible in some games to use %CompileClip (and optionally $translucent) instead of %CompileNoDraw and %CompilePassBullets, but only if tied to func_ladder (works in 

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 ,
,
,
, etc.).
Image | Filename | 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 lights/white (which is available in all Source games), but doesn't cast any light by default. Using glass surfaceprop. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() See Blockbullets for info on how to actually block bullets and projectiles.
| |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | Solid to prop_physics, projectiles, players, & NPCs. Not solid to bullets.
| |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | Used for ladders in 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.![]() ![]() ![]() ![]() Todo: Insert this "glass footsteps" version into the list
![]() ![]() | |
![]() |
N/A | No | No | No | No | No | No | No | [![]() ![]() | |
![]() |
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. Visible if used on an entity without EF_NODRAW. |
General — Game-specific
These tool textures are only available in specific Source engine games.
Image | Filename | 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) |
![]() ![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() ![]() Inherits various City17 %keywords from 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) |
![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
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 | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() |
Optimization
Image | Filename | 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 VBSP to cut visleaves along this texture, but does nothing else. | |
![]() |
No | No | No | No | No | No | No | No | Has no effect on anything (except bomb in ![]() 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.
Unlike toolstrigger, toolsoccluder will correctly work when VBSP is compiled with -nodrawtriggers. |
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 | Filename | 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 ![]() ![]() ![]() (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 | Filename | 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 | N/A | N/A | No | No | 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 ,
,
,
, etc.).
Image | Filename | 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 effect; uses nonexistent compile flag %CompileFog.
(You can use this for func_smokevolume instead of the Trigger texture, but NOT for func_dustcloud.) | |
![]() |
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. 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. ![]() No effect if 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 "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.
There are no game specific tool textures in this section.
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 | Filename | 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 texture may be usable in spots where the texture is applied over a translucent material, in order to fix sorting issues, but it has so far never been used in any official campaign. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() ![]() | ||
Visible to Infected | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() ![]() The texture itself has no special abilities other than being invisible to survivors. This texture is since superceeded by ../effects/tankwall . But this one was not removed from the game.See This page for further information. | ||
Visible to Infected | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() ![]() The texture itself has no special abilities other than being invisible to survivors. This texture is since superceeded by ../effects/tankwall . But this one was not removed from the game.See This page for further information. | ||
Visible to Infected | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() ![]() The texture itself has no special abilities other than being invisible to survivors. See This page for further information. | ||
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.
![]() | ||
![]() |
No | No | No | No | Yes | Yes | Yes | Depends on game | (only in ![]() 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 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. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() ![]() Used with func_brush to make it non-solid and fade away when approached. | |
![]() |
Yes (in ![]() Only to Infected (in ![]() ![]() |
No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() ![]() ![]()
![]() | |
![]() |
Doesn't work correctly | No | Yes | No | Yes | Yes | Yes | Yes | ![]() ![]() PlayerProximity material proxy.
![]() |