Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Difference between revisions of "func detail"

From Quake Wiki

(func detail variants: sort list better, and mention clipped illusionaries)
m
Line 1: Line 1:
 
[https://ericwa.github.io/ericw-tools/ Ericw-tools] [[qbsp]] supports detail brushes which are similar in concept to Quake 2’s detail brushes.  
 
[https://ericwa.github.io/ericw-tools/ Ericw-tools] [[qbsp]] supports detail brushes which are similar in concept to Quake 2’s detail brushes.  
  
They don’t seal the map. To be compatible with existing Quake 1 mapping editors, detail brushes can be added by creating an entity with classname "func_detail". When [[qbsp]] reads the map file, it will add any brushes included in a func_detail entity into the [[worldspawn]] as details and remove the func_detail entity. Any number of func_detail entities can be used (useful for grouping) and all included brushes will be added to the worldspawn.
+
They don’t seal the map. To be compatible with existing Quake 1 mapping editors, detail brushes can be added by creating an entity with classname {{code|func_detail}}. When [[qbsp]] reads the map file, it will add any brushes included in a func_detail entity into the [[worldspawn]] as details and remove the func_detail entity. Any number of func_detail entities can be used (useful for grouping) and all included brushes will be added to the worldspawn.
  
 
This classname used on brushes textured with [[Textures#fence_textures|alphatested textures]] will alpha-mask the #255 colored parts of that texture rendering those parts invisible.
 
This classname used on brushes textured with [[Textures#fence_textures|alphatested textures]] will alpha-mask the #255 colored parts of that texture rendering those parts invisible.
Line 7: Line 7:
 
==<span id="func_detail_vars"></span>func detail variants==
 
==<span id="func_detail_vars"></span>func detail variants==
  
'''''<span id="func_detail_wall"></span>func_detail_wall''''' :
+
'''<span id="func_detail_wall"></span>{{code|func_detail_wall}}''' :
 
This func_detail variant doesn’t split world faces. Useful for when you want a decoration touching a floor or wall to not split the floor/wall faces (you’ll get some overdraw instead.) If it completely covers up a world face, that face will get clipped away, so it’s not suitable for fence textures; see func_detail_fence instead.
 
This func_detail variant doesn’t split world faces. Useful for when you want a decoration touching a floor or wall to not split the floor/wall faces (you’ll get some overdraw instead.) If it completely covers up a world face, that face will get clipped away, so it’s not suitable for fence textures; see func_detail_fence instead.
  
'''''<span id="func_detail_fence"></span>func_detail_fence''''' :
+
'''''<span id="func_detail_fence"></span>{{code|func_detail_fence}}''' :
 
Similar to func_detail_wall, but never clips away . It is suitable for fence textures, never clips away world faces. Useful for dense fences, grates, etc., that are solid and block gunfire.
 
Similar to func_detail_wall, but never clips away . It is suitable for fence textures, never clips away world faces. Useful for dense fences, grates, etc., that are solid and block gunfire.
  
'''''<span id="func_detail_illusionary"></span>func_detail_illusionary''''' :
+
'''''<span id="func_detail_illusionary"></span>{{code|func_detail_illusionary}}''' :
Similar to func_detail_fence, but with no collision (players / monsters / gunfire), and doesn’t cast shadows unless enabled with "_shadow" "1". Useful for creating hanging vines or spiderwebs.<br>Combine with a clip brush for fences that can be shot through with hitscan weapons, but blocks movement and projectiles; suitable for fences and 2D railings.
+
Similar to func_detail_fence, but with no collision (players / monsters / gunfire), and doesn’t cast shadows unless enabled with {{code|"_shadow" "1"}}. Useful for creating hanging vines or spiderwebs.<br>Combine with a clip brush for fences that can be shot through with hitscan weapons, but blocks movement and projectiles; suitable for fences and 2D railings.
  
 
=== Comparison with GoldSrc func_detail ===
 
=== Comparison with GoldSrc func_detail ===

Revision as of 05:31, 15 November 2023

Ericw-tools qbsp supports detail brushes which are similar in concept to Quake 2’s detail brushes.

They don’t seal the map. To be compatible with existing Quake 1 mapping editors, detail brushes can be added by creating an entity with classname func_detail. When qbsp reads the map file, it will add any brushes included in a func_detail entity into the worldspawn as details and remove the func_detail entity. Any number of func_detail entities can be used (useful for grouping) and all included brushes will be added to the worldspawn.

This classname used on brushes textured with alphatested textures will alpha-mask the #255 colored parts of that texture rendering those parts invisible.

func detail variants

func_detail_wall : This func_detail variant doesn’t split world faces. Useful for when you want a decoration touching a floor or wall to not split the floor/wall faces (you’ll get some overdraw instead.) If it completely covers up a world face, that face will get clipped away, so it’s not suitable for fence textures; see func_detail_fence instead.

func_detail_fence : Similar to func_detail_wall, but never clips away . It is suitable for fence textures, never clips away world faces. Useful for dense fences, grates, etc., that are solid and block gunfire.

func_detail_illusionary : Similar to func_detail_fence, but with no collision (players / monsters / gunfire), and doesn’t cast shadows unless enabled with "_shadow" "1". Useful for creating hanging vines or spiderwebs.
Combine with a clip brush for fences that can be shot through with hitscan weapons, but blocks movement and projectiles; suitable for fences and 2D railings.

Comparison with GoldSrc func_detail

For mappers coming from Half-Life, the different func_detail variants in ericw-tools can be compared to various func_detail settings from ZHLT, as described below:

ericw-tools entity for Quake Comparable ZHLT entity from GoldSrc
func_detail func_detail with "zhlt_detaillevel" "0"
func_detail_wall func_detail with "zhlt_detaillevel" "1" (default)
func_detail_fence func_detail with "zhlt_detaillevel" "1",
combined with func_wall with "rendermode" "4" (solid).
func_detail_illusionary func_detail with "zhlt_detaillevel" "1" and "zhlt_noclip" "1",
combined with func_illusionary with "rendermode" "4" (solid).

There is not currently an equivalent to detail levels 2 and 3, as wpoly conservation is less important in Quake due to improved performance provided by source ports.