포트나이트 언리얼 에디터(Unreal Editor for Fortnite, UEFN) 의 모델링 툴을 사용하여 에셋을 제작하거나, 구매한 에셋을 UEFN으로 임포트하거나, Blender 등의 다른 모델링 툴에서 에셋을 제작할 경우 에셋의 스케일, 치수, 머티리얼 및 다른 프로퍼티를 염두에 두어야 합니다. 또한 포트나이트가 실행될 디바이스의 한계를 고려하는 것도 중요합니다. 예를 들어 모바일 디바이스와 Nintendo Switch용 에셋의 사양은 PC나 Playstation 5 콘솔용 에셋 사양과 다를 수 있습니다.
이 가이드는 프로젝트에서 사용 중인 에셋이 포트나이트에서 사용할 준비가 되었는지 판단하는 데 도움을 줍니다.
모델링 구성
UEFN 및 Blender 등의 기타 모델링 툴 모두에서 유닛과 스케일이 올바르게 구성되었는지 확인합니다. 확인해야 하는 유닛 및 세팅은 아래 표에서 찾을 수 있습니다. 이를 통해 다른 포트나이트 아티스트들과 동일한 구성으로 작업할 수 있습니다.
세팅 | 유닛 또는 다른 값 |
---|---|
길이/선형(Length/Linear) | 센티미터(1유닛은 1cm와 동일) |
각도/회전(Angles/Rotation) | 도 |
타이머(Timers) | 초당 프레임 |
상향 축(Up Axis) | Z축 |
노멀 맵 컬러 스페이스(Normal Map Color Space) | DirectX |
그리드 크기
UEFN에서 월드 그리드는 센티미터를 사용합니다(1cm = 1언리얼 유닛). 모델링 소프트웨어 또는 UEFN에서 에셋을 생성할 때 그리드 크기가 512cm(512유닛)인지 확인하세요. 이 크기가 포트나이트에서 사용되는 표준입니다.
월드 스케일
포트나이트에서 플레이어 캐릭터의 키는 192cm입니다. 건축물 또는 가구를 만들 때 이 점에 유의하여 플레이어의 스케일이 만드는 환경에 잘 어울리게 하세요.
에셋 예산
아래 표는 다양한 크기와 복잡도에 따라 에셋 예산을 차등하여 나열합니다. 이 예산은 창작물의 최저 LOD 레벨에 대한 대략적인 추정치를 제공합니다. 예산은 오브젝트 크기보다는 디테일의 복잡도와 직접적으로 관련이 있습니다.
에셋에 적절한 LOD가 설정되어 있지 않은 경우 사용하는 에셋의 버텍스 수가 20,000개를 넘지 않도록 주의하세요.
복잡도 레벨 | 소형 메시 | 중형 메시 | 대형 메시 |
---|---|---|---|
단순한 오브젝트 | LOD0 최대: 400 폴리 수 | LOD0 최대: 900 폴리 수 | LOD0 최대: 2500 폴리 수 |
중형 오브젝트 | LOD0 최대: 700 폴리 수 | LOD0 최대: 2000 폴리 수 | LOD0 최대: 6000 폴리 수 |
복잡한 오브젝트 | LOD0 최대: 1200 폴리 수 | LOD0 최대: 4000 폴리 수 | LOD0 최대: 9000 폴리 수 |
위 예산 허용치는 참고용입니다. 가장 좋은 에셋 테스트 방법은 UEFN으로 직접 임포트하여 테스트하는 것입니다.
또 다른 예산 구상 방식은 바로 자신이 제작한 오브젝트와 캐릭터의 크기를 버텍스 수 기준으로 아래처럼 비교해 보는 것입니다.
에셋 크기 | 플레이어 대비 | 버텍스 수 |
---|---|---|
소형 | 캐릭터의 절반 이하 | 최대 1000 |
중형 | 최대 캐릭터 크기 | 최대 3000 |
대형 | 캐릭터보다 큼 | 최대 5000 |
다음 섹션에서는 일반적인 에셋 유형의 에셋 예산 사례를 안내합니다. 다음은 다양한 LOD별 버텍스 수를 나열한 것입니다.
나무
나무 크기 및 LOD | 소형 LOD0 | 소형 LOD3 | 중형 LOD0 | 중형 LOD3 | 대형 LOD0 | 대형 LOD3 |
---|---|---|---|---|---|---|
버텍스 수 | 1700 | 150 | 5000 | 1200 | 15000 | 2000 |
바위
바위 크기 및 LOD | 소형 LOD0 | 소형 LOD3 | 중형 LOD0 | 중형 LOD3 | 대형 LOD0 | 대형 LOD3 |
---|---|---|---|---|---|---|
버텍스 수 | 600 | 50 | 1200 | 100 | 2500 | 150 |
표지판
표지판 크기 및 LOD | 소형 LOD0 | 소형 LOD3 | 중형 LOD0 | 중형 LOD3 | 대형 LOD0 | 대형 LOD3 |
---|---|---|---|---|---|---|
버텍스 수 | 400 | 50 | 1700 | 300 | 7000 | 300 |
사물
사물 크기 및 LOD | 소형 LOD0 | 소형 LOD3 | 중형 LOD0 | 중형 LOD3 | 대형 LOD0 | 대형 LOD3 |
---|---|---|---|---|---|---|
버텍스 수 | 900 | 60 | 1500 | 150 | 3200 | 250 |
탈것
탈것 크기 및 LOD | 소형 LOD0 | 소형 LOD3 | 중형 LOD0 | 중형 LOD3 | 대형 LOD0 | 대형 LOD3 |
---|---|---|---|---|---|---|
버텍스 수 | 1200 | 200 | 6000 | 400 | 9000 | 1000 |
에셋 레벨 오브 디테일(LOD)
레벨 오브 디테일(Level Of Detail, LOD)은 다양한 디바이스에서 더 나은 퍼포먼스의 섬을 제공할 수 있는 중요한 방법입니다. UEFN 내에서는 에셋을 생성 또는 임포트한 후 LOD를 생성할 수 있습니다. 하지만 다른 모델링 애플리케이션에서 에셋을 제작했다면 에셋 제작 중에 LOD를 직접 생성할 수도 있습니다. 자동 LOD 기능은 LOD를 더 쉽게 생성할 수 있도록 해 주며, 대부분의 에셋에서 사용할 수 있습니다. 하지만 지오메트리가 결합되지 않은 일부 에셋의 경우 수동으로 생성한 LOD를 사용해야 할 수도 있습니다.
리얼타임 경험용 에셋의 경우 LOD를 5단계(LOD0 및 LOD1~LOD4)는 갖춰야 다양한 디바이스에서 훌륭한 퍼포먼스를 확보할 수 있습니다.
UEFN 또는 모델링 소프트웨어에서 동시에 표시되는 이전 LOD를 사용하여 각 LOD 메시를 최적화합니다. 이전 LOD의 이음새를 유의하세요. 이 같은 방법을 통해 UV 아일랜드 내부를 최적화할 수 있습니다. 이렇게 하면 게임 내에서 한 LOD로부터 다른 LOD로 전환될 때 텍스처가 변경되는 상황을 방지할 수 있습니다.
LOD를 생성할 때는 다음 사항에 주의해야 합니다.
-
실루엣에 따라 폴리곤 수를 줄이면 오브젝트의 LOD 간 트랜지션에 큰 차이가 생기지 않습니다. 에셋 내 LOD 레벨 전부의 모든 각도에서 실루엣을 최대한 동일하게 유지하세요.
-
각 LOD 레벨의 폴리곤 수는 이전 레벨의 절반이어야 합니다.
-
LOD를 생성할 때 UV 테두리를 끊지 않으면 텍스처 스트레칭 문제가 발생하게 됩니다.
-
LOD를 직접 테스트하면서 각 레벨별로 LOD 거리를 조정합니다.
다음과 같은 경우에는 모델링 툴의 메시 최적화 툴을 통해 자동 생성을 사용해야만 LOD1~LOD3 구간을 만들 수 있습니다.
-
한 LOD로부터 다른 LOD로 전환할 때 UV 아일랜드의 오프셋 또는 회전 없이도 UV가 일치하는 경우
-
모든 LOD에 동일한 머티리얼이 사용된 경우
에셋 콜리전
모든 스태틱 메시 오브젝트에는 게임플레이 중에 플레이어가 스태틱 메시와 상호작용할 수 있도록 콜리전 프로퍼티가 반드시 갖춰져야 합니다. 콜리전 프로퍼티는 플레이어 이동, 메시와 플레이어 충돌 시 이펙트, 월드 트레이싱에 영향을 끼칩니다. UEFN과 같은 에디터에서는 주로 콜리전 볼륨을 직접 생성하고 구성하지만, 기타 모델링 툴에서 에셋을 제작한다면 에셋에 콜리전 볼륨을 포함시키는 게 가장 좋습니다.
컨벡스 모델을 빌드하여 에셋의 대략적인 윤곽 형태를 생성합니다. 프리미티브를 조정하여 메시의 기본 셰이프에 대한 윤곽 작업을 합니다. 메시를 UCX 콜리전 메시 10개 이하로 제한하는 게 좋습니다.
명명 규칙에는 UCX_ 접두사를 사용하며, 그 뒤로는 모델링 툴에서의 로우 폴리 익스포트 메시의 이름을 사용합니다. 예를 들어 의자 에셋의 경우 UCX_Chair 로 명명합니다.
메시 사본이 여러 개일 경우 UCX_Chair_01, UCX_Chair_02 등의 형식으로 에셋 이름 뒤에 숫자를 추가합니다.
자세한 내용은 스태틱 메시의 콜리전 환경설정하기를 참조하세요.
머티리얼 및 텍스처 가이드라인
이 섹션과 이후 섹션에는 다른 모델링 툴에서 만든 에셋의 머티리얼 및 텍스처 제작 가이드라인이 포함되어 있습니다. UEFN의 모델링 툴은 다르게 작동하므로, UEFN에서 만든 에셋의 머티리얼 작동 방식에 대한 자세한 내용은 UEFN 문서의 머티리얼 섹션을 참조하세요.
에셋은 최대한 많은 경험에서 작동하는 것이 좋습니다. 에셋이 다양한 시간대의 실외, 야간의 실외, 밝거나 어두운 조명이 있는 실내 등 다양한 라이팅 시나리오에서 보이게 된다는 점을 명심해야 합니다. 이를 고려하려면 다음 사항을 명심하세요.
-
알베도 값을 물리적으로 올바른 범위로 제한합니다.
-
이미시브 값의 수준을 선택할 때 낮, 밤, 실내, 야외 등 다양한 라이팅 조건에서 잘 작동하는지 확인합니다.
-
사실적인 에셋이 아니더라도 물리 기반 렌더링(Physically Based Rendering, PBR) 원칙을 이해하는 것은 여전히 중요합니다.
머티리얼 생성하기
현실에서 오브젝트가 어떤 모습인지 생각해 보고 머티리얼 및 텍스처를 모델링하세요. 텍스처는 원하는 만큼 디테일하게 만들 수 있습니다.
텍스처를 임포트할 준비가 되면 TGA 또는 PNG 파일 포맷을 사용할 수 있습니다. 하지만 포트나이트 아티스트는 대부분의 텍스처에 PNG를 사용합니다.
하이 폴리에서 로우 폴리 메시로 텍스처 베이킹
맵 베이킹을 시작할 준비가 되었다면 다음 단계를 따릅니다.
-
텍스처 맵에 무제한 텍스처 패딩(텍스처 확장이라고도 함)을 사용합니다.
-
텍스처 맵에서 모든 트랜스포메이션을 프리즈 및 병합합니다.
로우 폴리 모델 텍스처 베이킹
-
로우 폴리 모델의 복제본을 생성하여 베이킹할 준비를 합니다. 모델은 쿼드를 최대한 많이 보존해야 합니다. 베이크하기 위해 익스포트하기 전에 꼭 필요한 경우에만 복제 모델에 트라이앵글화를 추가합니다. 이 복제본은 최종 인게임 메시로 사용됩니다.
-
텍스처 베이크를 시작하기 전에 모델의 UV 범위가 0~1인지 확인하세요.
하이 폴리 모델 텍스처 베이킹
하이 폴리 메시는 베이킹에만 사용됩니다. 이 메시에는 UV가 필요하지 않지만 머티리얼 할당을 분리하여 ID 마스크에 영향을 미칠 수 있습니다.
Marmoset을 사용하는 경우 해당 조각들을 높음과 낮음 수준으로 분리하여 베이크 디테일을 구분할 수 있습니다. 자세한 내용은 Marmoset 문서를 참조하세요.
텍스처 스케일링
-
텍스처 맵에는 2의 제곱(64, 128, 256, 512, 1024, 2048)을 사용합니다. 이렇게 하면 밉맵 작업을 수행할 수 있습니다.
-
고유한 타일링 텍스처의 경우, 필요하면 UV 아일랜드를 정돈하고 UV 이음새를 최대한 적게 만듭니다.
-
모든 텍스처 맵은 크기/해상도가 2K 이하여야 합니다.
-
머티리얼에는 일반적으로 다음과 같은 텍스처 맵이 포함되어 있습니다.
스페큘러 텍스처 맵이 포함된 경우 해당 스페큘러 텍스처는 다음과 같이 환경설정해야 합니다.
- R 채널: 스페큘러 맵
- G 채널: 메탈릭 맵
- B 채널: 러프니스 맵
일반적으로 Marmoset을 사용하여 텍스처 맵을 베이크할 것을 권장하지만 다른 솔루션을 사용해도 됩니다. 예를 들어 Marmoset 액세스 권한이 없는 경우 Xnormal을 사용하여 구울 수도 있습니다.
맵에 노멀, 월드 스페이스 노멀, 앰비언트 오클루전, ID 마스크, 커버처 가 포함되는지 확인하세요. 베이크된 결과 텍스처 맵은 Substance Painter 같은 애플리케이션을 통해 포트나이트에서 사용되는 최종 디퓨즈, 노멀, 스페큘러/메탈/러프니스/알파 맵을 생성할 수 있습니다.
Substance Painter 구성
아래는 Substance Painter를 사용하여 메시를 페인팅하기 위한 텍스처 맵 채널 출력입니다. 다른 애플리케이션을 사용하는 경우 해당 애플리케이션에서 비슷한 세팅을 찾으세요.
텍스처 맵 타입 | 채널 세팅 |
---|---|
디퓨즈(Diffuse) | RGB 또는 RGBA(알파 포함) |
노멀(Normal) | RGB |
스페큘러(Specular) | 레드 채널=스페큘러, 그린 채널=메탈니스, 블루 채널=러프니스, 알파 채널=이미시브 전용 |
변환된 맵 에서 세팅은 일반 DirectX 여야 합니다.
Nintendo Switch 및 모바일 디바이스를 위한 퍼포먼스 최적화
포트나이트는 다양한 디바이스에서 플레이할 수 있습니다. UEFN에서 포트나이트 에셋을 만들 때는 에셋이 포트나이트에서 지원되는 모든 디바이스에서 잘 작동하도록 최적화할 수 있는 방법을 고민하는 것이 좋습니다.
Nintendo Switch 및 모바일 디바이스를 위한 에셋 최적화 방법은 다음과 같습니다.
-
폴리곤 수: 폴리곤 수를 최대한 적게 유지합니다.
-
머티리얼 수: 최대한 적은 수의 머티리얼을 사용합니다. 각 메시당 하나의 머티리얼 섹션만 사용하는 것이 이상적입니다.
-
머티리얼 퀄리티: 퀄리티가 매우 높은 머티리얼을 사용하면 이러한 디바이스에서 낮은 퀄리티 버전으로 줄어들 수 있습니다. 사용하는 툴에 낮은 퀄리티의 머티리얼로 전환하여 퍼포먼스를 개선하는 함수가 있는 경우 해당 함수를 사용해야 합니다. UEFN에서는 UEFN 머티리얼 브라우저에서 머티리얼 퀄리티 스위치 및 머티리얼 셰이딩 경로 스위치 함수를 사용합니다.
-
텍스처 해상도: 텍스처 메모리는 일반적으로 이러한 디바이스에서 크게 제한됩니다. 512x512 픽셀 크기인 텍스처만 사용하고 큰 크기는 가능한 한 피해서 퍼포먼스를 최적화할 수 있습니다.
에셋 문제 해결
UEFN에서 사용할 메시를 처음 만들 때 문제가 발생할 수 있습니다. 일반적인 문제와 해결책은 다음과 같습니다.
-
에셋의 해상도가 잘못된 경우: 고해상도 3D 에셋을 생성하면 저해상도로 되돌릴 수 없습니다. 고해상도 메시는 편집하기가 더 힘들고 컴퓨터에서 렌더링하기도 더 어렵습니다. 따라서 에셋을 보고 싶을 때 시간이 더 오래 걸립니다. 또한 파일 크기도 커지고 UEFN 및 포트나이트에서 버텍스 수가 너무 많아집니다.
-
에셋의 스케일이 잘못된 경우: 스케일이 균일하게 적용되는지 확인합니다. 스케일이 올바르게 작동하지 않는 사례는 다음과 같습니다.
-
스케일 세팅이 미터가 아닌 센티미터로 설정된 경우
-
모델링 환경의 월드 스케일을 업데이트해야 하는 경우
-
익스포트 프로세스가 출력 스케일로 변환되는 경우
-