나나이트
언리얼 엔진5의 가상화 지오메트리 시스템
영화급 퀄리티의 소스 아트를 직접 임포트할 수 있다.
LOD는 자동으로 처리된다. 개별 메시를 위해 수동으로 설정할 필요가 없다.
나나이트 메시
나나이트는 임포트될 때 메시가 삼각형 그룹의 계층형 클러스터로 나눠진다.
렌더링되는 동안 클러스터는 카메라 뷰를 기준으로 하여 다양한 LOD로 즉시 교체되므로 동일한 오브젝트 내에서 균열 없이 완벽하게 인접 클러스터에 연결된다. 데이터는 요청 시 스트리밍되므로 표시되는 디테일만 메모리에 올라온다.
나나이트는 자체 렌더링 패스에서 실행된다. 기존 드로 콜을 완전히 우회하는 렌더링 패스이다.
시각화 모드를 사용하여 나나이트 파이프라인을 검토할 수 있다.
나나이트가 활성화된 스태틱 메시는 더 빠르게 렌더링되고 메모리를 덜 차지한다.
- 많은 LOD, 압축 데이터
- 매우 효율적인 방식으로 데이터 포맷을 렌더링
- 다수의 UV와 버텍스 컬러 지원
- 머터리얼은 셰이더에서 처리할 수 있는 메시의 여러 섹션으로 할당되며, 동적으로 교체될 수 있다.
- 나나이트는 머터리얼을 굽는 프로세스를 거치지 않아도 된다.
나나이트 메시 vs 스태틱 메시
차지하는 디스크 크기는 비슷하더라도 나나이트가 차지하는 메모리 크기가 더 작다.
- 필요한 데이터만 사용하고 압축률이 높기 때문에
스태틱 메시의 LOD를 미리 굽지 않는경우 나나이트 메시는
나나이트 사용하기
메시 임포트 시 Build Nanite 항목 체크
스태틱 메시 에디터에서 직접 활성화하기
나나이트의 한계
- 나나이트 메시는 스켈레탈 메시에 사용할 수 없다. 커스텀 depth / stencil 버퍼도 사용할 수 없다.
- 나나이트 메시의 인스턴스에 버텍스 페인팅을 사용할 수 없다.
- 머터리얼의 블렌드 모드는 Opaque (불투명)만 사용 가능
- 디퍼드 데칼 사용 불가능
- 와이어 프레임 모드에서 머터리얼 출력에는 World Position Offset과 Pixel Depth Offset이 지원되지 않는다. 양면 렌더링도 사용할 수 없다.
- 포워드 셰이딩 렌더링 X, 스테레오 렌더링 X, MSAA지원 X 메시 내의 라이팅 채널 하나만 사용가능, 레이 트레이싱 X (프록시 메시는 가능)
프록시 메시 : Nanite Fallback (낮은 퀄리티의 메시, 예비 메시) 모바일에서 대신 사용, 나나이트 세팅에서 삼각형 유지 비율 조절 가능 (너무 안 좋은 경우를 대비)
나나이트 시각화하기
뷰포트에서
Show -> Advaned -> Nanite Mesh (나나이트 메시 활성화 / 비활성화)
Lit -> Nanite Visualization
콘솔 명령
- r.Nanite.Visualize.Advanced 1 : Nanite Visualization의 고급 옵션 켜기
- nanitestats : 씬에서 나나이트가 작동하는 방식과 최적화할 필요가 있는 부분을 한 번에 확인할 수 있다.
나나이트 툴
Tools -> Nanite Tool
- 씬 내에서 현재 나나이트가 사용되거나 사용되지 않는 부분을 확인할 수 있는 툴
'언리얼 5 > 에픽 게임즈 공식 강의' 카테고리의 다른 글
애니메이션 (1) | 2023.02.15 |
---|---|
루멘 핵심 개념 (0) | 2023.02.14 |
렌더링 시작하기 (0) | 2023.02.14 |
Multiplayer Programming Quick Start Guide (0) | 2022.10.23 |
Welcome to Game Development - 4 (Build a Third Person Character from Scratch) (0) | 2022.10.13 |