폴리지 모드

다른 지오메트리의 표면에 스태틱 메시 또는 액터 폴리지를 렌더링하여 그라운드 커버 이펙트를 연출하는 방법

Choose your operating system:

Windows

macOS

Linux

폴리지 모드(Foliage Mode) 는 필터가 활성화된 액터와 지오메트리에서 스태틱 메시 또는 액터 폴리지 세트를 빠르게 페인팅하거나 지울 수 있는 툴 세트입니다. 이 모드를 사용하면 단시간에 넓은 야외 환경을 폴리지로 채울 수 있습니다.

폴리지 코티지

폴리지는 원하는 야외 환경에 디테일을 빠르게 추가하는 데 유용합니다.

폴리지 툴의 실사용 사례는 랜드스케이프 콘텐츠 예시 프로젝트의 폴리지 섹션을 참고하세요.

폴리지 편집 모드

폴리지 툴을 사용하려면 모드(Modes) 드롭다운 메뉴에서 폴리지(Foliage) 옵션(Shift + 3 )을 클릭합니다.

그러면 폴리지(Foliage) 패널이 열립니다.

폴리지 모드 패널

번호

설명

1

툴 팔레트

2

브러시 옵션

3

필터 옵션

4

폴리지 팔레트

5

폴리지 디테일

폴리지 타입

폴리지 타입 추가(Add Foliage Type) 드롭다운 메뉴를 열어 다음을 추가합니다.

폴리지 타입

설명

액터 폴리지(Actor Foliage)

블루프린트 또는 네이티브 액터 인스턴스를 씬에 배치하는 폴리지 타입입니다. 폴리지 밀도가 높으면 퍼포먼스에 문제가 생길 수 있습니다.

스태틱 메시 폴리지(Static Mesh Foliage)

메시 인스턴싱을 사용하는 폴리지 타입입니다. 이 타입은 변경 유지 폴리지에 가장 적합합니다.

폴리지 편집 모드(Foliage Edit Mode)로 배치한 스태틱 메시는 하드웨어 인스턴싱을 사용하여 렌더링되는 여러 배치에 자동으로 그룹화됩니다. 이 경우 다수의 인스턴스는 한 번의 드로 콜만으로도 렌더링될 수 있는 한편, 액터 폴리지는 노멀 액터를 씬에 배치할 때와 동일한 렌더링 비용이 발생합니다.

폴리지 모드 사용하기

폴리지 모드는 랜드스케이프 또는 필터가 활성화된 기타 액터에 폴리지를 직접 페인팅하는 데 사용되는 툴 컬렉션입니다.

폴리지 툴

설명

선택(Select)

개별 폴리지 인스턴스를 선택합니다. Ctrl 버튼을 누른 상태에서 복수의 폴리지 메시를 선택할 수 있습니다.

모두(All)

모든 폴리지 인스턴스를 선택합니다.

선택 않음(Deselect)

현재 선택을 취소합니다.

유효하지 않음(Invalid)

유효하지 않은 폴리지 인스턴스를 선택합니다.

올가미(Lasso)

브러시로 페인팅할 때 선택한 폴리지 타입의 폴리지 인스턴스를 모두 선택합니다.

페인트(Paint)

선택한 폴리지 타입의 인스턴스를 페인팅합니다. 페인팅할 때 Shift 키를 누른 상태에서 선택한 폴리지 타입의 인스턴스를 지웁니다.

재적용(Reapply)

이미 월드에 배치한 폴리지 인스턴스의 파라미터를 선택적으로 변경합니다. 사용법은 다음과 같습니다.

  1. 재적용 툴을 선택한 다음 메시 목록에서 변경 사항을 적용하려는 폴리지 타입을 선택합니다.

  2. 폴리지 디테일(Foliage Details) 섹션에서 필요한 사항을 변경합니다.

  3. 레벨에서 폴리지 인스턴스에 변경 사항을 적용합니다.

단일(Single)

선택한 폴리지 타입의 단일 인스턴스를 페인팅합니다.

채우기(Fill)

선택한 타깃을 폴리지 인스턴스로 채웁니다.

지우기(Erase)

브러시로 페인팅할 때 선택한 폴리지 타입을 지웁니다.

제거(Remove)

선택한 폴리지 인스턴스를 제거합니다.

이동(Move)

선택한 폴리지 인스턴스를 현재 레벨로 이동합니다.

브러시 옵션

브러시 옵션(Brush Options) 섹션에는 상황에 따라 다음 옵션 중 하나 이상이 포함됩니다.

옵션

설명

브러시 크기(Brush Size)

폴리지 브러시의 크기를 조정할 수 있습니다.

