Unreal Engine 4.19 Released
March 14, 2018

언리얼 엔진 4.19 출시!

저자: Jeff Wilson

새로운 기능

언리얼 엔진 4.19 를 사용하면 창의적 프로세스로 한 발 더 나아갈 수 있습니다. 매우 직관적인 툴로 콘텐츠 제작에 더 많은 시간을 할애할 수 있습니다. 렌더링, 피직스, 랜드스케이프, 터레인 시스템 등이 개선되어 이전보다 더 빠른 속도로 월드를 제작할 수 있습니다. 저희의 최우선 과제는 항상 저희 툴을 사용하는 개발자의 삶의 질 향상이므로, 개발자가 더욱 많은 작업을 할 수 있도록 개선할 수 있는 부분이 없는지 계속해서 검토하고 있습니다.

언리얼 엔진 4.19 를 사용하면 게임, 단방향 매체, 건축 시각화 또는 제품 디자인 도구를 만들 때 완성된 제품이 모든 단계에서 어떻게 보일지 정확히 알 수 있습니다. 새로운 라이브 링크 플러그인은 외부 콘텐츠 제작 도구와 언리얼 엔진 간의 작업방식을 자연스럽게 혼합하여 소스 콘텐츠 변경 결과를 바로 확인할 수 있도록 해줍니다. 시퀀서의 지속적인 개선으로 실시간 씬을 더욱 완벽하게 제어 할 수 있습니다.

상상 속 세계를 현실화 하는 데 있어 한계는 없습니다. 랜드스케이프 렌더링 최적화 덕분에 거대한 오픈월드에서 숨이 멎을듯한 풍경을 만들 수 있습니다. 새로운 동적 해상도 기능을 사용하면 필요에 따라 해상도를 조정하여 원하는 프레임 속도를 맞춰주므로 PlayStation 4 및 Xbox One 에서 보다 부드럽게 실행됩니다.

작업방식이 편하고 사용하기 쉽지 않으면 릴리즈의 완성이라고 할 수 없습니다. 이러한 점에서 언리얼 엔진 4.19 는 여러분을 실망시키지 않습니다. 머티리얼 레이어 및 파라미터를 사용하는 것이 직관적으로 더 쉬워졌습니다. 블루프린트 디버깅은 단계별 실행, 스텝 인 및 스텝 아웃 기능을 통해 더욱 강력해졌습니다. 이제 콘텐츠 폴더를 즐겨찾기로 설정할 수 있습니다. 애니메이션 툴의 핀 고정 가능 명령, 다중 뷰포트 기능 등 여러 기능이 향상되었습니다.

이번 릴리즈에는 위 모든 업데이트는 물론 엄청난 GitHub 언리얼 엔진 커뮤니티 개발자들이 제출한 개선 사항이 128 종 포함되어 있습니다! 언리얼 엔진 4.19 에 기여해 주신 분들께 감사드립니다:

Adam Rehn (adamrehn), Alex Chi (alexchicn), Alexander Stevens (MilkyEngineer), alexformosoc, Andrew Armbruster (aarmbruster), Anton Rassadin (Antonrr) Austin Pukasamsombut (AustinPuk-Conffx), Bo Anderson (Bo98), Carlos (carloshellin), Carsten Neumann (cneumann), Celso Dantas (celsodantas), Chris Conway (Koderz), Chris Dietsch (cdietschrun), Chrispykins, Clinton Freeman (freemancw), cmheo, CuoXia (shrimpy56), Daniel Butum (leyyin), Daniel Neel (dneelyep), Daniel Sell (djsell), David Payne (dwrpayne), DavidNSilva, Deep Silver Dambuster Studios (DSDambuster), Derek van Vliet (derekvanvliet), DerelictHelmsman, dfb, Dorgon Chang (dorgonman), druhasu, Eddy Luten (EddyLuten), foollbar, GeorgeR, Giperionn, Hyuk Kim (Hybrid0), Ilya (ill), Jack Knobel (jackknobel), Jacob Nelson (JacobNelsonGames), James Horsley (mmdanggg2), Jared Taylor (Vaei), Javad Shafique (JavadSM), jessicafalk, John W. Ratcliff (jratcliff63367), Jørgen P. Tjernø (jorgenpt), Josef Gluyas (Josef-CL), Julien Le Corre (jlc-innerspace), konflictue, Kryofenix, Kyle Langley (Vawx), Marcin Gorzel (mgorzel), Matt Hoffman (LordNed), Matthew Davey (reapazor), Michael Allar (Allar), Michał Nowak (BibbitM), Mikael Hermansson (mihe), mkirzinger, Mustafa Top (MSTF), nakapon, nullbus, pfoote, phlknght, projectgheist, Richard Schubert (Hemofektik), Ron Radeztsky, rlefebvre, ruffenman, sangpan, Sébastien Rombauts (SRombauts), smt923, Stefan Zimecki (stefanzimecki), Stephen Swires (sswires), Tim Niederhausen (timniederhausen), Timothee Besset (TTimo), Tom Ward (tomwardio), tomari, TomFors, Toru Hisai (torus), Vikram Saran (vikhik), yaakuro, Yohann Martel (ymartel06), YuchenMei, Zeno Ahn (zenoengine)

