언어:
페이지 정보
엔진 버전:
언리얼 엔진

지오메트리 브러시 액터

언리얼 엔진

BSPHouse.png

이 문서에서는 레벨 제작시 지오메트리 브러시 를 사용하는 방법에 대해 알아봅니다.

지오메트리 브러시는 언리얼에서의 레벨 제작에 있어 가장 기본적인 툴입니다. 개념적으로 지오메트리 브러시는 레벨의 공간 부피를 채워넣거나 파내는 것으로 생각해 볼 수 있습니다. 오래 전 지오메트리 브러시를 주로 사용해서 레벨을 디자인했던 적이 있습니다. 그러나 이제는 훨씬 더 효율적인 스태틱 메시에게 그 자리를 내어 주게 되었습니다. 하지만 여전히 지오메트리 브러시는 제품 초기 단계에서 레벨과 오브젝트의 빠른 프로토타이핑은 물론, 3D 모델링 툴을 접할 수 없는 이들의 레벨 제작에도 유용합니다. 이 글에서는 지오메트리 브러시의 용도와 레벨에서 활용하는 방법에 대해 다뤄 보도록 하겠습니다.

일반적으로 지오메트리 브러시는 영구적 붙박이로든, 아티스트가 최종 메시를 완성하는 동안 임시 테스트 용도로든, 레벨 디자인 프로세스에서 사용할 기본적일 모양을 만드는 수단으로 생각하면 됩니다.

지오메트리 브러시의 용도

레벨에 지오메트리를 채우는 데 현재는 스태틱 메시가 주로 사용되지만, 지오메트리 브러시도 나름 역할은 있습니다. 브러시의 전형적인 용도는 이렇습니다:

레벨 윤곽 잡기

레벨을 디자인할 때의 표준적인 작업방식은 이렇게 흘러갑니다:

  • 레벨 윤곽 그리고 길내기

  • 흐름과 게임플레이 테스트

  • 레이아웃 수정과 테스트 반복

  • 초기 메싱 패스

  • 초기 라이팅 패스

  • 콜리전 및 퍼포먼스 이슈 플레이테스트

  • 폴리시 패스

ElementalBSP.png

ElementalComplete.png

대략적인 브러시 블록 작업

최종 레벨

첫 단계는 시간을 들여 스태틱 메시나 기타 최종 아트 애셋을 레벨에 채워넣기 전 초기 레벨 윤곽을 그려 레이아웃과 흐름을 스케치해 보는 작업입니다. 보통 지오메트리 브러시를 사용해서 레벨 윤곽 작업을 하고, 테스팅과 반복처리를 통해 최종 레이아웃에 이릅니다. 지오메트리 브러시는 레벨 디자인 프로세스 측면에서 아트 팀의 손을 빌릴 필요가 없으니 정말 딱이라 하겠습니다. 레벨 디자이너는 레이아웃과 레벨 플레이 방식이 마음에 들 때까지, 언리얼 에디터에 내장된 툴만으로도 브러시 생성 및 수정 작업을 할 수 있는 것입니다.

테스트가 마무리되고 메시 작업이 시작되면서, 지오메트리 브러시는 점차 스태틱 메시로 대체됩니다. 빠른 초기 반복작업뿐만 아니라 아트 팀 작업의 기준이 되는 참고자료가 되기도 합니다.

간단한 마개 지오메트리

종종 레벨 디자이너가 레벨을 만들 때, 구멍이나 간격을 메꿀 간단한 지오메트리 조각이 필요한 상황이 있습니다. 스태틱 메시가 미리 준비되어 있지 않다 하더라도 아트 팀한테 커스텀 메시를 만들라고 귀찮게 하는 대신, 지오메트리 브러시를 사용하여 공간을 간단히 메꿔버리면 됩니다. 퍼포먼스 측면에서 스태틱 메시가 낫긴 하지만, 간단하기만 하다면야 지오메트리 브러시를 사용하는 데 있어 그리 걱정할 일은 없을 것입니다.

브러시 만들기

브러시는 배치 모드 패널의 지오메트리 탭을 사용해서 생성합니다:

  1. 패널 하단의 동글 버튼을 사용하여 (더하기 또는 빼기) 브러시 유형 을 선택합니다:

    add_subtract.png

  2. 목록에서 프리미티브 유형 중 하나를 끌어 뷰포트 에 놓습니다:

    BoxBrush.png

  3. 브러시 세팅 을 변경하거나, 트랜스폼 툴을 사용하거나, 지오메트리 편집 모드 를 켜고 브러시 모양과 크기를 조절합니다. 자세한 내용은 브러시 수정하기 부분을 참고하세요.

