UE 5.1 웨비나 노트 정리 (22.11.29)
이미지, 시연은 제외하고 텍스트만 받아적었다.
14:00 - 14:30 | UE5.1 주요 업데이트 : 아트 파트
렌더링
루멘
2-사이드 폴리지 셰이딩 모델 지원 및 백 스페이스 산란효과 지원
스페이셜 템포럴 블루 노이즈 적용으로 더 깨끗한 이미지 퀄리티 제공
소프트웨어 레이 트레이싱 퀄리티 향상
: 표면 캐시 직접 샘플링 - 이미시브 라이팅, 리플렉션, GI 퀄리티 향상
반투명 재질 표면 및 싱글 레이어 워터에 거울 반사 효과 지원
표면 캐시 생성 알고리즘 강화
퀄리티 설정 옵션 추가
스카이라이트 누수 옵션 추가
디퓨즈 컬러 부스트 옵션 추가
씬 캡처에 루멘 GI 및 리플렉션 부분 지원
다수의 안정성 향상 및 버그 수정
나나이트
- 폴리지 지오메트리 지원
- 2-사이드 머티리얼 지원
- 마스크드 블렌드 모드 지원
- 월드 포지션 오프셋 지원
- 픽셀 뎁스 오프셋 지원
나나이트 / 비 나나이트 워크플로 개선
- 예비 메시에 원하는 메시와 LOD 적용
- 머티리얼에 나나이트 스위치 표현식 추가
- 나나이트 머티리얼 오버라이드 슬롯 추가
- 나나이트 불허 옵션 추가
- 기타 다수의 퀄리티 및 퍼포먼스 향상
패스트레이서
- 플래너 데칼 지원
- 익스포넨셜 하이트 포그/ 스카이 애트머스피어 지원
- 워터 지오메트리 및 싱글 레이어 워터 셰이딩 모델 지원
- 라이트 함수 지원
- 무비 렌더 큐에 레퍼런스 모션 블러 옵션 추가
- 멀티 GPU 지원
반투명 오버레이 머티리얼
- 아웃라인 같은 특정 시각효과 구현 가능
스트라타 머티리얼 (실험단계)
- 더 표현력이 뛰어난 새로운 모듈형 머티리얼 제작 프레임워크
: 기존의 단일 셰이딩 모델보다 더 폭넓은 재질의 표현과 파라미터 범위를 지원
애니메이션
머신 러닝 디포머 (베타)
- 실시간으로 고퀄리티의 메시 디포메이션을 근사하게 표현
기타정보 : 언리얼 문서 검색 : 머신 러닝 디포머를 사용하는 방법
디포머 그래프 (베타)
- 스킨 적용 메시에 복잡한 버텍스 변형을 적용
- 커스텀 블루프린트 / HLSL 스크립트 지원
- 모프 타깃 / 클로스 시뮬레이션 대체 가능
- 컨트롤 릭으로 디포머 프로퍼티 제어
기타정보 : 언리얼 문서 검색 : 디포머 그래프
모션 매칭 (실험단계)
- 캐릭터 애니메이션 세트로부터 현재 캐릭터의 움직임이나 상태에 적합한 애니메이션 포즈 매칭
시퀀서
- 애니메이션 컨스트레인트 기능 추가
- 레이어 바 : 다수의 키 값을 더 쉽게 이동하거나 스케일 조절 가능
- 키 바 : 인접한 키들을 하나의 그룹으로 이동 가능
컨트롤 릭
- 컨스트럭션 이벤트, 새로운 스폰 노드 : 절차적 릭 생성 가능
- 다중그래프 지원 추가
- 커스텀 이벤트 추가
- 프록시 컨트롤 추가
- 컨트롤 오버레이 모드 지원
IK 릭 / 리타기터
- 보폭을 조정하기 위한 파라미터 추가
- 속도 플랜팅 : 발 미끄러짐 개선
- 기타정보 : 언리얼 문서 검색 : IK 리타기터를 사용하여 발 미끄러짐 해결
모델링 및 스컬프팅 툴 / 나이아가라
모델링 및 스컬프팅
- UV 에디터 (베타)
- 패턴 툴 : 메시를 라인,그리드,원형으로 절차적 배치
나이아가라
- GPU 이미터에 리본 렌더러 적용 가능
- 플립북 베이커 (베타)
- 이종 볼류메트릭 렌더링 (실험단계)
나이아가라 플루이드 퀄리티 및 퍼포먼스 향상
- 터뷸런스 모델 개선
- 소규모 스케일의 포스 퀄리티 향상
- 트라이 큐브 보간 추가
- 전반적인 퍼포먼스 개선
UI/UX 개선
- 엔진 퀄리티 모드 추가
- 나이아가라 에디터 레이아웃 간소화
- 스크래치 모듈 추가
- 특정 파라미터 디버거에서 트래킹 가능
14:30 - 15:00 | UE5.1 주요 업데이트 : 프로그래밍 파트
성능 최적화
나나이트, 루멘, 그리고 버츄얼 섀도 맵
차세대 콘솔과 일부 PC에서 60fps 렌더링 지원
- 엔진 퀄리티 "높음" 기준
- 조작감이 중요한 게임
- 사실적인 시뮬레이션
* 엔진 퀄리티 "에픽" 은 30fps 렌더링 지원
나나이트 최적화
- 프로그래밍 가능한 래스터라이저
- WPO시 Fixed Funtion 래스터 Bin 사용
- Tier1 윈도우 DX12 메시 셰이더
루멘 최적화
- 래디언스 캐시 병렬화 동작 지원
- 직접광 레이 트레이싱 패스 개전
- HWRT용 Fast Alpha Masking 패스 추가
버추얼 섀도 맵 최적화
- 캐시 Invalidation 최소화
- 동적/정적 페이지 구분
+템포럴 슈퍼 해상도 최적화
- 모션 벡터 없는 경우 고스팅 개선
- Shading Rejection 휴리스틱 변경
- Separate translucency 패스 비활성화
기본 윈도우 RHI : DX12 + SM6
- 나나이트, VSM 요구사항 : SM6
- 하드웨어 레이트레이싱
멀티뷰 렌더링 지원
- 기초적인 지원 시작
- 분할 화면 Split screen
- VR 스테레오 렌더링 Stereo rendering
* SM5와 SM6
- 성능차이 : 단순 인스트럭션 수 비교X
- IL가 달라 셰이더 인스트럭션 수가 변경
- 특정 Intrinsic을 활용해 성능 향상
개발 편의 사항
가상 에셋 Virtual Assets [베타]
- 작업이 필요한 에셋 데이터만 내려받기
- 에셋 = Structure data + Unstructured bulk data
모든 작업자가 에셋의 코어 메타데이터만 동기화
필요시 에셋의 실제 벌크 데이터 내려받기
- 큰 프로젝트의 경우 상당한 작업 효율 향상
- UE 5.1 현재, 텍스쳐와 오디오 에셋 지원
DX12 PSO 컴파일 개선
- PSO 캐시 시스템의 단점 보완
- 컴포넌트 로드시 PSO 컴파일 시도
- 로딩과 렌더링 시점이 다를 때 유용
- PSO 캐시 시스템 공존
필요에 따라 혼용
로딩과 렌더 시점이 같은 연출 ex. 텔레포트
- Vulkan 확장예정
온 디맨드 셰이더 컴파일 On Demand Shader Compilation (OSDC)
- 에디터 뷰포트에 보이는 머티리얼만 컴파일
- Cook-on-the-fly
- 큰 프로젝트에서 작업 효율 및 반응성 향상
되감기 디버거 Rewind Debugger
- 애니메이션 디버깅 툴
- 애니메이션 시스템을 타임라인 형태로 시각화
- 애니메이션 시퀀스 재생, 노티파이, 커브, 블렌드 가중치 등 분석
대규모 월드 제작
월드 파티션을 위한 대규모 월드 좌표 지원[베타]
- Double precision 지원
- 대규모 오픈 월드 제작
- 크기 제한 : 22km -> 88,000,000km
소스 컨트롤 워크플로 개선
- 로컬에서 변경된 사안 자동 추적
- 체인지리스트에 추가/제거
- 쓰기 가능 파일 트래킹
- 컨트롤되지 않은 체인지리스트(Uncontrolled Changelists)로 분류
- P4V의 Reconcile Offline Work + 자동 트래킹
15:00 - 15:30 UE5.1 주요 업데이트 : M&E
모바일 업데이트
모바일 포워드+ 렌더러
- 기존 모바일 포워드 렌더러는 오브젝트당 4개의 로컬 라이트만 사용이 가능했음
- 모바일 포워드+ 에서는 데스크탑 포워드 렌더러 처럼 프러스텀-공간 라이트 그리드를 지원
- 픽셀 셰이더에서 각 오브젝트들에 대해서 더 많은 수의 라이트와 리플렉션 캡쳐를 사용하는 것이 가능하게 됨
- 각 픽셀에 대해 픽셀 셰이더에서 라이트 그리드를 참조해서 라이트와 리플렉션 캡쳐를 개별적으로 선택해서 사용하게 됨
단일 스태틱 메시로 구성된 바닥에 비친 리플렉션을 기존 모바일 렌더러와 비교
- 기존 모바일 포워드에서는 오브젝트 단위로 리플렉션 캡쳐가 선택되었음 (왼쪽 이미지)
- 5.1 에서는 픽셀 단위로 가장 적합한 리플렉션 캡쳐가 선택되어 사용됨(오른쪽 이미지)
모바일 디퍼드 렌더러
- 타일 기반 모바일 GPU에 최적화된 모바일 전용 렌더러
타일 기반 GPU가 아닌 디바이스인 경우 성능 하락
포워드 렌더러에 비해 많은 수의 동적 라이트 사용 가능
- 5.1 부터 모든 모바일플랫폼에서 정식 지원
UE4.26부터 실험 기능으로 제공
모바일 포워드+ vs 모바일 디퍼드 렌더러
모바일 포워드 +
- 오브젝트 드로 시간에 라이팅과 셰이딩이 적용됨
- MSAA 지원
오브젝트에 따라 라이팅 비용 증가
라이트 개수 제한
모바일 디퍼드
- 오브젝트 드로 시간에 머티리얼 파라미터가 Gbuffer에 저장 됨(베이스 컬러, 러프니스, 메탈릭 etc)
- 라이팅과 셰이딩이 이어지는 별도의 패스에서 계산되며, 이때 Gbuffer에 저장되어 있는 정보를 사용
오브젝트와 독립적인 라이팅연산
라이트 함수 등 디퍼드 전용 기능 지원
MSAA 지원 불가
모바일 디퍼드 렌더러의 전용 기능
- 라이트 함수, 라이트 프로파일, 데칼 라이팅
효율적인 로컬 라이트 (spot and point lights)
- 라이트 추가에 따른 셰이더 퍼뮤테이션 증가가 없음
- 각각의 라이트가 지오메트리처럼 스텐실 및 컬링 되어 렌더링 됨
- 수백개의 동적 라이트를 사용할 경우 클러스터된 렌더링 모드 사용 가능(선택 옵션)
모바일 디퍼드 렌더러의 셰이더 차이점
인스트럭션과 샘플러 감소
- 모바일 포워드 : 인스트럭션 - 147, 샘플러 - 2 (섀도, 반사)
- 모바일 디퍼드 : 인스트럭션 - 34, 샘플러 - 0
셰이더 퍼뮤테이션 감소
- 동적 라이팅인 경우 머티리얼당 한 개의 픽셀 셰이더만 사용
셰이더 라이브러리 크기 감소
- 모바일 디퍼드 : 277.8 MB
- 모바일 포워드 : 285.4 MB
- 포트나이트 모바일 (Vulkan) 기준
- 프로젝트에 따라 감소폭은 더 커질 수 있음
모바일 디퍼드 모드의 데칼 렌더링 제약
- 데칼 라이팅은 스태틱 라이트와 함께 사용할 수 없음
D버퍼와 depth pre-pass 가 필요함
무버블 라이트와 스테이셔너리 라이트만 지원
데칼의 이미시브는 스태틱 라이트 사용 가능
- 노멀은 Gbuffer로 인코딩 됨
gbuffer의 노멀 변경이 모바일에서는 불가능
노멀 블렌딩 불가 (덮어쓰기는 가능)
모바일에서 지원되는 셰이딩 모델
- 모바일 디퍼드 렌더러와 포워드+ 렌더러에서 지원되는 셰이딩 모델
Default Lit
ClearCoat
Subsurface, Pre-integrated skin, Subsurface Profile
Two-sided foliage
Cloth, Hair, Eye
Single Layer Water
From Material Expressions
모바일 디퍼드 렌더러 사용시 주의 사항
- 반투명 오브젝트는 항상 포워드 셰이딩으로 렌더링 됨
- 픽셀 단위로 셰이딩 모델이 선택되는 경우 큰 성능 비용이 발생됨
모바일에서 나나이트와 루멘
모바일에서는 나나이트와 루멘이 아직 지원되지않음
- 모바일에서는 나나이트 예비 메시가 대신 사용됨
- 드로콜과 폴리곤 개수의 제약으로 규모가 크고 복잡한 장면에서는 LOD 와 HLOD를 활용할 필요가 있음
최신 모바일 하드웨어에서 레이 트레이싱이 지원되는 디바이스가 출시
- Exynos 가 사용된 Galaxy S22 의 Xclipse GPU
- 그 외 다른 GPU 칩셋에서도 유사한 기능이 곧 지원될 예정
나나이트는 현재 모바일 하드웨어에서 사용이 불가능
- Visibility buffer 생성을 위해 64-bit atomic 연산이 필요
모바일 FSR 플러그인
- FidelityFX Super Resolution (FSR) 지원
- FSR은 EASU + CAS 패스로 두개의 포스트 프로세스로 동작함
- Pixel 4 (Adreno 640) at 1512x720 기준 성능 비용
Edge-Adaptive Spatial Upsampling (EASU) 패스 : 1 ms
Contrast Adaptive Sharpening (CAS) 패스 : 1.5 ms
- FSR 업스케일링
에디터 모바일 프리뷰 개선사항
- 플랫폼마다 다른 렌더링 세팅으로 프리뷰 가능
예) 일부 플랫폼에서만 디스턴스 필드 섀도 활성화
- 프리뷰 플랫폼 전환 속도 개선
각 플랫폼의 셰이더를 별도의 DDC로 저장
- 프리뷰에서
안드로이드에서 병렬PSO 컴파일 지원
- PSO 캐시에는 게임에서 사용되는 셰이더의 목록이있음
- 게임을 처음으로 구동 시 히치가 발생되지 않도록 미리 PSO들을 컴파일
- 안드로이드 GPU 드라이버는 병렬 컴파일을 잘 지원하지 않음
- 5.1 버전 부터는 별도의 안드로이드 워커 프로세스들을 통해서 다수의 CPU 코어를 활용해서 병렬 컴파일 지원
- Vulkan과 OpenGL ES 둘 다 사용 가능
카오스 업데이트
피직스 컨트롤 컴포넌트
카오스 클로스 - 압력
카오스 클로스 - 버클링
개발환경 업데이트
모바일 셰이더 컴파일러 업데이트
- hlslcc에서 DXC로 전환
- iOS/Metal 및 Android GL / Vulkan 에 대한 반정밀도 지원 추가
- DXC 사용시 Vulkan에서의 안정성 확보
초기 Adreno 드라이버에서 Vulkan 셰이더 코드 관련 문제에 대한 회피 구현
플랫폼 SDK 업데이트
- Android
Android Studio 4.0
Android NDK r25b
- iOS
iOS 15 이상
Metal 2.4 (기본값) 및 Metal 3.0 지원
- Windows
Visual Studio 2019 v16.11.5 또는 Visual Studio 2022
LLVM clang 13.0.1
Static Analyzer support
- MacOS
권장 사양 : macOS 13 Ventrua, Xcode 14
최소 사양 : macOS 12 Monterey, Xcode 13.4.1
언리얼 에디터의 네이티브 Apple Silicon 지원 (실험단계)
그 외 세부정보는 5.1 출시노트 - 플랫폼 SDK 업그레이드 항목 참고
15:30 - 16:00 추가 세션
nDisplay 루멘 지원
주요 렌더링 개선 사항
- 인카메라 VFX 지원
루멘, 나나이트, 버추얼 섀도 맵
- 반투명 유리창이나 물 표현시 미러 리플렉션 지원
- 손쉽게 루멘의 GI 바운스 횟수 조절 가능
- 폴리지(식생)의 양면 폴리지 셰이딩 모델 지원
- 나나이트 폴리지 지원(베타)
- 템포럴 슈퍼 해상도(TSR)에서 픽셀 깜박임 개선 r.TSRShadingRejection.Flickering
인카메라 VFX 에디터
미디어 플레이트 / EXR 시퀀스 재생
SMPTE 2110 지원
멀티 유저 서버 UI
VR 스카우팅
VCam 업데이트
레벨 스냅샷
라이트 믹서
GPU 라이트매스
'Unreal' 카테고리의 다른 글
UE5 Procedurally Level Design (0) | 2022.06.08 |
---|---|
UE5 blueprint bone rotate (0) | 2022.04.20 |
언리얼엔진5 정식 출시 (0) | 2022.04.06 |
UE5 Chaos Destruction (1) | 2022.04.04 |
UE5 niagara Collision (0) | 2022.03.24 |
댓글