주요 기능

신규 : 템포럴 업샘플

템포럴 업샘플(Temporal Upsample)이라는 새로운 업스케일 메소드를 추가했습니다. 프레임을 더 낮은 해상도로 임시 축적한 뒤 주 공간 스케일을 올려 결과물이 흐려지는 것을 줄여줍니다.

1 – 템포럴 업샘플 활성화시; 2 - 템포럴 업샘플 비활성화시

이전 버전에서 스크린 퍼센티지(Screen Percentage) 라는 개념은, 3D씬을 더 낮은 해상도로 렌더링한 뒤 공간적으로 스케일을 올려 출력 해상도로 높인 뒤, 그 위에 UI 를 그리는 것이었습니다. 저사양 하드웨어의 GPU 예산을 맞출 수 있는 매우 유연한 방법이었지만 결과물의 선명도를 희생시켜야 한다는 단점이 있었습니다.

이제 단일 스크린 퍼센티지 대신, 별도로 제공되는 두 개의 스크린 퍼센티지를 업스케일에 사용할 수 있습니다:

  • 주 스크린 퍼센티지는 기본적으로 전과 같은 공간적 업스케일 패스를 사용합니다.
  • 보조 스크린 퍼센티지는 UI 를 그리기 전, 포스트 프로세싱의 끝 부분에서 정적, 공간적 업스케일만을 담당합니다.

TAA (Temporal Anti-Aliasing) 패스에서 동작하는 템포럴 업스케일러는 주 스크린 퍼센티지를 50%에서 최대 200%까지 다양하게 변경하여 지오메트리 선명도를 일정하게 유지합니다. 실제로 스크린 퍼센티지를 낮춘다 할지라도 TAAU 를 켜면, 보통은 뭉개지거나 섞여버리고 말았을 배경의 지오메트리에 디테일과 복잡도가 유지됩니다. 위 예의 철망이나 전신주에서 확인할 수 있습니다.

더 많은 정보는 템포럴 업샘플 및 스크린 퍼센티지 페이지를 참고하세요.

신규 : 동적 해상도

이제 PlayStation 4와 Xbox One 게임에서 원하는 프레임 속도를 내기 위해 필요에 따라 해상도를 조절하는 방식을 지원합니다! 휴리스틱을 통해 이전 프레임 GPU 작업 부하에 따라 주 스크린 퍼센티지를 설정하는 방식으로 작동합니다.

더 많은 플랫폼에 대한 지원은 향후 릴리즈에서 제공 될 예정입니다. 자세한 내용은 동적 해상도 페이지를 참조하십시오..

신규 : 언리얼 AR 프레임워크

언리얼 엔진의 이번 릴리즈의 통합된 언리얼 AR 프레임워크에서는 애플 및 구글 핸드헬드 플랫폼 모두에서 증강 현실 응용 프로그램을 빌드하기 위한 풍부하고 통일 된 프레임 워크를 제공합니다. 프레임워크는 단일 개발 패스를 제공함으로써 개발자는 하나의 코드 패스로 두 플랫폼의 AR 응용 프로그램을 모두 제작할 수 있습니다. 통합된 언리얼 AR 프레임워크에는 정렬, 라이트 추정, 고정하기, 세션 스테이트, 트레이스 결과등을 지원하는 함수가 포함되어 있습니다.

Theia의 Courtesy

신규 : 통합된 언리얼 AR 프레임워크 프로젝트 템플릿

또한 새 기능을 시연하는 완벽한 예제 프로젝트로 블루프린트 템플릿에 휴대형 증강 현실(Handheld AR) 템플릿을 새로 추가하였습니다.

신규 : 물리적 라이트 밝기 단위

언리얼 엔진 4.19에 새로 도입된 기능으로, 모든 라이트의 단위는 이제 물리기반 단위로 정의됩니다. 어떤 라이트는 이미 잘 정의된 값을 사용하는 것도 있지만, 아직 엔진 전용 값을 사용하는 것도 있습니다. 밝기 단위는 (적용 가능한 경우) 드롭 다운 메뉴에서 선택할 수 있습니다. 호환성을 위해 기본 라이트 밝기 단위는 이전 버전의 엔진과 호환됩니다. 새로운 라이트 단위 프로퍼티는 라이트 별로 편집할 수 있으며, 라이팅 관련 계산 시 엔진이 "강도" (Intensity) 프로퍼티를 해석하는 방법이 변경됩니다.

Litrix의 Project courtesy

신규 : 라이브 링크 플러그인 개선사항

이제 마야 라이브 링크 플러그인을 사용할 수 있으며 마야와 UE4 사이의 연결을 설정하여 마야에서 변경된 내용을 UE4 에디터에서 실시간으로 볼 수 있습니다.