브러시 프리미티브

프리미티브

설명

BSP_Box.png

빌더 브러시를 박스 모양으로 변경합니다. 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

박스 빌더 세팅

X

X 축 크기입니다.

Y

Y 축 크기입니다.

Z

Z 축 크기입니다.

Wall Thickness

벽 두께 - 브러시 안쪽 벽의 두께입니다. Hollow 가 체크되었을 때에만 의미가 있습니다.

Hollow

속빈 - 브러시의 속이 꽉 차있는지 아니면 안이 비어 있는지 설정하는 것으로, 빠르게 공간을 만들 수 있습니다. Wall Thickness 로 조절합니다.

Tessellated

테셀레이션 - 박스의 면들을 트라이앵글로 모자이크화시킬지, 아니면 쿼드로 놔둘지 입니다.

BSP_Cone.png

빌더 브러시를 원뿔 모양으로 변경합니다. 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

원뿔 빌더 세팅

Z

Z 축 높이입니다.

Cap Z

Z 최대 - Z 축 내부 최대 높이입니다. Hollow 체크시에만 의미가 있습니다.

Outer Radius

외부 반경 - 원뿔 밑 반경입니다.

Inner Radius

내부 반경 - 원뿔 내벽까지의 반경입니다. Hollow 체크시에만 의미가 있습니다.

Sides

면 수 - 원뿔 회전 모양을 이루는 면 갯수입니다.

Align to Side

면에 정렬 - 면의 회전을 X 축으로 정렬시킬지, 아니면 각도 중 하나가 축 아래를 향하도록 할지 입니다.

Hollow

속빈 - 브러시의 속이 꽉 차있는지 아니면 안이 비어 있는지 설정하는 것으로, 빠르게 공간을 만들 수 있습니다. Wall Thickness 로 조절합니다.

BSP_Cylinder.png

빌더 브러시를 원통 모양으로 변경합니다. 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

원기둥 빌더 세팅

Z

Z 축 높이입니다.

Outer Radius

외부 반경 - 원통의 반경을 설정합니다.

Inner Radius

내부 반경 - 원통 내벽까지의 반경을 설정합니다. Hollow 체크시에만 의미가 있습니다.

Sides

면 수 - 원통 회전 모양을 이루는 면 갯수입니다.

Align to Side

면에 정렬 - 면의 회전을 X 축으로 정렬시킬지, 아니면 각도 중 하나가 축 아래를 향하도록 할지 입니다.

Hollow

속빈 - 브러시의 속이 꽉 차있는지 아니면 안이 비어 있는지 설정하는 것으로, 빠르게 공간을 만들 수 있습니다. Inner Radius 로 조절합니다.

BSP_LinStair.png

빌더 브러시를 선형 계단, 즉 굽어있지 않는 직선형 계단 모양으로 변경합니다. 계단은 땅까지 계속해서 뻗어갑니다. 그 모양은 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

선형 계단 빌더 세팅

Step Length

단 길이 - 앞에서 뒤까지 각 계단의 길이입니다.

Step Height

단 높이 - 위에서 밑까지 각 계단의 높이입니다.

Step Width

단 폭 - 측면에서 측면까지 각 계단의 폭입니다.

Num Steps

단 수 - 계단에 있는 단 수입니다.

Add to First Step

첫 단 추가 - 첫 단에 제공된 높이를 추가, 실제적으로는 전체 계단의 높이를 그만큼 올립니다.

BSP_CurvedStair.png

빌더 브러시를 굽은 계단, 즉 일정한 각도로 한바퀴 미만 (이상의 경우는 나선 계단) 굽은 계단 모양으로 변경합니다. 굽은 계단은 땅까지 쭉 뻗어갑니다. 그 모양은 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

굽은 계단 빌더 세팅

Inner Radius

내부 반경 - 계단이 휘감는 기둥의 내부 반경입니다.

Step Height

단 높이 - 위에서 밑까지 각 계단의 높이입니다.

Step Width

단 폭 - 측면에서 측면까지 각 계단의 폭입니다.

Angle of Curve

커브 각도 - 계단의 회전 각도입니다.

Num Steps

단 수 - 계단에 있는 단 수입니다.

Add to First Step

첫 단 추가 - 첫 단에 제공된 높이를 추가, 실제적으로는 전체 계단의 높이를 그만큼 올립니다.