포인트 밀도(Point Density)

선택한 툴의 영향을 받는 폴리지의 밀도를 조정할 수 있습니다. 포인트 밀도는 선택한 폴리지 타입의 디테일에 있는 밀도(Density) 프로퍼티의 배수입니다.

지우기 밀도(Erase Density)

Shift 키를 누른 상태에서 지우고 남은 폴리지의 밀도를 조정할 수 있습니다.

단일 인스턴스 모드(Single Instance Mode)

이 옵션을 활성화하면 커서 위치의 단일 폴리지 인스턴스를 페인팅할 수 있습니다. 다음 두 가지 모드로 사용할 수 있습니다.

  • 모두 선택됨(All Selected): 선택한 모든 폴리지 타입의 단일 인스턴스를 배치할 수 있습니다.

  • 선택된 사항 순환(Cycle Through Selected): 선택한 각 폴리지 타입의 단일 인스턴스를 순환 배치할 수 있습니다. 마우스를 클릭할 때마다 하나의 타입만 배치됩니다.

현재 레벨에 배치(Place in Current Level)

이 옵션을 활성화하면 선택한 폴리지 타입의 인스턴스를 현재 레벨에 배치할 수 있습니다. 이 옵션을 비활성화하면 선택한 폴리지 타입의 인스턴스가 현재 페인팅 중인 메시나 액터를 포함하는 레벨에 배치됩니다.

필터 세팅

필터(Filters) 섹션에서는 선택한 툴이 영향을 미치는 표면과 현재 활성화된 폴리지 타입을 제어할 수 있습니다. 또한 이 메뉴 섹션에는 새로운 폴리지 타입이 추가됩니다.

옵션

설명

랜드스케이프(Landscape)

선택한 폴리지 타입을 랜드스케이프에 배치할 수 있습니다.

스태틱 메시(Static Mesh)

선택한 폴리지 타입을 스태틱 메시에 배치할 수 있습니다.

BSP

선택한 폴리지 타입을 BSP 지오메트리에 배치할 수 있습니다.

폴리지(Foliage)

선택한 폴리지 타입을 다른 블로킹 폴리지 지오메트리에 배치할 수 있습니다.

반투명(Translucent)

선택한 폴리지 타입을 반투명 지오메트리에 배치할 수 있습니다.

메시 목록

폴리지로 사용되는 스태틱 메시와 액터 폴리지가 배치되는 영역입니다.

툴을 사용할 때 폴리지 타입 위에 마우스 포인터를 놓으면 해당 폴리지 타입을 활성화하거나 비활성화할 수 있는 체크박스가 표시됩니다.

하나 이상의 폴리지 타입을 클릭하면 메시 목록 영역 아래에 있는 폴리지 디테일(Foliage Details)에 관련 디테일이 표시됩니다.

폴리지 디테일(Foliage Details)

선택한 폴리지 타입의 디테일이 표시되는 영역입니다. 스태틱 메시 또는 액터 폴리지의 동작을 커스터마이징할 수 있는 다양한 프로퍼티가 포함되어 있습니다.

메시 목록에 폴리지 타입을 추가하는 방법에 대한 자세한 내용은 랜드스케이프 액터에 폴리지 추가를 참고하세요.

컬링 세팅

폴리지 인스턴스는 한 번의 드로 콜을 통해 클러스터로 렌더링되며, 각 클러스터의 렌더링 여부는 오클루전에 따라 결정됩니다. 폴리지 디테일의 컬 디스턴스 끝(End Cull Distance) 파라미터에 값을 설정하면 지정 거리 너머에 있는 클러스터도 컬링됩니다. 하지만 전체 클러스터가 범위를 벗어나면 메시 그룹이 갑자기 사라집니다.

컬 디스턴스 시작(Start Cull Distance) 파라미터를 추가한 다음 머티리얼을 알맞게 설정하면 이러한 현상을 줄일 수 있습니다. 버텍스 셰이더에서는 1.0(시작 거리)에서 0.0(끝 거리)으로 이동하면서 인스턴스별 페이딩 인수가 계산됩니다. 이 값은 머티리얼에서 PerInstanceFadeAmount 노드를 사용하여 확인할 수 있습니다. 이 값을 오파시티 값 또는 마스킹 값에 연결하면 인스턴스가 컬 디스턴스 끝(Cull Distance End) 에 도달하여 렌더링에서 제거되기 전까지 거리에 따라 서서히 사라지게 만들 수 있습니다. 페이드 멀티플라이어(FadeMultiplier) 파라미터의 값을 낮추면 페이드 속도가 빨라집니다. 값을 0으로 설정하면 어떤 거리에서도 폴리지가 보이지 않게 됩니다.

