언리얼 엔진 5 5.4 업데이트 소식

언리얼 엔진 5 소식

소개: https://www.unrealengine.com/ko/blog/unreal-engine-5-4-is-now-available?tags=games
상세 릴리스 노트: https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-5.4-release-notes

지난 4월, 언리얼엔진 5.4 출시 이후 내용 정리는 다소 늦은 감이 있지만 공부차원에서 정리해봅니다.

주요하게 다룬 내용은 다음과 같습니다. 영상도 참고해보시면 좋을 것 같아요.
https://youtu.be/1vsb7egA7LQ?si=s1uLgP_NpQo59atK

  1. 나나이트 테셀레이션과 렌더링 개선: 나나이트 테크놀로지를 통해 실시간으로 영화 수준의 3D 퀄리티를 제공하며, 데이터 사이즈 최적화와 함께 다양한 디테일 생성이 가능해졌습니다.
  2. 렌더러 병렬성 향상: 렌더링 시간과 GPU 사용 시간 감소로 인한 컨텐츠 렌더링 부분에서의 큰 최적화로, 엔진만 업데이트해도 프레임 속도가 향상됩니다.
  3. 생동감 있는 환경 및 캐릭터: 애니메이션과 관련된 다양한 기능이 추가되어, 특히 모션 매칭 기능을 통해 자연스러운 캐릭터 이동 및 애니메이션이 가능해졌습니다.
  4. 애니메이션 데이터 및 메타 휴먼 호환: 500개 이상의 애니메이션 클립 준비 중이며, 메타 휴먼과의 호환을 통해 다양한 캐릭터 모션 제작이 가능해집니다.
  5. 사운드와 물리 엔진 개선: 메타 사운드 기능과 더불어, 물리 엔진 관련 기능의 개선을 통해 더 자연스러운 게임 환경 구현이 가능해졌습니다.
  6. 프로시저러 콘텐츠 생성(PCG) 툴의 개선: 대규모 맵 생성을 위한 PCG 기능이 향상되어, 넓은 영역을 퀄리티 저하 없이 절차적으로 채울 수 있게 되었습니다.
  7. 생산성 향상 도구: 애니메이션, 캐릭터 제작, 키프레임 작업의 유용성 향상과 함께, 컨트롤 리그와 스켈레탈 편집 기능의 강화로 생산성이 크게 개선되었습니다.
  8. 클라우드 기반 개발 지원 강화: 언리얼 클라우드 서비스와 분산 빌드 시스템을 통해 팀워크와 협업이 강화되었습니다.

나나이트 테셀레이션

나나이트는 원래 고해상도 메쉬를 효율적으로 처리하여 성능을 유지하면서도 세밀한 디테일을 제공하는 기술인데
5.4 버전에서 추가된 테셀레이션 기능은 이를 기반으로 더욱 세밀하게 폴리곤을 동적으로 추가하여, 특히 멀리서 보거나 낮은 LOD 단계에서도 자연스럽고 부드러운 표면을 유지하도록 합니다.

주요하게는 실시간 렌더링 성능 향상 항목으로 “기존의 테셀레이션 방식은 높은 성능을 요구했지만, 나나이트 테셀레이션은 이러한 성능 부담을 나나이트 엔진의 효율적인 처리 메커니즘을 통해 경감시킵니다.”
테셀레이션 기술을 나나이트에서 지원해서 더 고해상도 메쉬를 잘 처리해보겠다는 것으로 이해했습니다.

테셀레이션 적용 전후 예시

컴퓨터 그래픽스에서 테셀레이션이란?
GPU 파이프라인이 처리하는 기하적인 개체를 프리미티브(Primitive)라고 하는데, 하나의 프리미티브를 여러 개의 작은 프리미티브로 잘게 나누는 것을 “테셀레이션(Tessellation)”이라고 한다.
**테셀레이션(Tessellation)**은 기본적으로 3D 모델을 구성하는 폴리곤(주로 삼각형)을 더 작은 단위로 세분화하여 더욱 세밀한 디테일을 표현하는 기술. 이 과정은 그래픽 하드웨어(GPU)에 의해 수행되며, 더 정교한 모델을 만들거나 실시간 렌더링 시 고해상도 그래픽을 구현할 때 주로 사용됨.
좋은 참고 블로그 링크: https://choi-dan-di.github.io/computer-graphics/surface-tessellation/

-> 아무튼 정리해보면 나나이트를 이용할 때에 더 고해상도의 메쉬를 보여주는 업데이트

생동감 있는 환경 및 캐릭터

“이전 버전에서 실험단계 기능으로 도입되었던 모션 매칭이 이제 정식 버전으로 제공됩니다. 이 기능은 포트나이트 배틀 로얄에서 철저한 테스트를 거쳐 모바일부터 콘솔까지 모든 플랫폼에서 100개 이상의 캐릭터와 NPC에 적용되었습니다.”

이번 5.4 버전 부터 모션 매칭이 들어가면서 더 자연스러운 애니메이션 연결 동작을 구현할 수 있게되었네요.
에픽에서는 애니메이터에게 친화적인 툴세트를 만드는게 중점이었다고 합니다.

프로시저러 콘텐츠 생성(PCG) 툴의 개선