Counter Clockwise

반시계방향 - 체크하면 계단이 시계방향이 아닌 반시계방향으로 회전합니다.

BSP_SpiralStair.png

빌더 브러시를 나선 계단, 즉 한바퀴 이상 반복해서 굽은 계단 모양으로 변경합니다. 나선 계단은 땅까지 쭉 뻗어갑니다. 그 모양은 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

나선 계단 빌더 세팅

Inner Radius

내부 반경 - 계단이 휘감는 기둥의 내부 반경입니다.

Step Width

단 폭 - 측면에서 측면까지 각 계단의 폭입니다.

Step Height

단 높이 - 위에서 밑까지 각 계단의 높이입니다.

Step Thickness

단 두께 - 계단의 전체적인 두께를 늘립니다.

Num Steps Per 360

한 바퀴당 단 수 - 한 바퀴 회전시키는 데 필요한 단 수를 결정합니다.

Num Steps

단 수 - 계단에 있는 단 수입니다. 이 값이 Num Steps per 360 의 값(이나 그 배수)에 도달할 때마다 똑같은 굽은 계단이 반복됩니다.

Add to First Step

첫 단 추가 - 첫 단에 제공된 높이를 추가, 실제적으로는 전체 계단의 높이를 그만큼 올립니다.

Sloped Ceiling

비탈 천정 - 천정을 계단진 모양이 아닌 경사면으로 만듭니다.

Sloped Floor

비탈 바닥 - 바닥을 일반적인 계단이 아닌, 비탈진 통로로 변환합니다.

Counter Clockwise

반시계방향 - 체크하면 계단이 시계방향이 아닌 반시계방향으로 회전합니다.

BSP_Sphere.png

빌더 브러시를 구체 모양으로 변경합니다. 나중에 브러시 옵션 패널에서 수정할 수 있으며, 그 옵션은 다음과 같습니다:

구체 빌더 세팅

Radius

반경 - 구체의 반경을 설정합니다.

Sphere Extrapolation

구체 보외 - 구체의 곡면을 만드는 데 사용할 면의 갯수를 조절합니다. 테셀레이션 메서드로 인해 한계는 5 입니다.

브러시 수정하기

여러가지 방법으로 브러시를 수정할 수 있는데, 각각은 일정한 상황이나 브러시 편집 방식에 맞게 특화되어 있습니다.

지오메트리 편집 모드

브러시 실제 모양을 바꾸기 가장 좋은 방법은 지오메트리 편집 모드 를 사용하는 것입니다. 이 에디터 모드로 브러시의 버텍스(정점), 에지(선분), 면을 직접 조작할 수 있습니다. 아주 간단한 3D 모델링 프로그램과 매우 비슷한 방식입니다.

지오메트리 편집 모드 와 브러시 수정을 위한 사용법에 대해서는 레벨 에디터 모드 문서를 참고하시기 바랍니다.

트랜스폼 위젯

다양한 에디터 트랜스폼 위젯으로 브러시를 수정할 수도 있습니다. 확인해 가며 트랜슬레이션(옮기기), 로테이션(회전), 스케일(크기) 조절이 가능하며, 뷰포트 툴바의 위젯 버튼으로 접근할 수 있습니다:

TransformWidgets.png

트랜스폼 위젯과 그 사용법 관련 상세 정보는 언리얼 에디터 사용 안내서 를 참고하시기 바랍니다.

브러시 프로퍼티

기존 브러시는 선택한 뒤 (Ctrl + Shift + 클릭으로 표면이 아닌 브러시를 선택할 수 있습니다) 디테일 패널에서 편집할 수 있습니다. 전체 브러시를 선택한 경우 Brush Settings (브러시 세팅) 카테고리가 보입니다:

BrushDetails.png

브러시 유형

브러시 유형 드롭다운에는 다음과 같은 옵션이 있습니다:

브러시 유형 드롭다운

Additive

더하기 - 더하기 브러시로 설정합니다.

Subtractive

빼기 - 빼기 브러시로 설정합니다.

레벨 제작 과정에 걸쳐 사용할 수 있는 브러시 유형은 여러가지 있습니다. 각 타입은 특정 상황에 적합하게 되어 있습니다.

더하기

Additive, 더하기 브러시는 입체적인, 속이 꽉 찬 공간입니다. 레벨에 추가하려는 브러시 지오메트리에 사용할 유형입니다. 사방의 벽과 바닥, 천정 등을 생각해 보시면 더하기 브러시를 쉽게 떠올려 보실 수 있습니다. 맵에 있는 이들 각각의 박스형 더하기 브러시는 구석을 맞춰 밀폐된 공간을 이룹니다.

