func_detail
Contents
UNTRANSLATED string "this is a" see Template:This is a/strings 실제 브러시 엔티티가 아니라, 모든 포함된 브러시를 worldspawn
으로 이동시키고 그것들을 CONTENTS_DETAIL
로 플래그 지정하여, 가시성 에 영향을 주지 않거나 non-detail 브러시를 절단 하지 않게 합니다. 월드의 '뼈대’를 형성하지 않는 모든 브러시 작업은 (실제 엔티티에 연결되지 않은 경우) 디테일이어야 하며, 반투명 유리는 예외입니다("구조적"이지 않을 때 alpha sorting issues에 시달립니다).
Valve는 sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf
에서 예제 맵을 제공합니다. 또한 HL2 맵 소스를 로드하고 자동 visgroup 으로 디테일 브러시를 숨겨 Valve가 어디에 사용했는지 확인할 수 있습니다.
![Tip.png](/w/images/thumb/4/45/Tip.png/9px-Tip.png)
r_drawfuncdetail 0
를 사용할 수 있습니다.효과
디테일 브러시 엔티티를 만드는 목적은 맵의 단순한 디테일에 대해 불필요한 수의 visleaves 를 생성하는 것을 피하기 위함이며, 이를 위해 엔티티의 이름이 정해졌습니다. VBSP는 visleaves가 디테일을 오버레이 할 수 있게 하여 visleaves와 컴파일 시간을 최소화합니다.
위에는 월드 브러시(왼쪽 원통)와 디테일 브러시(오른쪽 원통)가 있습니다. 파란색 선은 visleaf 경계입니다. 월드 브러시는 맵을 9개의 이상한 모양의 세그먼트로 잘라내어 컴파일 시간이 길어지고 성능이 약간 저하되었지만, 디테일 브러시는 아무것도 변경하지 않았습니다.
주의 사항
- 디테일 브러시는 맵의 leak 을 봉합 또는 areaportal 영역 제작 목적으로 사용할 수 없습니다.
- 디테일 브러시는 월드 브러시를 자르지 않기 때문에, 다른 표면의 lightmap 스케일이 디테일 브러시의 너비/높이보다 크면 빛이 그 아래로 스며들 수 있습니다. 이런 경우에는 수동으로 기본 브러시를 여러 부분으로 잘라내고 ((단축키 ⇧ Shift+X)), 아래쪽에 nodraw 텍스처를 적용하세요.
- 매우 얇은 (약 2 유닛 두께) 디테일 브러시의 표면은 일정 거리에서 사라지는 것으로 알려져 있습니다. 이를 해결하기 위해 func_brush 를 대신 사용하세요.
- translucent 또는 transparent 속성을 가진 재질이 적용되었거나, displacement 브러시인 경우 VIS 에 영향을 주지 않으며, 맵 상의 leak 이 발생한 영역을 봉합할 수 없습니다.
- 디테일 브러시는 경우에 따라 다른 디테일 브러시와 면을 병합하고, 때때로 월드 브러시와 병합하여 visleaf를 생성할 수 있습니다.
- 정상적인 조건에서 디테일 브러시가 월드 브러시에 접촉할 때마다, VBSP 는 이 접점을 참고하고 최적화합니다. 이 연결은 T-접점 또는 워터 인덱스로 번갈아 알려져 있으며, VBSP가 수정을 시도할 T-접점의 수에는 한계가 있습니다(65,535). 월드 지오메트리와 접촉하는 디테일 브러시의 과도한 사용은 VBSP가 오류와 함께 컴파일을 중단하게 할 수 있습니다.
-notjunc
옵션을 사용하면 이 최적화를 건너뛸 수 있지만, 시각적인 불일치가 발생할 수 있습니다.
참고:알 수 없는 이유로 인해 물은 t-접점 수를 급증시킵니다. 물 브러시를 제거하거나 재구성하면 이 문제를 해결할 수 있습니다.
좋은 사용 예시
플레이어의 시야를 크게 가리지 않는 모든 브러시는 아마도 디테일 브러시를 사용해야 할 것 입니다. 구체적인 예는 다음과 같습니다:
- 기둥, 받침대 및 지지대
- 독립형 벽
- 공중 보도
- 계단 (아래에 부드러운 쐐기 모양 월드 브러시 생성)
- 작은 건물들
- 회전한 브러시
- 매우 작거나 얇은 브러시
키값
- Minimum / Maximum DX Level
(mindxlevel / maxdxlevel)
<choices> (removed since)
- The entity will not exist if the engine is running outside the given range of DirectX Versions.
![]()
|