플러그인이 활성화 되면, 마야 버전과 관련된 바이너리 파일을 마야의 Plugins 폴더에 복사하고 Maya Plugins Manager를 통해 활성화 해야 합니다.

Engine \ Extras \ MayaLiveLink \ LiveLinkMaya.zip 위치에서 엔진 설치 폴더 내에 마야 라이브 링크 플러그인의 바이너리 파일을 찾을 수 있습니다. zip 파일에는 Windows 용 Maya 2016/2017/2018 용 바이너리가 있습니다. 다른 버전의 바이너리가 필요한 경우 Engine\Source\Programs\MayaLiveLinkPlugin 폴더에서 소스를 찾을 수 있을 것입니다.

마야 라이브 링크 UI 창은 MEL 콘솔에서 MayaLiveLinkU 명령으로 활성화 할 수 있습니다. 맨 위 오른쪽에는 이 마야 인스턴스가 언리얼 엔진(클라이언트)에 연결되어 있는지 여부를 보여주는 디스플레이가 있습니다. 언리얼 엔진 라이브 링크 아래에는 현재 스트리밍되고 있는 모든 대상(서브젝트)의 리스트가 있습니다. (위 이미지에서는 현재 하나만 스트리밍 중). 하단 창에서는 스트리밍되는 대상을 추가하고 제거할 컨트롤을 사용할 수 있습니다.

모션빌더 라이브 링크 플러그인

모션빌더 플러그인은 마야 플러그인과 동일한 기능을 제공하며 에디터에서 연결시 비슷한 방식으로 표시됩니다. 또한 스트리밍 관리를 위한 사용자 정의 UI가 있습니다.

현재 씬에서 선택된 오브젝트를 스트리밍 목록에 추가 할 수 있습니다 (위 그림 참조). 이 창에서 이름은 Subject Name 열에 설정 할 수 있으며 Stream Type (카메라, 스켈레톤 등)을 설정할 수 있습니다. 대상의 스트리밍 사용 여부 또한 여기서 설정할 수 있습니다.

활성 카메라를 에디터 활성 카메라로 스트리밍

이제 마야에서 활성 카메라 제어 상태가 에디터의 활성 카메라에 동기화 됩니다. 스트리밍이 더욱 강력해지고 얼굴 릭 / 리프 본이 올바르게 업데이트 되도록 에디터 업데이트 훅을 수정했습니다.

라이브 링크에 버추얼 서브젝트 추가

버추얼 서브젝트는 라이브 링크에 들어오는 여러 서브젝트를 하나의 서브젝트로 결합하여 에디터에서 사용할 수있는 방법입니다. 버추얼 서브젝트는 엔진 내에서 생성되며 공통의 루트에 연결된 여러 개의 실제 서브젝트의 본들을 포함합니다.

아래는 버추얼 서브젝트가 에디터에서 스켈레탈 메시에 적용된 모습입니다.

여기에서는 Add > Add Virtual Subject를 사용하여 새로운 버추얼 서브젝트를 만들고 마야 라이브링크 소스에서 대상(서브젝트)을 읽어오도록 설정했습니다. 버추얼 서브젝트는 마야에서 전송되는 세 가지 서브젝트들로 구성됩니다.

라이브 링크 플러그인 개발

라이브 링크의 목적은 스트리밍을 위한 공통된 인터페이스를 제공하고 UE4 외부 소스 (예 : DDC 도구 및 모션 캡처 서버)에서 모든 종류의 애니메이션 데이터를 사용하는 것입니다. 언리얼 플러그인을 통해 확장 가능하도록 설계되었으므로 서드 파티가 엔진 변경에 따른 개발과 유지 보수없이 새로운 기능을 개발할 수 있습니다.

라이브 링크를 통합하는 방법은 두 가지입니다:

  1. 새로운 소스를 라이브 링크에 노출하는 언리얼 엔진 플러그인을 만듭니다. 이미 자체 스트리밍 프로토콜이 있는 사용자에게 권장되는 방법입니다.
  2. 메시지 버스 엔드 포인트를 서드 파티 소프트웨어에 통합시켜 내장 메시지 버스 소스에 대한 데이터 전송기 역할을 할 수 있도록 합니다. 마야와 모션빌더 플러그인 제작에 사용된 방법입니다.

일반 플러그인 개발에 대한 개요는 플러그인 설명서 페이지를 참조하십시오.

라이브 링크 모션 컨트롤러 지원

이제 라이브 링크를 모션 컨트롤러와 함께 사용할 수 있습니다. 모션 컨트롤러의 모션 소스 프로퍼티를 라이브 링크 내 제목으로 설정할 수 있습니다. 이런 식으로 설정하면 모션 컨트롤러 컴포넌트의 위치는 서브젝트의 첫 번째 트랜스폼이 관리합니다.

모션 컨트롤러 통합은 라이브 링크 주제의 커스텀 파라미터에 접근할 수도 있습니다. 이들은 라이브 링크 서브젝트에 내장된 커브를 통해 전달됩니다.

값에 접근하려면 MotionC