빼기

Subtractive, 빼기 브러시는 뻥 뚫려 조각해 낸 공간입니다. 이전에 만든 더하기 브러시에서 문이나 창문같은 것을 만들기 위해 입체 공간을 제거하는 데 사용되는 브러시 형태입니다. 빼기 공간에서만 플레이어가 자유로이 이동할 수 있습니다.

고급 프로퍼티

브러시 세팅 하단의 Advanced 버튼을 클릭하면 고급 브러시 프로퍼티가 드러납니다:

BrushDetailsAdvanced.png

폴리곤

Polygon (폴리곤) 드롭다운에는 다음과 같은 옵션이 있습니다:

PolygonsDropdown.png

폴리곤 드롭다운

Merge

병합 - 브러시에 있는 평면들끼리 합칩니다.

Separate

분할 - 병합의 반대 효과를 냅니다.

입체성

Solidity (입체성) 드롭다운에는 다음과 같은 옵션이 있습니다:

자세한 내용은 브러시 입체성 부분을 확인해 주시기 바랍니다.

SolidityDropdown.png

입체성 드롭다운

Solid

입체 - 브러시 입체성을 입체로 설정합니다.

Semi Solid

반입체 - 브러시 입체성을 반입체로 설정합니다.

Non Solid

비입체 - 브러시 입체성을 비입체로 설정합니다.

순서

Order (순서) 드롭다운에는 다음과 같은 옵션이 있습니다:

자세한 내용은 브러시 순서 부분을 참고해 주시기 바랍니다.

OderDropdown.png

순서 드롭다운

To First

처음으로 - 선택된 브러시를 처음 계산되도록 만듭니다.

To Last

마지막으로 - 선택된 브러시를 마지막 계산되도록 만듭니다.

정렬 및 스태틱 메시 버튼

Brush Settings (브러시 세팅) 카테고리 아래 프로퍼티를 펼치면 다음과 같은 버튼이 나타납니다:

브러시 유형 드롭다운

Align Brush Vertices

브러시 버텍스 정렬 - 브러시의 버텍스를 그리드에 맞춥니다.

Create Static Mesh

스태틱 메시 생성 - 현재 브러시를 스태틱 메시 액터로 변환시켜 지정된 위치에 저장합니다.

드래그 그리드

월드의 오브젝트를 십자선에 낚아채는 데 사용되는 드래그 그리드는 브러시 작업을 할 때 매우 중요합니다. 브러시의 선분이나 모서리가 그리드에 설정되어 있지 않으면, 렌더링 부작용이나 다른 문제를 만들 수 있는 에러가 날 수 있습니다. 브러시 작업을 할 때는 드래그 그리드를 항상 켜 두는 것이 좋으며, 브러시의 버텍스가 항상 이 그리드 위에 와 있는지 확인해야 합니다.

브러시 순서

브러시를 놓은 순서는 그에 따라 더하기 빼기 연산이 이루어지므로 매우 중요합니다. 빼기 브러시를 놓은 다음 더하기 브러시를 놓은 것과, 더하기 브러시를 놓은 다음 빼기 브러시를 놓는 것은, 그 두 작업 모두 같은 위치에서 했다 하더라도 결과는 전혀 다릅니다. 빈 공간에서 빼기를 한 다음 그 위에 더하기를 하면, 빼기 브러시는 무에서 무를 빼는 것이니 무시됩니다. 그러나 같은 브러시를 반대 순서로 놓으면, 빈 공간에 더해진 공간을 조각하여 빼 내는 것입니다.

가끔은 브러시 순서를 무시하고 싶거나 기존 브러시 전에 새 브러시를 계산하고 싶은 경우가 있습니다. 다행히 나중에 보게 될 Brush 프로퍼티 부분에서 브러시 순서를 수정할 수 있습니다.

브러시 표면

(전체 브러시가 아닌) 브러시 표면을 선택하면 디폴트 패널에 다음과 같은 카테고리가 나타납니다:

BSPSurfaceDetails.png

BSP 카테고리

Geometry (지오메트리) 카테고리에는 브러시 표면 전반적으로 적용된 머티리얼 관리를 돕기 위한 툴이 몇 가지 들어 있습니다.

BSP 카테고리 버튼

Select Button

선택 버튼 - 다양한 상황에 따라 브러시 표면 선택을 위한 여러가지 명령입니다.

