This article's documentation is for anything that uses the Source engine. Click here for more information.

func_detail

From Valve Developer Community
< Ko
Jump to: navigation, search
English (en)한국어 (ko)中文 (zh)Translate (Translate)

UNTRANSLATED string "this is a" see Template:This is a/strings 실제 브러시 엔티티가 아니라, 모든 포함된 브러시를 worldspawn으로 이동시키고 그것들을 CONTENTS_DETAIL(en)로 플래그 지정하여, 가시성(en)에 영향을 주지 않거나 non-detail 브러시를 절단(en)하지 않게 합니다. 월드의 '뼈대’를 형성하지 않는 모든 브러시 작업은 (실제 엔티티에 연결되지 않은 경우) 디테일이어야 하며, 반투명 유리는 예외입니다("구조적"이지 않을 때 alpha sorting issues에 시달립니다).

Valve는 🖿sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf에서 예제 맵을 제공합니다. 또한 HL2 맵 소스를 로드하고 자동 visgroup(en)으로 디테일 브러시를 숨겨 Valve가 어디에 사용했는지 확인할 수 있습니다.

Tip.png팁:대안으로, 실행 중인 모든 맵에서 디테일 브러시를 숨기기 위해 콘솔 변수(en) r_drawfuncdetail 0를 사용할 수 있습니다.

효과

디테일 브러시 엔티티를 만드는 목적은 맵의 단순한 디테일에 대해 불필요한 수의 visleaves(en)를 생성하는 것을 피하기 위함이며, 이를 위해 엔티티의 이름이 정해졌습니다. VBSP는 visleaves가 디테일을 오버레이 할 수 있게 하여 visleaves와 컴파일 시간을 최소화합니다.

World-vs-detail.png

위에는 월드 브러시(왼쪽 원통)와 디테일 브러시(오른쪽 원통)가 있습니다. 파란색 선은 visleaf 경계입니다. 월드 브러시는 맵을 9개의 이상한 모양의 세그먼트로 잘라내어 컴파일 시간이 길어지고 성능이 약간 저하되었지만, 디테일 브러시는 아무것도 변경하지 않았습니다.

주의 사항

  • 디테일 브러시는 맵의 leak(en)을 봉합 또는 areaportal 영역 제작 목적으로 사용할 수 없습니다.
  • 디테일 브러시는 월드 브러시를 자르지 않기 때문에, 다른 표면의 lightmap(en) 스케일이 디테일 브러시의 너비/높이보다 크면 빛이 그 아래로 스며들 수 있습니다. 이런 경우에는 수동으로 기본 브러시를 여러 부분으로 잘라내고 ((단축키 Shift+X)), 아래쪽에 nodraw(en) 텍스처를 적용하세요.
    • 이 효과는 표면 접촉이 많은 디테일 브러시를 비효율적으로 만들 수 있습니다. 왜냐하면 그 아래의 표면도 렌더링되기 때문입니다! func_detail에 의해 완전히 가려진 구조적인 면은 nodraw(en) 텍스처로 처리해야 합니다.
    • 그러나 디테일 브러시는 서로를 자릅니다. 순정 VBSP(en)GoldSrc HLBSP(en)에서 볼 수 있는 디테일 레벨을 지원하지 않으므로, 모든 디테일 브러시는 편향 없이 서로를 자릅니다.
  • 매우 얇은 (약 2 유닛 두께) 디테일 브러시의 표면은 일정 거리에서 사라지는 것으로 알려져 있습니다. 이를 해결하기 위해 func_brush(en)를 대신 사용하세요.
  • translucent(en) 또는 transparent(en) 속성을 가진 재질이 적용되었거나, displacement(en) 브러시인 경우 VIS(en)에 영향을 주지 않으며, 맵 상의 leak(en)이 발생한 영역을 봉합할 수 없습니다.
    • w/ 반투명 재질의 월드 브러시는 여전히 visleaf를 자릅니다. 왜냐하면 반투명 재질의 브러시는 다른 엔티티, 디스플레이스먼트, 디테일 브러시와는 다르게 알파 채널 정렬(Quake II Quake II와 같이)을 위해 BSP tree(en)를 사용하기 때문입니다.
  • 디테일 브러시는 경우에 따라 다른 디테일 브러시와 면을 병합하고, 때때로 월드 브러시와 병합하여 visleaf를 생성할 수 있습니다.
  • 정상적인 조건에서 디테일 브러시가 월드 브러시에 접촉할 때마다, VBSP(en)는 이 접점을 참고하고 최적화합니다. 이 연결은 T-접점 또는 워터 인덱스로 번갈아 알려져 있으며, VBSP가 수정을 시도할 T-접점의 수에는 한계가 있습니다(65,535). 월드 지오메트리와 접촉하는 디테일 브러시의 과도한 사용은 VBSP가 오류와 함께 컴파일을 중단하게 할 수 있습니다. -notjunc 옵션을 사용하면 이 최적화를 건너뛸 수 있지만, 시각적인 불일치가 발생할 수 있습니다.
Note.png참고:알 수 없는 이유로 인해 물은 t-접점 수를 급증시킵니다. 물 브러시를 제거하거나 재구성하면 이 문제를 해결할 수 있습니다.

좋은 사용 예시

City 17 Trainstation Plaza]](en)의 대부분이 사라집니다. Valve도 몇몇 월드 브러시를 놓쳤습니다…

플레이어의 시야를 크게 가리지 않는 모든 브러시는 아마도 디테일 브러시를 사용해야 할 것 입니다. 구체적인 예는 다음과 같습니다:

  • 기둥, 받침대 및 지지대
  • 독립형 벽
  • 공중 보도
  • 계단 (아래에 부드러운 쐐기 모양 월드 브러시 생성)
  • 작은 건물들
  • 회전한 브러시
  • 매우 작거나 얇은 브러시

키값

Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <integer(en) choices> (removed since 레프트 4 데드)
The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices
Warning.png경고:

See also