PCG 노드 그래프의 UX 개선 및 노드, 연산자 추가 등 툴 개선이 이뤄졌네요. 주요하게는…

1. 향상된 노드 기반 그래프 시스템
PCG 툴은 기본적으로 노드 기반 그래프 시스템을 사용해 콘텐츠를 절차적으로 생성합니다.
이번 업데이트에서는 노드 인터페이스가 더욱 직관적이고 효율적으로 개선되었습니다.
개발자들은 노드를 연결하고 콘텐츠의 흐름을 정의하는 작업을 더 빠르고 쉽게 할 수 있게 되었습니다.

  • 새로운 노드 추가: 더 다양한 절차적 생성 작업을 수행할 수 있는 새로운 노드가 추가되었습니다.
    • 이를 통해 지형 생성, 오브젝트 배치 등의 작업을 더 복잡하고 정교하게 구성할 수 있습니다.
  • 개선된 노드 미리보기 기능: PCG 그래프 내에서 각각의 노드가 어떻게 작동할지를 실시간으로 미리 볼 수 있는 기능이 개선되었습니다.
    • 이를 통해 생성 과정 중 오류를 줄이고, 수정 사항을 즉각적으로 확인할 수 있습니다.

2. 속도 및 성능 향상
PCG 툴의 성능이 대폭 향상되었습니다. 복잡한 절차적 콘텐츠를 생성하는 작업에서도 이전보다 더 빠르고 효율적으로 처리할 수 있게 되었습니다.
특히 대규모 맵에서 많은 오브젝트를 절차적으로 배치할 때 성능 이슈가 크게 줄어들었습니다.

  • 멀티스레딩 최적화: PCG 시스템이 멀티스레딩을 더 효율적으로 사용하도록 최적화되어, 콘텐츠 생성 속도가 향상되었습니다.
    • 대규모 오브젝트를 생성하거나 배치할 때도 퍼포먼스 저하 없이 작업할 수 있습니다.

3. 블루프린트 및 데이터와의 통합 강화
PCG 툴은 이제 블루프린트 및 데이터 자산과 더 긴밀하게 통합되어, 개발자들이 절차적 콘텐츠를 더 유연하게 제어할 수 있게 되었습니다.
이를 통해 다양한 외부 데이터나 게임 로직을 PCG 프로세스에 쉽게 적용할 수 있습니다.

  • 블루프린트와의 상호작용: PCG에서 생성된 콘텐츠가 블루프린트를 통해 더 세밀하게 제어될 수 있으며, 이를 통해 동적으로 변화하는 콘텐츠를 게임 내에서 쉽게 적용할 수 있습니다.
  • 데이터 에셋 기반 생성: 데이터 에셋을 기반으로 콘텐츠를 생성할 수 있어, 게임 내 데이터에 맞춘 유동적인 콘텐츠 생성을 구현할 수 있습니다.

4. 더 나은 디버깅 및 프로파일링 도구
절차적 생성의 복잡성을 해결하기 위한 디버깅 및 프로파일링 도구가 강화되었습니다.
개발자는 생성된 콘텐츠의 흐름을 시각적으로 확인할 수 있으며, 특정 절차가 어떻게 실행되고 있는지 더 명확하게 분석할 수 있습니다.

  • 실시간 디버깅: 생성 과정에서 발생할 수 있는 오류나 비효율성을 실시간으로 확인할 수 있습니다.
  • 프로파일링 도구 개선: PCG 작업의 성능을 분석하고, 어디에서 병목이 발생하는지 쉽게 파악할 수 있도록 도구가 업데이트되었습니다.

5. 배치 시스템 개선
PCG 툴의 배치 시스템이 더욱 정교해졌습니다.
특히 랜드스케이프나 지형 위에 절차적으로 오브젝트를 배치하는 과정에서, 더 자연스럽고 현실적인 배치가 가능해졌습니다.

  • 랜드스케이프와의 통합 강화: 랜드스케이프(지형)와의 상호작용이 개선되어, 지형 위에 오브젝트를 절차적으로 배치할 때 더 정교한 배치가 가능합니다.
  • 배치 규칙 추가: 지형의 높이, 기울기, 텍스처 등을 기준으로 오브젝트를 배치할 수 있는 더 많은 규칙들이 추가되었습니다.

PCG에서 주요한 것은 콘텐츠를 얼마나 생산성을 올릴 수 있는가,
절차적 생성을 통해 여러가지 에셋을 만들고 반복적인 작업을 덜어낼 수 있는가에 있는 것 같네요.
지금도 PCG를 하는중에 디버깅이 어렵거나 원하는 방향대로 안되는 경우가 많을거라 지속 개선이 필요하기도 합니다.

클라우드 기반 개발 지원 강화

이번 업데이트에는 클라우드 기반의 DDC(파생 데이터 캐시) 호스팅 시스템 등 개발 생산성, 관리 효율을 올리는 업데이트가 많았던 것 같습니다.

추가로 언리얼 빌드 액셀러레이터(Unreal Build Accelerator, UBA)를 선보여 분산 빌드 솔루션도 생겼네요.
그동안은 인크레디빌드나 SN-DBS를 쓰는 개발사가 많았는데 얼마나 사용하게 될지 궁금해집니다.