머티리얼 마스크에 페이딩 인수를 곱한 아래의 예시 머티리얼에서는 폴리지 메시의 잎이 완전히 사라질 때까지 점차 엷어집니다.

나나이트가 활성화된 메시는 컬링 거리와 인스턴스 페이딩의 영향을 받지 않습니다.

LOD 세팅

스태틱 메시 LOD는 폴리지에 지원되지만 몇 가지 유의해야 할 사항이 있습니다.

  • LOD0 아래에 보이는 요소 배열에 스태틱 메시 항목이 하나만 있어야 합니다.

  • 모든 LOD 레벨에서 라이트 및 섀도 맵이 동일하므로 전체 LOD에 똑같은 언랩을 사용해야 합니다.

  • 현재는 인스턴스의 클러스터 전부가 LOD를 동시에 변경합니다. 향후에 인스턴스별 거리 기준 페이딩도 지원할 예정입니다.

라이팅

섀도 및 라이트 맵은 각 인스턴스에 필요할 때마다 라이트매스(Lightmass)에서 개별적으로 생성됩니다. 이렇게 생성된 맵은 프리컴퓨티드 배치별로 타일링됩니다. 스태틱 메시에는 프리컴퓨티드 라이팅이 인스턴스드 폴리지와 원활하게 작동하기 위해 확인해야 하는 몇 가지 세팅이 있습니다. 라이트매스는 인스턴스드 메시용 섀도 맵을 생성할 때 비교적 엄격한 기준을 적용합니다. 따라서 세팅이 잘못된 경우 라이팅을 리빌드했을 때 검은색 메시가 생성될 수 있습니다.

  • 라이트 맵 좌표 인덱스(Light Map Coordinate Index): 이 세팅은 고유한 UV 언랩이 있는 유효한 UV 채널로 설정해야 합니다. 스태틱 메시 에디터의 창(Windows) 메뉴에 있는 고유 UV 생성(Generate Unique UVs) 기능을 사용하면 고유한 언랩을 빠르게 생성할 수 있습니다.

  • 라이트 맵 해상도(Lightmap Resolution): 디폴트값이 100인 이 세팅은 지나치게 크게 설정하지 않아야 합니다. 그래야 최대 텍스처 해상도(4094x4096)를 초과하지 않으면서 단일 클러스터에 속한 모든 인스턴트용 섀도 맵을 타일링할 수 있기 때문입니다.

폴리지 엔진 퀄리티

폴리지 스태틱 메시는 엔진 퀄리티 시스템(Scalability System)을 사용하여 현재 화면에 렌더링되는 폴리지 인스턴스 수를 조절할 수 있습니다.

프로젝트에서 이 기능을 사용하는 방법은 다음과 같습니다.

  1. 폴리지 메시 목록(Foliage Mesh List) 으로 이동하여 폴리지 타입 을 선택합니다.

  2. 폴리지 디테일(Foliage Details) 에서 엔진 퀄리티(Scalability) 섹션을 찾습니다.

  3. 밀집도 스케일링 활성화(Enable Density Scaling) 체크박스를 선택합니다.

이제 foliage.DensityScale 명령을 사용하여 런타임 중 렌더링되는 폴리지의 밀도를 조절할 수 있습니다.

아래에서 볼 수 있듯이 foliage.DensityScale 세팅을 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0으로 설정하면 폴리지의 밀도가 변경됩니다.

슬라이더를 드래그하여 foliage.DensityScale 세팅을 0.1에서 1.0으로 조정합니다.

월드 파티션에 폴리지 사용하기

월드 파티션(World Partition) 맵에서 폴리지 인스턴스의 디폴트 그리드 크기는 256m입니다. 이 값은 월드 파티션의 그리드 크기와는 별개입니다.

새 맵에 적용할 인스턴스드 폴리지 그리드의 디폴트 크기를 변경하는 방법은 다음과 같습니다.

  1. 편집(Edit) 메뉴를 열고 프로젝트 세팅(Project Settings) 옵션을 선택하여 프로젝트 세팅을 엽니다.

  2. 검색창에서 폴리지(Foliage) 를 검색합니다.

  3. 인스턴스드 폴리지 그리드 크기(Instanced Foliage Grid Size) 값을 원하는 값(센티미터 단위)으로 변경합니다. 위의 예시에서 25,600cm는 256m와 같습니다.

기존 맵의 디폴트 그리드 크기는 월드 파티션 빌더 커맨드릿(World Partition Builder Commandlet) 을 사용하여 변경할 수 있습니다.

