프로시저럴 베지테이션 에디터(Procedural Vegetation Editor, PVE)는 언리얼 엔진에 통합된 강력한 그래프 기반 툴입니다. 이를 통해 사용자는 엔진 환경 내에서 나나이트에 바로 사용할 수 있는 고퀄리티 식생 에셋을 직접 생성할 수 있습니다. 기존 방식과 달리 PVE는 실제 식물의 원리를 활용하여 호르몬 분포와 적응 반응을 기반으로 식물의 생성을 시뮬레이션합니다. 이 혁신적인 접근법을 통해 다양하고 사실적인 식생을 생성할 수 있습니다.
프로시저럴 베지테이션 에디터를 사용하려면 메뉴 바에서 편집(Edit) > 플러그인(Plugins) > 프로시저럴 베지테이션 에디터(실험 단계)(Procedural Vegetation Editor (Experimental))로 이동하여 플러그인을 활성화해야 합니다. PCG 및 다이내믹 윈드(Dynamic Wind) 플러그인도 설치되어 있는지 확인해야 합니다.
PVE로 다음과 같은 기능을 사용하여 프로젝트에서 나나이트 지원 식생을 빌드할 수 있습니다.
나나이트 지원 식생 생성: 언리얼 엔진의 나나이트 가상화된 지오메트리 시스템을 활용하여 고도로 최적화된 식생 에셋을 생성함으로써 매우 디테일한 씬을 높은 퍼포먼스로 구현합니다.
실제 식물의 원리를 적용합니다. 자연스러운 성장 패턴을 모방하는 식생을 제작하여 한층 사실적이고 그럴 듯한 결과를 만듭니다.
베리에이션 커스터마이징 및 생성: 노드 그래프를 사용하여 기존 식생 프리셋을 수정하거나 완전히 새로운 종을 디자인하여 프로젝트의 특정 요구 사항과 예술적 비전에 맞출 수 있습니다.
식생 생성 간소화: 복잡한 식생을 생성할 때 수반되는 수작업을 최소화하여 반복작업과 프로덕션을 더 빠르게 수행합니다.
PVE 프리셋
프로시저럴 베지테이션 에디터는 특정 식생을 빌드하는 데이터가 포함된 메가플랜트(Megaplants)라는 프리셋 에셋을 사용합니다. 이러한 프리셋 에셋에는 스켈레탈 메시, 머티리얼 및 텍스처가 포함되어 있으며, 프로젝트에서 사실적인 식생을 연출할 수 있도록 다양한 베리에이션을 위한 나나이트 폴리지를 지원합니다. PVE 그래프로 여러 프리셋 에셋을 결합하여 프로젝트에서 복잡하고 흥미로운 폴리지를 제작할 수 있습니다. PVE 그래프 에디터로 이러한 프리셋 에셋을 수정하여 프로젝트의 목표를 달성할 수도 있습니다.
팹에서 다양한 프리셋 에셋을 탐색할 수 있습니다.
주요 지원 워크플로
현재 PVE는 다음과 같은 주요 워크플로를 지원합니다.
프리셋의 사전 빌드된 베리에이션을 그대로 즉시 사용할 수 있습니다.
프리셋의 사전 빌드된 베리에이션을 커스터마이징하거나 제공된 컴포넌트를 재사용하여 새 베리에이션을 생성합니다.
커스텀 폴리지 및 머티리얼을 사용하여 종의 기본적인 측면을 유지하면서 룩 앤 필을 변경합니다.
PVE 출력을 사용하여 직접 배치하거나 PCG로 씬을 채웁니다.
PVE의 초기 버전은 사용자가 항상 일부 프리셋으로 시작할 수 있도록 프로시저럴 식생 생성을 위한 견고한 기반을 제공하는 데 초점을 맞춥니다. 사용자가 처음부터 식생을 성장시킬 수 있도록 전체 기능이 확장될 예정이지만, 현재 핵심 기능은 다음과 같습니다.
프로시저럴 베지테이션 프리셋 로드:
설명: 이 기능을 사용하면 특정 식물 종에 대해 사전 빌드된 데이터를 로드할 수 있습니다. 이러한 프리셋에는 특정 식생 종을 정의하는 기본 정보와 성장 파라미터가 포함되어 있습니다.
기능: 사용자에게 빠른 시작점을 제공하며, 베리에이션을 생성하기 위해 추가로 커스터마이징할 수 있는 다양한 식생 종의 인스턴스 라이브러리를 제공합니다. 따라서 모든 식물을 처음부터 제작하지 않아도 됩니다.
노드 그래프를 사용한 베리에이션 커스터마이징/생성:
설명: PVE는 언리얼 엔진의 다른 비주얼 스크립팅 툴과 유사한 노드 기반 인터페이스를 활용합니다. 이 그래프를 통해 사용자는 사전 빌드된 노드로 식생의 성장, 형태 및 외형을 제어하는 파라미터를 조작하고 정의할 수 있습니다.
기능: 다양한 노드를 연결하여 다음을 수행할 수 있습니다.
호르몬 시뮬레이션 및 적응형 성장과 관련된 파라미터를 조정합니다.
랜덤성 또는 특정 조건을 도입하여 가지, 잎 분포 및 전체 식물 구조에 영향을 미칩니다.
식생의 머티리얼 프로퍼티, 텍스처 적용 및 기타 시각적 측면을 제어합니다.
로드된 프리셋의 고유한 베리에이션을 생성하거나 완전히 새로운 식물 형태를 구성하여 원하는 요구 사항에 정확하게 맞게 식물을 구성할 수 있습니다.
PVE 노드
이 문서의 다음 섹션은 프로젝트에서 폴리지를 생성하기 위해 그래프를 구성할 때 사용되는 PVE 노드에 대한 레퍼런스로 사용할 수 있습니다. 각 섹션에서는 노드별 개요와 사용 사례를 알아보고, 각 노드의 프로퍼티와 관련 옵션을 자세히 살펴봅니다.
프로시저럴 베지테이션 프리셋 로더
프리셋 로더(Preset Loader)는 PVE의 시작점입니다. 미리 만들어진 식물 프리셋 을 로드하므로 나무나 관목을 처음부터 새로 만들 필요가 없습니다. 베이스 레시피를 선택하는 것과 같다고 생각하면 됩니다. 로드하면 수정하고, 커스터마이징하고, 독특한 레시피로 성장시킬 수 있습니다.
기능
프리셋 식물 종(예: 참나무, 소나무, 관목)을 로드합니다.
각 프리셋에는 다음이 포함되어 있습니다.
식물의 주요 구조(줄기 및 가지)
성장 규칙(빛/중력에 반응하거나 확장되는 방식)
가지 데이터(작은 가지가 어태치되는 위치)
폴리지 메시(활엽 또는 침엽의 모양)
머티리얼(나무 껍질, 잎 등의 텍스처)
사용 시점
퀵스타트: 전체 식물 모델을 즉시 로드하여 실험을 시작할 수 있습니다.
커스터마이제이션: 프리셋을 베이스로 사용하고 노드를 추가하여 모양, 크기 또는 폴리지를 변경할 수 있습니다.
초보자를 위한 전문가 팁
프리셋으로 시작하여 스케일이나 폴리지 변경 등 작은 변경사항을 적용하면 결과를 빠르게 확인할 수 있습니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | 프리셋 |
변수 | 프리셋 |
기능 | 미리 만들어진 식물 프리셋을 로드합니다. |
자세한 가이드 | 각 프리셋에는 종에 대한 모든 정보(줄기, 가지, 잎, 머티리얼, 성장 규칙)가 포함되어 있습니다. 커스터마이징할 시작점으로 삼을 수 있습니다. |
Carve
Carve 노드는 식물에 가지치기 가위나 톱을 사용하는 것과 같습니다. 이 노드를 사용하면 설정한 규칙에 따라 식생 구조의 일부를 잘라내어 식생의 최종 모양과 크기를 제어할 수 있습니다.
기능 아래에서 해당 폴더를 찾을 수 있습니다.
다양한 치수를 기반으로 줄기의 가지 또는 일부를 '조각'(제거)할 수 있습니다.
LengthFromRoot: 줄기 베이스에서 얼마나 멀리 떨어져 있는지에 따라 가지를 자릅니다.
예: 식물의 상단에서 가지를 제거합니다. 값이 0이면 가지가 제거되지 않지만, 값이 1이면 모든 가지가 제거되어 식물의 줄기만 남습니다.
From Bottom: 식물 맨 아래에서부터의 높이를 기준으로 잘라냅니다.
예: 'LengthFromRoot'와 유사하지만, 'From Bottom'은 식물의 기저에서부터 시작하여 반대 방향으로 가지를 트리밍합니다. 'From Bottom'은 먼저 줄기를 줄인 다음 가장 낮은 가지를 제거합니다.
ZPosition: 월드 높이(언리얼 엔진의 Z축)를 기준으로 잘라냅니다.
예: 레벨의 특정 높이로 식물을 슬라이스합니다.
Radius: 가지의 두께에 따라 가지를 제거합니다.
예: 가장 두꺼운 가지만 남기거나 작은 가지를 잘라냅니다.
사용 시점
셰이프 제어: 나무를 더 깔끔한 실루엣으로 다듬습니다.
게임플레이 요구 사항: 비저빌리티 또는 플레이어의 움직임을 위해 나무 밑을 정리합니다.
스타일라이제이션: 특정 부분을 잘라서 스타일리시하거나 판타지풍의 식물 형태를 만듭니다.
최적화: 배경 식생의 미세한 디테일(얇은 나뭇가지, 낮은 가지)을 제거합니다.
초보자를 위한 전문가 팁
줄기 하단을 빠르게 정리하려면 From Bottom을 사용합니다.
Radius를 사용하여 식물을 단순화하고 주요 구조는 유지하되 작고 지저분한 부분은 제거합니다.
과도하게 조각하는 것은 피합니다. 과감한 컷보다 약간의 미묘한 트림이 더 자연스러운 경우가 많습니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Carve |
변수 | CarveBasis |
유효한 값 | LengthFromRoot, From Bottom, ZPosition, Radius |
기능 | 트리밍 룰을 설정합니다. |
자세한 가이드 | LengthFromRoot: 줄기 기저에서 얼마나 멀리 떨어져 있는지에 따라 가지를 자릅니다. From Bottom: 식물 맨 아래에서부터의 높이를 기준으로 트리밍합니다. ZPosition: 특정 월드 높이에서 트리밍합니다. 반지름: 가지 두께에 따라 트리밍합니다. 퍼포먼스를 위해 낮은 가지나 얇은 나뭇가지를 정리하는 데 사용합니다. |
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Carve |
변수 | Carve |
유효한 값 | 0.0~1.0 |
기능 | 얼마나 많은 트리밍이 발생하는지 제어합니다. |
자세한 가이드 | 자세한 가이드 0 = 트리밍이 매우 적음, 1 = 적극적으로 트리밍함 자연스러운 결과를 얻으려면 낮은 값으로 시작하세요. |
중력
Gravity 노드를 사용하면 식물이 자연의 힘에 반응하게 됩니다. 예를 들어 실제 가지가 자체 무게로 인해 구부러지거나 햇빛을 향해 위쪽으로 자라는 방식과 같습니다. 이를 통해 식생에 자연스러운 커브와 방향을 추가하여 생생하고 사실적인 느낌을 줄 수 있습니다.
기능
중력 모드
중력(Gravity): 가지가 자체 무게로 인해 아래로 구부러집니다.
세기 컨트롤(Strength Controls)
가지가 구부러지는 정도를 결정합니다.
세기가 낮으면 커브가 완만합니다.
세기가 높으면 벤딩이 뚜렷해집니다.
방향 벡터(Direction Vector)
커스텀 방향을 따라 식물을 벤딩하도록 수정합니다.
예: 일반적으로 월드 아래쪽(World Down)로 설정하지만, 커스텀 방향을 설정할 수도 있습니다(기울어진 식물이나 스타일리시한 성장에 유용함).
각도 보정 및 바이어스(Angle Correction & Bias)
가지가 원래 각도를 유지하면서 균형을 맞추는 방식을 미세조정합니다.
사용 시점
사실성: 나무 자체의 무게나 외부 힘에 의해 자연스럽게 처지게 합니다.
스타일라이제이션: 과장된 커브로 식물에 판타지 또는 외계 느낌을 줍니다.
환경 스토리텔링:
중력의 무거움: 나이가 많고 무거운 나무의 가지가 더 많이 처집니다.
초보자를 위한 전문가 팁
억지스럽지 않게 사실성을 살리려면 낮은 세기로 시작합니다. 벤딩이 지나치면 부자연스러워 보일 수 있습니다.
다채로움과 자연스러운 다양성을 위해 동일한 씬에서 두 모드를 혼합합니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | 중력 |
변수 | Mode |
유효한 값 | 중력 |
기능 | 벤딩 스타일을 선택합니다. |
자세한 가이드 | 중력: 가지가 자체 무게로 인해 아래로 구부러집니다. 중력 = 무겁고 오래된 나무 |
| 카테고리 | 설명 |
|---|---|
변수 그룹 | 중력 |
변수 | 중력 |
유효한 값 | 0.0~1.0 |
기능 | 벤딩의 세기입니다. |
자세한 가이드 | 낮음 = 미세한 커브, 높음 = 급격한 벤딩 사실성을 높이려면 낮게, 판타지풍의 느낌을 얻으려면 높게 설정합니다. |
| 카테고리 | 설명 |
|---|---|
변수 그룹 | 중력 |
변수 | Direction |
유효한 값 | Vector3(예: 월드 아래쪽, 커스텀 벡터) |
기능 | 벤딩 방향을 설정합니다. |
자세한 가이드 | 일반적으로는 월드 아래쪽이지만, 커스텀 벡터를 사용하면 옆으로 성장하게 하거나 스타일리시한 느낌을 적용할 수 있습니다. |
| 카테고리 | 설명 |
|---|---|
변수 그룹 | 중력 |
변수 | AngleCorrection |
유효한 값 | 0.0~1.0 |
기능 | 원본 가지 각도를 보존합니다. |
자세한 가이드 | 자연스러운 각도와 새 커브를 블렌딩하여 과도한 벤딩을 방지합니다. |
Scale
Scale 노드는 식물의 부분 크기를 제어합니다. 식생의 크기를 조절하는 툴이라고 생각하면 됩니다. 이 툴을 사용하면 줄기를 더 두껍게 만들거나, 가지를 더 길게 만들거나, 잎을 더 크게 또는 더 작게 만들 수 있습니다.
기능
전체 식물 메시의 스케일을 조절합니다.
사용 시점
빠른 조정: 프리셋 나무를 씬에 더 잘 맞도록 높게, 넓게 또는 작게 만듭니다.
베리에이션: 나무가 모두 똑같아 보이지 않도록 여러 식물 식생을 서로 다르게 스케일 조절하여 생성합니다.
초보자를 위한 전문가 팁
작은 변화(예: 10~20% 스케일 차이)로 동일한 식물의 사실적인 베리에이션을 빠르게 만들 수 있습니다.
숲의 경우, 동일한 나무의 스케일 업 버전과 스케일 다운 버전을 혼합하여 반복되지 않도록 합니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Scale |
변수 | Scale |
기능 | 식물의 크기를 변경합니다. |
자세한 가이드 | 줄기, 가지 또는 잎을 크거나 작게 스케일 조절합니다. 크기 조정 툴처럼 작동합니다. 약간의 변화(10~20%)로 자연스러운 베리에이션을 추가합니다. |
Remove Branches
Remove Branches 노드를 사용하면 어떤 가지를 남길지, 어떤 가지를 잘라낼지 제어할 수 있습니다. 식물의 전반적인 외관을 형성하거나 퍼포먼스를 위해 단순화하는 데 도움이 되는 디지털 가지치기 툴과 같습니다.
기능
다양한 규칙에 따라 가지를 제거할 수 있습니다.
길이(Length): 너무 짧거나 너무 긴 가지를 잘라냅니다.
반경(Radius): 필요에 따라 가늘거나 두꺼운 가지를 제거합니다.
라이트(Light): 햇빛이 충분히 들어오지 않는 가지를 제거합니다(자연스러운 성장을 모방하는 데 도움이 됨).
나이(Age): 오래된 가지를 정리할 수 있습니다.
생성(Generation): 얼마나 많은 가지 뻗기 '레벨'을 남길지 결정합니다(예: 줄기만 또는 줄기 + 가지 레이어 2개).
사용 시점
예술적 제어: 식물의 실루엣을 더 풍성하거나, 더 듬성듬성하거나, 더 스타일리시하게 만듭니다.
퍼포먼스: 배경 나무의 불필요한 작은 가지를 줄입니다.
사실성: 나무에서 낮은 부분의 가지나 그늘진 부분의 가지가 없어지는 방식을 모방합니다.
초보자를 위한 전문가 팁
간단하게 시작하기: 먼저 길이 또는 생성을 조정합니다. 시각적으로 가장 쉽게 이해할 수 있습니다.
더 사실적인 느낌의 나무를 원하면 라이트 기반 제거를 사용합니다(예: 낮은 부분의 가지가 적은 숲 나무).
대규모 환경에서는 제거를 사용하여 멀리 있는 식생을 더 가볍고 빠르게 렌더링할 수 있습니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Remove Branches |
변수 | BranchRemoveBasis |
기능 | 가지치기 규칙을 설정합니다. |
자세한 가이드 | 가지는 길이, 두께, 수명, 생성 또는 빛 노출에 따라 제거될 수 있습니다. 이렇게 하면 자연스러운 가지치기를 모방하거나 식물을 단순화할 수 있습니다. 사실적인 숲 나무를 만들려면 라이트 기반 제거를 사용합니다(그늘진 가지가 적음). |
Mesh Builder
Mesh Builder 노드는 식물 디자인을 언리얼에서 보고, 사용하고, 익스포트할 수 있는 실제 3D 모델로 변환하는 노드입니다. 이전 노드에서 구성한 모든 것이 여기에 모여 실제 메시를 구성합니다.
기능
그래프에서 정의한 구조체에서 식물의3D 메시를 생성합니다.
메시에 머티리얼을 적용합니다(텍스처, 컬러, 표면 디테일).
껍질의 혹이나 잎맥 등 추가적인 표면 베리에이션이 필요한 경우 디스플레이스먼트로 디테일을 추가합니다.
기본적으로 로드한 프리셋의 머티리얼을 사용하지만, 다른 룩을 원하는 경우 커스텀 머티리얼로 교체할 수 있습니다.
세팅 그룹
머티리얼(Material) - 식물에서 사용할 텍스처와 표면을 선택하거나 변경합니다.
예: 나무 껍질 머티리얼을 이끼 낀 머티리얼로 대체합니다.
메시(Mesh) - 메시가 생성되는 방식(전체 셰이프, 해상도, 퀄리티)을 조정합니다.
예: 주요 식물의 경우 퀄리티가 높고 배경의 경우 퀄리티가 낮습니다.
디스플레이스먼트(Displacement) - 메시 표면을 밀거나 당겨 미세한 표면 디테일을 추가합니다.
예: 슈퍼 하이 폴리곤 모델 없이 나무 껍질 러프니스를 추가합니다.
사용 시점
Mesh Builder는 식물을 실제 3D로 확인하기 위한 필수 단계 입니다.
식물을 돋보이게 하고 싶다면 머티리얼을 커스터마이징합니다(다양한 나무 껍질, 잎 컬러, 계절별 모습).
작은 디테일이 눈에 띄는 클로즈업된 식물에는 디스플레이스먼트를 사용합니다.
초보자를 위한 전문가 팁
Mesh Builder는 최종 베이크라고 생각하면 됩니다. 식물의 구조(레시피)를 가져와 완성된 요리(모델)로 바꿔줍니다.
처음에는 세팅을 단순하게 유지합니다. 프리셋 머티리얼만 사용하면 됩니다.
익숙해지면 커스텀 머티리얼과 디스플레이스먼트를 실험해 보면서 보다 예술적으로 제어할 수 있습니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Mesh Builder |
변수 | 머티리얼: 텍스처/머티리얼을 선택하거나 대체합니다(예: 나무 껍질, 잎 표면). 메시: 식물의 구조를 3D 메시로 변환하는 방식을 정의합니다. 디스플레이스먼트: 나무 껍질 혹이나 잎맥 같은 표면 디테일을 추가합니다. |
기능 | 식물을 실제 3D 모델로 바꿉니다. |
자세한 가이드 | 노드로 빌드된 구조체를 가져와 머티리얼이 적용된 메시를 생성합니다. 디스플레이스먼트는 폴리곤 수를 늘리지 않고 사실성을 더합니다. 처음에는 디폴트 머티리얼을 사용합니다. 나중에 고유성을 위해 커스텀 머티리얼을 추가할 수도 있습니다. |
Foliage Palette
Foliage Palette 노드는 잎과 가지의 라이브러리 역할을 합니다. 식물에 어떤 폴리지 타입(활엽, 침엽, 꽃 등)이 사용되고 있는지 보여주며, 다른 모습을 원할 경우 교체할 수 있습니다.
기능
폴리지 메시 시각화: 식물에 어태치된 다양한 잎이나 작은 메시를 볼 수 있습니다.
폴리지 메시 대체: 디폴트 잎을 자체 메시로 교체합니다(예: 참나무 잎을 단풍나무 잎으로 변경).
폴리지 메시 제거: 헐벗거나 단순화된 식물을 원하는 경우 특정 잎 타입을 제거합니다.
잎의 배치, 즉 잎이 나타나는 위치는 프리셋에서 가져오고 여기서 변경할 수 없습니다. 잎이 어떻게 보이는지만 변경할 수 있습니다.
사용 시점
커스터마이제이션: 전체 구조를 리빌드하지 않고도 식물의 외형을 빠르게 변경할 수 있습니다.
다양성: 동일한 프리셋에서 다른 잎 메시를 사용하여 동일한 나무 종의 여러 고유한 버전을 만듭니다.
최적화: 퍼포먼스를 위해 하이 폴리곤 폴리지 메시를 제거하고 단순한 메시로 대체합니다.
초보자를 위한 전문가 팁
먼저 잎 메시만 교체하여 베리에이션을 만듭니다. 숲을 보다 다양하고 빠르게 만들 수 있습니다.
환경이 자연스럽고 반복적으로 느껴지지 않게 하려면 구조는 같지만 폴리지 메시가 다른 나무 몇 개를 생성합니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Foliage Palette |
기능 | 폴리지 메시를 확인하고 변경할 수 있습니다. |
자세한 가이드 | 활엽이나 침엽을 자체 메시로 교체하거나 완전히 제거할 수 있습니다. 배치는 프리셋에 의해 제어되며 여기서 변경할 수 없습니다. 참나무에서 단풍나무로 잎의 종류를 바꿔가며 빠르게 베리에이션을 만들어 봅니다. |
Foliage Distributor
Foliage Distributor 노드는 식물 전체에 잎과 작은 가지가 분포되는 방식을 제어합니다. 필요에 따라 식물을 빽빽하고 덤불처럼 만들거나 듬성듬성하고 가지치기된 모습으로 만들 수 있습니다.
기능
식물에 남아 있는 새싹, 잎, 작은 가지의 수를 조정합니다.
식물의 나이에 따라 잎이 떨어지게 하는 식물 성장 호르몬인 에틸렌이라는 콘셉트를 사용합니다.
에틸렌 한계치를 설정하여 식물이 이 프로세스에 얼마나 민감하게 반응하는지 결정할 수 있습니다.
주요 세팅
에틸렌 한계치(Ethylene Threshold): 식물이 얼마나 '채워져' 보이는지 조절하는 슬라이더라고 생각하면 됩니다.
한계치가 높으면 더 많은 잎과 가지가 유지되어 식물이 빽빽하고 무성해 보입니다.
한계치가 낮으면 더 많은 잎과 가지가 떨어져서 식물이 듬성듬성하고 가지치기를 한 것처럼 보입니다.
사용 시점
빽빽한 외형: 정글, 울창한 숲 또는 무성한 식물에 사용합니다.
듬성듬성한 외형: 더 적은 잎이 필요한 가을 풍경, 건조한 기후 또는 스타일리시/최적화된 식물에 사용합니다.
초보자를 위한 전문가 팁
어디서부터 시작해야 할지 모르는 경우에는 다음 지침을 따릅니다.
생생하고 건강한 식물에는 더 높은 한계치를 설정합니다.
한계치를 서서히 낮추면 자연스러운 베리에이션이 생성됩니다(예: 숲속의 일부 나무가 더 오래됐거나 건조해 보이는 현상).
하나의 씬에서 두 가지를 혼합하면 환경이 더 자연스럽고 사실적으로 느껴집니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Foliage Distributor |
변수 | EthileThreshold |
유효한 값 | 조정 가능한 슬라이더(0.0~1.0) |
기능 | 식물의 밀도를 제어합니다. |
자세한 가이드 | 잎이 떨어지게 하는 식물 호르몬인 에틸렌을 기반으로 합니다. 높은 한계치: 밀도가 높고 빽빽합니다. 낮은 한계치: 듬성듬성하고 가지가 적습니다. |
Bone Reduction
Bone Reduction 노드는 식물의 스켈레톤을 더 단순하게 만드는 데 도움이 됩니다. PVE에서 식물을 스켈레탈 메시로 익스포트하면 가지와 잎이 바람에 흔들리는 등 움직일 수 있도록 시스템이 본을 생성합니다.
경우에 따라 이러한 스켈레톤에 본이 너무 많아 게임이나 대규모 씬에서 퍼포먼스가 저하될 수 있습니다. Bone Reduction 노드를 사용하면 본 수를 줄여 작업 속도를 높일 수 있습니다.
기능
본 수를 줄여 높은 퍼포먼스를 유지합니다.
식물이 처리 퍼포먼스를 너무 많이 소모하지 않도록 애니메이션을 단순화합니다.
단점: 본이 적을수록 바람의 움직임에서 사실성이 떨어집니다.
사용 시점
다음을 생성하는 경우 Bone Reduction을 사용합니다.
대규모 숲 또는 수백, 수천 그루의 식물이 있는 씬(속도가 중요한 경우).
바람의 미세한 디테일이 중요하지 않은 배경 식물
다음과 같은 경우에는 Bone Reduction을 너무 많이 사용하는 것을 피합니다.
식물이 플레이어 또는 카메라에 가까이 있는 경우
히어로 에셋인 경우(컷씬 또는 게임플레이 시 중요한 나무/식물).
초보자를 위한 전문가 팁
디폴트 본으로 시작하고 씬이 느리게 실행되기 시작하면 Bone Reduction을 사용합니다. 퍼포먼스를 위해 무브먼트의 '디테일'을 낮추는 것과 같다고 생각하면 됩니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | Bone Reduction |
변수 | Bone Reduction |
기능 | 식물의 스켈레톤을 단순화합니다. |
자세한 가이드 | 스켈레탈 메시의 본 수를 줄입니다. 본이 적을수록 퍼포먼스는 좋아지지만 바람 애니메이션의 정확도는 떨어집니다. 속도를 높이기 위해 배경 식물에 사용하고 클로즈업된 식물에서는 디테일을 유지합니다. |
Output
Output 노드는 프로시저럴 베지테이션 그래프에서 빌드한 모든 것을 언리얼 엔진에서 사용 가능한 에셋으로 변환할 수 있습니다. 식물에 사용하는 익스포트 버튼이라고 생각하면 됩니다.
기능
Output 노드를 사용하면 프로젝트에서 사용하려는 방식에 따라 다양한 포맷으로 식물을 저장할 수 있습니다.
스태틱 메시(Static Mesh): 나나이트 또는 스켈레탈 데이터가 없는 표준 언리얼 메시입니다. 단순한 식물이나 높은 디테일이 필요하지 않은 경우에 적합합니다.
나나이트 폴리지가 적용된 스태틱 메시(Static Mesh with Nanite Foliage): 위와 같지만 언리얼 엔진의 가상화된 지오메트리 시스템인 나나이트로 최적화되어 있습니다. 매우 디테일한 식생을 뛰어난 퍼포먼스로 표현하는 데 적합합니다.
스켈레탈 메시(Skeletal Mesh): 스켈레톤(본)을 갖추고 있어 움직이거나 바람/피직스에 반응할 수 있는 메시입니다. 흔들거나 구부릴 수 있어야 하는 나무나 식물에 적합합니다.
나나이트 폴리지가 적용된 스켈레탈 메시(Skeletal Mesh with Nanite Foliage): 두 옵션의 장점을 모두 갖습니다. 디테일이 매우 뛰어나고 바람과 모션을 애니메이팅합니다.
폴리지에 본이 없는 경우, '스켈레탈 메시' 옵션을 선택하면 Output 노드가 자동으로 스켈레탈 데이터를 생성합니다.
각 옵션의 적합한 사용 사례
스태틱 메시: 애니메이션이 필요하지 않은 작은 식물, 관목 또는 배경 디테일에 적합합니다.
나나이트 스태틱 메시: 디테일이 중요한 숲, 정글 또는 클로즈업된 식물에 적합합니다.
스켈레탈 메시: 움직여야 하는 식생에 적합합니다.
나나이트 스켈레탈 메시: 사실성과 움직임이 모두 필요한 시네마틱 샷에서 디테일과 바람 애니메이션이 있는 울창한 숲에 적합합니다.
초보자를 위한 전문가 팁
이제 막 시작하는 경우에는 다음 지침을 참고합니다.
대부분의 경우 나나이트가 적용된 스태틱 메시를 사용합니다. 이 방법은 간단하고 보기에도 좋습니다.
작업에 익숙해지고 바람 인터랙션 같은 모션을 추가하려면 스켈레탈 메시 옵션을 사용하면 됩니다.
| 카테고리 | 설명 |
|---|---|
변수 그룹 | 출력 |
유효한 익스포트 옵션 |
|
기능 | 식물을 사용 가능한 메시로 익스포트합니다. |
자세한 가이드 |
대부분의 경우 나나이트 스태틱 메시를 사용하면 되고, 바람 애니메이션이 필요한 경우 스켈레탈 메시로 전환합니다. |
임포트 시 언리얼 엔진 콘텐츠
언리얼 엔진에 프리셋이 로드되면 다음과 같은 항목을 얻을 수 있습니다.
루트 폴더(Tree_European_QuakingAspen_01 등의 종 이름)
Instances(서브 폴더)
Materials(서브 폴더)
Textures(서브 폴더)
WindSettings(서브 폴더)
PVE 윈드 시뮬레이션 데이터 에셋
각 베리에이션별 나나이트 폴리지가 적용된 스켈레탈 메시
각 베리에이션별 스켈레톤
PVE 그래프 에디터 에셋
PVE 프리셋 데이터 에셋
전체 사용자 플로 예시
다음 중 하나를 통해 퀵셀 메가플랜트 프리셋 팩을 다운로드합니다(5.7 프리뷰에서는 사용 불가, 5.7 출시 버전 이후에서만 사용 가능).
팹 인 런처
팹 언리얼 엔진 플러그인
Fab.com
'Asset Zoo' 샘플 씬을 열어 다운로드 시 사전 빌드된 다양한 식생 베리에이션을 검토합니다.
사전 빌드된 스켈레탈 메시 베리에이션을 그대로 사용하여 스켈레탈 메시를 직접 배치하거나, 인스턴싱하거나, 복제하거나, PCG 볼륨에서 해당 베리에이션을 사용하여 스캐터링할 수 있습니다.
PVE 그래프 에디터 에셋을 더블클릭하여 각 베리에이션에 대한 노드 그래프를 확인합니다.
노드의 다양한 파라미터를 사용하여 베리에이션을 편집하거나 노드 그래프를 복제하여 새 베리에이션을 생성합니다.
익스포트하려는 베리에이션의 노드 그래프에서 Output 노드를 사용하여 익스포트하고 원하는 출력 메시 타입 중 하나를 선택합니다.
수동으로 배치하거나, 인스턴싱하거나, 복제하거나, PCG 볼륨에서 해당 베리에이션을 사용하여 스캐터링할 수 있습니다.
필수 플러그인
PVE
PCG
다이내믹 윈드
나나이트
프로젝트 세팅
나나이트 활성화 필요
나나이트 폴리지 활성화 필요
바람 애니메이션이 필요한 경우 PCG와 함께 사용
주요 식물학 콘셉트
프로젝트에서 PVE를 사용하여 식생을 생성할 때는 다음과 같은 몇 가지 핵심 용어를 숙지해야 합니다.
굴광성: 빛에 반응하여 식생이 성장하는 방향입니다. 이는 PVE에서 가지가 보다 사실적으로 성장하는 데 중요한 역할을 합니다.
호르몬:
에틸렌:
에틸렌은 식물의 호르몬으로 작용하며 씨의 발아, 뿌리 및 새싹의 신장, 개화, 과일의 숙성, 잎/꽃의 노화 등 다양한 성장 및 발생 과정에서 중요한 역할을 합니다. 농도와 종에 따라 성장을 촉진하거나 억제할 수 있습니다.
PVE에서는 식물의 성장과 새 잎/폴리지가 나타나는 위치 및 수를 제어하는 데 중요한 역할을 합니다.
가지 세대:
이 기능은 식물 구조 내 가지의 계층형 깊이를 지정합니다. 이는 가지가 줄기에서 얼마나 먼 거리에서 제거되는지를 결정하며, 다양한 구조적 수준에서 성장, 외형 및 행동을 제어하는 데 사용됩니다.
0세대: 몸통 또는 중심 줄기입니다.
1세대: 줄기에서 직접 나온 가지입니다.
2세대: 1세대에서 자란 하위 가지로, 2세대가 다시 1세대가 되어 여기에서 2세대가 자라게 됩니다.
머티리얼과 같은 일부 세팅을 세대에 따라 다르게 구성할 수 있습니다.
잎겨드랑이 각도:
흔히 삽입각이라고도 하는 잎겨드랑이 각도는 잎, 꽃자루, 곁가지 같은 곁기관과 해당 부모 축(기관이 발생한 줄기/가지) 사이의 각도를 말합니다.
0° ≈ 부모 축과 평행(부모 축을 따름)
90° ≈ 직각(수직으로 튀어나옴)
>90° ≈ 똑바로 선 부모를 기준으로 지면을 향해 처짐
이 각도는 빛 포착, 비/눈의 떨어짐, 전반적인 식물 아키텍처에 영향을 미칩니다. 이는 종, 기관 타입, 나이, 환경에 따라 다릅니다.