Alignment

정렬 - 바라는 세팅에 따라 표면에 대한 텍스처 좌표를 재정렬시킵니다. 예를 들어 바닥의 복잡한 브러시 배치를 하나의 표면인 것처럼 보이도록 만들고자 할 때 좋습니다.

Apply Material

머티리얼 적용 - 콘텐츠 브라우저에 현재 선택된 머티리얼을 브러시 표면에 적용합니다.

Clean BSP Surfaces

BSP 표면 정리 - 어떤 작업으로 인해 브러시 표면에 머티리얼이 사라진 경우 문제를 해결해 줍니다.

Surface 프로퍼티

Surface (표면) 프로퍼티 영역에는 표면 전반에 걸쳐 놓인 텍스처나 라이트맵 해상도 제어를 돕기 위한 여러가지 툴이 들어 있습니다.

표면 프로퍼티 카테고리

Pan

패닝 - 이 부분의 버튼으로 머티리얼의 텍스처를 가로 또는 세로로 주어진 유닛만큼 이동시킬 수 있습니다.

Rotate

회전 - 브러시 표면의 머티리얼 위 텍스처를 주어진 각도만큼 회전시킵니다.

Flip

뒤집기 - 브러시 표면 위 텍스처를 가로 또는 세로로 뒤집을 수 있습니다.

Scale

스케일 - 브러시 표면의 텍스처의 스케일을 주어진 만큼 조절합니다.

라이팅

Lighting (라이팅) 섹션에서는 브러시 표면에 대한 여러가지 중요한 라이트 관련 프로퍼티를 변경할 수 있습니다.

라이팅 프로퍼티

Lightmap Resolution

라이트맵 해상도 - 본질적으로 이 표면에 걸친 그림자의 조절이 가능합니다. 수치가 낮을 수록 그림자가 타이트해 집니다.

라이트매스 세팅

Use Two Sided Lighting

양면 라이팅 사용 - True 면 표면은 각 폴리곤의 양수면과 음수면 양쪽에서 빛을 받습니다.

Shadow Indirect Only

간접 그림자만 - True 면 이 표면은 간접광에서의 그림자만 생성합니다.

Diffuse Boost

디퓨즈 증폭 - 간접광에 대한 디퓨즈 컬러의 영향력에 대한 스케일을 조절합니다.

Fully Occluded Samples Fraction

완전 차폐 판단을 위한 샘플 비율 - 이 표면상의 샘플이 얼마만큼 차폐되어야 간접광 계산에서 제외시킬지를 결정하는 비율입니다.

브러시 입체성

브러시는 입체(Solid), 반입체(Semi-solid), 비입체(Non-solid) 중 하나가 될 수 있습니다. 브러시의 입체성은 월드의 오브젝트와 충돌할 것인가, 지오메트리를 빌드할 때 주변 브러시에 BSP 분할을 일으킬 것인가를 가리킵니다.

브러시 생성 후 디테일 패널에서 브러시의 입체성을 변경할 수 있습니다:

BrushSolidity.png

세 종류의 입체성은 아래와 같습니다.

입체

입체 브러시는 디폴트 브러시 유형입니다. 더하기나 빼기 브러시를 만들 때 얻는 것으로, 다음과 같은 특성이 있습니다:

  • 게임에서 플레이어와 프로젝타일을 막습니다.

  • 더하기도 빼기도 가능합니다.

  • 주변 브러시가 쪼개지게 만듭니다.

반입체

반입체 브러시는 충돌은 하면서 주변 월드 지오메트리를 쪼개지게 만들지는 않는 브러시입니다. 기둥이나 지지대같은 것을 만드는데 사용되는데, 보통은 스태틱 메시를 통해 만드는 것이긴 합니다. 다음과 같은 특성이 있습니다:

  • 입체 브러시처럼 플레이어와 프로젝타일을 막습니다.

  • 더하기만 가능하며, 빼기는 안됩니다.

  • 주변 브러시가 쪼개지지 않습니다.

비입체

비입체 브러시는 충돌되지도 않고 주변 월드 지오메트리를 쪼개지게 만들지도 않습니다. 눈에 보이긴 하지만 어떤 식으로든 상호작용이 불가능합니다. 다음과 같은 특성이 있습니다:

  • 플레이어나 프로젝타일을 막지 않습니다.

  • 더하기만 가능하며, 빼기는 안됩니다.

  • 주변 브러시가 쪼개지지 않습니다.