폴리지 인스턴스의 디폴트 그리드 크기를 변경하는 방법은 다음과 같습니다.

  1. Windows에서 명령 프롬프트 창을 엽니다.

  2. 먼저 프롬프트에서 UnrealEditor.exe 실행파일의 위치로 이동합니다. 위의 예시에서는 c:\Builds\Home_UE5_Engine\Engine\Binaries\Win64 입니다.

  1. 다음으로 커맨드릿을 실행할 .exe 파일의 이름인 UnrealEditor.exe 로 명령어 작성을 시작하세요.

  2. 프로젝트 이름을 추가합니다. 이 예시에서는 QAGame 입니다.

  3. 타깃 맵의 이름을 추가합니다.

  4. 커맨드릿 이름과 다음 실행인자를 명령어 맨 뒤에 입력하여 명령줄을 마무리합니다.

    • -run=WorldPartitionBuilderCommandlet 은 커맨드릿 이름입니다.

    • -Builder=WorldPartitionFoliageBuilder 는 커맨드릿 안의 빌더 이름입니다.

    • -NewGridSize 는 인스턴스드 폴리지 그리드의 새로운 값(센티미터 단위)입니다. 이 예시에서 값 51,200은 512m와 같습니다.

  5. Enter 키를 누르면 커맨드릿이 지정 맵의 폴리지 인스턴스 그리드 세팅을 변경합니다.

랜드스케이프에 폴리지 추가하기

하나 이상의 폴리지 타입을 랜드스케이프 액터에 직접 페인팅하면 야외 환경에 디테일을 빠르게 추가할 수 있습니다.

  1. 레벨에 아직 랜드스케이프 액터가 없는 경우 새 랜드스케이프 액터부터 생성합니다. 약간의 대비 효과를 주려면 언덕을 스컬프팅합니다. 랜드스케이프 액터를 생성하고 사용하는 방법에 대한 자세한 내용은 랜드스케이프 퀵스타트 가이드를 참고하세요.

  2. 모드(Modes) 드롭다운을 열고 폴리지(Foliage) 모드를 선택합니다. 또는 단축키 Shift + 3 을 사용해도 됩니다.

  3. 콘텐츠 드로어(Content Drawer) 에서 이 스태틱 메시 큐브(Static Mesh Cube) 와 같이 폴리지 타입으로 사용할 스태틱 메시의 위치로 이동합니다. 콘텐츠 드로어(Content Drawer) 에서 스태틱 메시(Static Mesh) 를 클릭하여 폴리지(Foliage) 패널에 있는 메시 목록(Mesh List) 으로 드래그합니다.

  4. 페인트(Paint) 툴을 선택합니다. 브러시 옵션(Brush Options) 에서 브러시 크기(Brush Size)128 로 변경합니다. 페인트 밀도(Paint Density)0.3 으로 조정합니다.

  5. 메시 목록(Mesh List) 에서 스태틱 메시(Static Mesh) 를 선택합니다. 폴리지 디테일(Foliage Details)페인팅(Painting) 섹션에서 반경(Radius) 값을 100 으로 변경합니다. 이 예시처럼 해야 랜드스케이프에 페인팅할 큐브 인스턴스가 겹치지 않습니다.

  6. 다음으로 X 스케일(Scale X)최소(Min) 값을 0.4 로 조정하고, 최대(Max) 값을 0.8 로 조정합니다. 이렇게 하면 폴리지를 페인팅할 때 다양한 크기로 생성됩니다.

  7. 뷰포트에서 좌클릭 한 채로 랜드스케이프 에 폴리지를 페인팅합니다.

폴리지 인스턴스 다시 붙이기

상황에 따라 폴리지 인스턴스가 베이스 컴포넌트에서 분리될 수도 있습니다. 예를 들어 폴리지 배치는 괜찮은데 베이스 랜드스케이프는 변경해야 하는 경우가 있습니다.

폴리지를 기본 컴포넌트에 다시 붙이는 방법은 다음과 같습니다.

  1. 폴리지 모드에서 다시 붙이고 싶은 폴리지 인스턴스를 선택합니다.

  2. 뷰포트에서 선택한 인스턴스를 타깃 컴포넌트 위로 이동합니다.

  3. End 를 눌러 폴리지를 지면에 스냅합니다. 그러면 폴리지 인스턴스 부모가 타깃 컴포넌트로 변경됩니다. 또한 원래 노멀에 정렬(Align to Normal) 옵션을 사용하여 폴리지를 배치한 경우 컴포넌트의 노멀을 기준으로 폴리지가 컴포넌트에 정렬됩니다. 이 세팅은 해당 폴리지 타입의 디테일(Details)에 있는 배치(Placement) 섹션에서 찾을 수 있습니다.