언리얼 엔진 4.11 릴리즈!
March 31, 2016

언리얼 엔진 4.11 출시!

저자: * Alexander Paschall

이번 릴리즈에는 GitHub 의 언리얼 엔진 개발자 커뮤니티가 제출한 92 종의 개선사항을 포함, 수백종의 언리얼 엔진 4 업데이트가 포함되어 있습니다! 언리얼 엔진 4.11 에 기여해 주신 모든 분들께 감사드립니다:

Anton Olkhovik (Sektor), Alessandro Osima (AlessandroOsima), Alexandru Pană (alexpana), Andreas Axelsson (judgeaxl), Andreas Schultes (andreasschultes), Artem (umerov1999), Artem V. Navrotskiy (bozaro), Ben Reeves (BGR360), bensch128, Black Phoenix (PhoenixBlack), Brandon Wamboldt (brandonwamboldt), Cameron Angus (kamrann), Christoph Becher (chbecher) ,Clay Chai (chaiyuntian), Dan Ogles (dogles), David Baack (davidbaack), Eli Tayrien (ETayrienHBO), Eren Pinaz (erenpinaz), G4m4, Hannah Gamiel (hgamiel), Hevedy (Hevedy), Hyeon-Cheol Cho (crocuis), Igor Karatayev (yatagarsu25), Jason (Abatron), Jefferson Pinheiro (Ixiguis), kallehamalainen, Kiqras, Konstantin Nosov (gildor2), Leon Rosengarten (lion03), Manny (Manny-MADE), Marat Radchenko (slonopotamus), Markus Breyer (pluranium), marynate, Matthias Huerbe (MatzeOGH), Maxim (maxpestun), Moritz Wundke (moritz-wundke), Mustafa TOP (MSTF), Nikos Tsatsalmas (ntk4), Pablo Zurita (pzurita), Pavel Dudrenov (dudrenov), Peter Oost (Sirrah), Piotr Bąk (Pierdek), projectgheist, Rama (EverNewJoy), Rene Rivera (grafikrobot), Rob Ray (robdeadtech), Robert Khalikov (nbjk667), sackyhack, sankasan, Sébastien Rombauts (SRombauts), Simon Taylor (simontaylor81), Skylonxe, Spencer Brown (JedTheKrampus), Tam Armstrong (tamarmstrong), Thomas Mayer (tommybear), Thomas McVay (ThomasMcVay), unktomi, Verdoso, ZehM4tt.

새로운 내용

이번 릴리즈는 다수의 신기능과 여러가지 퍼포먼스 최적화로 꾸려져 있습니다. 저희 차기작 게임 파라곤 발매를 준비하면서, 퍼포먼스야 말로 큰 관심사였는데요. 4.11 에는 실사 캐릭터 렌더링에 초점을 맞춘 새로운 렌더링 & 애니메이션 기능이 다수 포함되어 있으며, 새로운 오디오 기능과 툴 개선사항도 준비되어 있습니다. VR 관련해서도, VR 렌더링 개번과 최신 SDK 지원으로 최신 발매 VR 하드웨어로도 게임을 발매할 수 있도록 준비하고 있습니다.

주요 기능

퍼포먼스 및 멀티스레딩

지난 몇 개월간은 UE4 를 최적화시켜, 저희 차기작 게임 파라곤이 PC 와 PlayStation 4 에서 60fps 가 나오도록 하는 데 주력했습니다.

파라곤은 저희 팀에 독특한 도전과제를 세트로 안겨줬습니다. 파라곤에서는 한 번에 애니메이션이 있는 10 명의 영웅과 120 마리 이상의 미니언, 엄청난 양의 FX 를 지원하면서 동시에 아름답고 세밀한 맵을 먼 가시거리까지 60fps 로 렌더링해야 합니다. 파라곤은 엔진을 한계까지 밀어붙였으며, 특히나 애니메이션과 렌더링 부분이 그랬습니다.

image alt text

엔진 전반에 걸친 수천종의 자잘한 최적화는 파라곤 퍼포먼스의 커다란 향상으로 이어졌으며, UE4 로 제작되는 모든 게임에도 이득이 될 것입니다. 그 최적화 다수가 4.11 에 포함되어 있으며, 추후 릴리즈 버전에는 더욱 많아질 것입니다. 지금까지 작업한 최적화 굵직한 것 중 몇 가지는 이렇습니다.

병렬처리. 멀티코어 배분은 최신 PC 와 콘솔에서 높은 프레임을 내기 위해 매우 중요한 부분이기에, 여러가지 방법으로 스레딩 아키텍처 를 개선시켰습니다. 이를 통해 태스크 생성 비용 감소, 높은 우선권 태스크 지원, 다수의 동기화 지점 제거 등이 이루어졌습니다.

렌더링 퍼포먼스. 이제 렌더러의 GPU 용 명령 버퍼 생성 및 워커 태스크 크기 밸런싱 능력을 개선시켜 GPU 부하 추가 없이 최대한의 병렬 처리 성능을 낼 수 있습니다. 렌더러의 동기화 지점을 제거하여 가능한 모든 코어를 더욱 잘 활용할 수 있도록도 했습니다.

클로쓰 시뮬레이션 이 대폭 빨라져 멀티 스레딩을 더욱 잘 활용합니다. 이제 워커 스레드에서 각 애셋에 대한 APEX 솔버를 직접 호출합니다. 이로써 스케쥴 성능이 훨씬 개선되고 다수의 동기화 지점과 부하가 제거됩니다. 클로딩은 이제 (블렌딩이 필요치 않은 경우) 애니메이션 이후 업데이트되고, 그렇지 않은 경우 스켈레탈 메시 컴포넌트 업데이트 이후에 일어납니다.

가비지 콜렉션 속도가 빨라졌습니다. 이제 가비지 콜렉션 "클러스터"를 지원, 엔진이 오브젝트 그룹을 하나의 단위로 취급하도록 하여, 고려할 오브젝트 갯수를 현저히 줄이는 것이 가능해졌습니다. 현재 머티리얼과 파티클 시스템에 대해서만 클러스터가 지원됩니다. 추가적으로 마킹 & 소멸 단계가 캐시와의 일관성이 높아져, 시간적인 면에서는 1/9 로 감소되고, 도달가능성 분석 단계 도중에서도 메모리 교란(churn) 정도가 줄었습니다.

멀티 스레드 애니메이션. 애니메이션 그래프 업데이트가 이제 워커 스레드에서 실행되어 다수의 애니메이션 캐릭터를 복수 코어에 배분시킬 수 있게 되었습니다. 애니메이션 관련 API 다수가 폐기되고, 애니메이션 그래프의 워커 스레드 실행상 제약이 있으니 업그레이드 노트를 참고하시기 바랍니다.

즉시 애니메이션 변수 접근. 애니메이션 그래프 업데이트에 변수 접근을 위한 ‘빠른 경로’를 추가했습니다. 그 덕에 블루프린트 코드 실행 없이 내부적으로 파라마터를 복사해 주기만 하면 됩니다. 현재 컴파일러가 최적화할 수 있는 구조체는, 멤버 변수, 무효화된 불리언 멤버 변수, 중첩 구조체의 멤버입니다.

애니티브 애니메이션 ‘굽기’. 이제 애디티브 애니메이션 굽기 를 켤 수 있는 옵션이 생겼습니다. 이로 인해 애디티브 애니메이션 사용이 약 3 배 빨라졌습니다. 애디티브 애니메이션의 델타 포즈 계산에 소요되는 작업이 실행시간이 아닌 쿠킹 시간에 이루어집니다. 그 덕에 애디티브 델타 생성에 관련된 계산 작업뿐 아니라, 베이스 애니메이션 압축해제를 더이상 실행시간에 할 필요가 없어 그에 관련된 메모리 접근 및 할당도 줄었습니다. 이 기능을 켜면 쿠킹 시간이 늘어나므로, a.UseBakedAdditiveAnimations 콘솔 변수를 1 로 설정하여 켜줘야 합니다. 앞으로의 엔진 버전에서는 이러한 부분을 피하도록 애니메이션 쿠킹을 다시 하고, 이 최적화를 영구히 켜도록 할 것입니다.

신규: 실사 헤어 셰이딩

영화계의 최근 연구를 기반으로 하여 현실적인 헤어를 위한 물리 기반 셰이딩 모델 을 추가했습니다.

image alt text image alt text

스페큘러 로브 둘, 투과, 산란을 모델링합니다. 이 기능을 사용하려면, 단순히 머티리얼 에디터의 셰이딩 모델 목록에서 Hair 를 선택하면 됩니다.

신규: 실사 눈 셰이딩

이제 캐릭터의 눈에 대해서도 언리얼 엔진의 새로운 물리기반 셰이딩 모델을 사용하여 매우 사실적인 눈 표현이 가능합니다.

image alt text

이 셰이딩 모델은 눈 흰자위의 피하 산란, 홍채의 초면, 습윤층의 스페큘러 등을 추정해 냅니다. 눈 머티리얼과 눈알 지오메트리와 함께 사용하는 것이 좋으며, 그럴 경우 각막을 통한 굴절, 눈동자 외곽선 암화, 동공 확장 제어와 같은 추가 모델링이 가능합니다.

신규: 피부 셰이딩 개선

사실적인 피부 셰이딩 모델 인 서브서피스 스캐터링 프로파일의 퀄리티와 퍼포먼스 향상 이 이루어졌습니다.

image alt text

업데이트된 셰이딩 모델은 반해상도로 실행되며 GPU 메모리를 덜 차지합니다. 산란은 해상도와 무관하게 이루어지며, 오브젝트 가장자리의 색 전환도 더이상 없습니다. 텍스처와 라이팅 디테일 보존 관련해서도, 디퓨즈와 스페큘러 라이팅 양쪽을 하나의 픽셀에 꾸려넣기 보다 체크무늬 패턴에 독립적으로 저장시키는 방식으로 개선되었습니다.

신규: 실사 클로쓰 셰이딩

클로쓰용 물리 기반 셰이딩 모델 을 추가했습니다. 흐릿한 층 시뮬레이션으로 전에 없던 수준의 사실적인 클로쓰 결과물을 내게 되었습니다. 사용하려면 머티리얼 에디터에서 클로쓰 셰이딩 모델을 사용하십시오.

image alt text

신규: 캡슐 그림자

언리얼 엔진은 이제 캐릭터의 캡슐 표현물 로부터 매우 연한 간접 그림자 를 드리울 수 있습니다.

image alt text

보통 간접광만 있을 때는 스크린 스페이스 앰비언트 오클루전 말고 다른 그림자는 없습니다. 간접광은 여러 방향에서 오기에 간접 그림자는 매우 연해야 하는데, 전통적인 섀도 맵은 여기에 맞지 않습니다. 간접 그림자 방향과 연도는 볼륨 라이팅 샘플 배치와, 라이팅 빌드 도중의 라이트매스에 의해 계산됩니다.

게임 내에서, 간접 캡슐 그림자가 캐릭터를 배경 바닥에 안착시키는 효과를 내는 모습입니다:

image alt text

직접 그림자에도 캡슐을 사용할 수 있습니다. 라이트의 Source Radius 또는 Source Angle 옵션으로 얼마나 연하게 할지를 결정합니다. 이를 통해 라이팅을 구은 효율적인 환경에서 매우 부드러운 캐릭터 그림자를 낼 수 있는데, 전에는 불가능했던 일입니다.

image alt text

이 캡슐 그림자 구현은 섀도잉을 반해상도로 계산한 뒤 깊이에 따른 업샘플링을 사용하고, 스크린 타일 컬링을 통해 섀도잉 작업을 꼭 필요한 곳에만 제한시키므로 매우 효율적입니다.

GPU 비용은 드리워진 그림자에 영향받은 픽셀 수와 캡슐 수에 비례합니다.

캡슐 그림자 활성화 방법:

  1. Sphyl 바디(캡슐)로만 피직스 애셋을 새로 만듭니다. 구체도 가능합니다만 유연성이 떨어집니다. 캡슐은 조인트 부분에 살짝 겹쳐야 합니다. 발 캡슐이 가장 중요한데, 캐릭터가 땅에 안착해 보이도록 미세조정해야 합니다. 팔은 보통 커버를 활용하거나 땅을 기지 않는 이상 필요지 않습니다.

  2. 스켈레탈 메시 애셋의 섀도 피직스 애셋에 그 피직스 애셋을 할당합니다.

  3. 마지막으로, 스켈레탈 메시 컴포넌트에 캡슐 간접 그림자를 켭니다.

신규: 파티클 뎁스 오브 필드

작은 초점을 벗어난 파티클을 불투명 파티클 렌더링시와 같은 방식으로 뎁스 오브 필드에 확장시키는 것이 가능한 머티리얼 함수가 새로 생겼습니다.

image alt text

왼쪽 그림은 땅에 다수의 파티클이 배치된 단순한 씬입니다. 오른쪽 그림은 원형 뎁스 오브 필드가 활성화되어, 새로운 머티리얼 함수가 초점을 벗어난 파티클을 다른 모든 지오메트리처럼 렌더링합니다. 퀄리티는 심지어 더 나은데, 노이즈 부작용을 겪지 않기 때문입니다. 깜빡임 방지를 위해 항상 초점을 벗어난 파티클은 한 픽셀 이상 확장시킵니다.

이 기능은 파티클 머티리얼에 변화를 가해야 합니다:

image alt text

신규: 디더링된 오파시티 마스크

이제 Dithered Opacity Mask 를 통해 불투명 머티리얼을 사용하여 반투명 표면 에뮬레이션 이 가능합니다.

image alt text

머티리얼 에디터의 "Dithered Opacity Mask" (디더링된 오파시티 마스크) 체크박스는 템포럴 안티앨리어싱 활성화시 순서 무관 반투명의 확률적 형태입니다. 템포럴 AA 를 사용하여 여러 프레임에 걸쳐 전경의 오브젝트와 배경을 블렌딩합니다. 이를 통해 약간의 노이즈와 고스팅 비용으로 세미-반투명 오브젝트에 대해 디퍼드 셰이딩의 모든 기능을 활용할 수 있습니다.

신규: 디더링된 LOD 크로스페이드

스태틱 메시는 이제 애니메이션이 적용된 디더링 패턴을 사용하여 레벨 오브 디테일간의 부드러운 상호전환 이 가능합니다.

image alt text

주: 이 기능은 약간의 퍼포먼스 비용이 있어 머티리얼에서 켜줘야 합니다.

image alt text

신규: 계층형 LOD 개선

이번 릴리즈에는 계층형 레벨 오브 디테일 (HLOD) 시스템이 크게 개선 되었습니다. 계층형 LOD 는 다수의 디테일 메시가 멀리 있을 때 소수의 간단한 메시로 자동 대체해 주는 기능입니다. 그 덕에 오브젝트를 가까이 볼 때는 높은 퀄리티가 유지되고, 레벨의 전반적인 퍼포먼스가 빨라졌습니다.

image alt text

파라곤의 Agora (아고라) 맵으로, 트라이앵글 수는 (394만 에서) 256만으로, 드로 콜 수는 (7060 에서 5690) 으로 줄었습니다.

HLOD 를 최대한 활용하기 위해서는, Simplygon SDK (별도 라이선스)가 필요합니다. Simplygon 은 폴리곤 수가 적은 프록시 메시를 생성하는 데 필요합니다. 없는 경우, 시스템에서는 굽기를 통해 다른 머티리얼을 사용하는 섹션만 하나의 드로 콜로 합칩니다.

또한 새로 생긴 계층형 LOD 아웃라이너 는 레벨의 HLOD 구성에 도움이 되는 세팅이 여러가지 있습니다.

신규: VR 인스턴스드 스테레오 렌더링

Instanced Stereo Rendering (인스턴스드 스테레오 렌더링)은 엔진의 VR 헤드셋용 입체 이미지 렌더링 효율을 높여주는 최적화입니다.

기존에는, 엔진이 입체 이미지를 렌더링할 때, 왼쪽 눈의 모든 것을 그린 다음 오른쪽 눈의 모든 것을 그렸습니다. 인스턴스드 스테레오 렌더링은, 양쪽 눈을 동시에 렌더링하여, CPU 작업을 대폭 줄여주고, GPU 효율성을 향상시킵니다. 두 가지 기법을 비교해 보면 이렇습니다:

image alt text

테스트 콘텐츠로 Bullet Train 을 들어 보면, 별다른 작업 없이도 CPU 시간에서 약 14%, GPU 에서 약 7% 향상되었습니다! 대부분의 렌더링 기능이 스테레오 인스턴싱과 작동은 하지만, 아직 지원하지 않는 기능도 (DFAO 등) 몇 가지 있습니다.

프로젝트에 이 기능을 사용하려면, 에디터의 프로젝트 세팅으로 가서 "Instanced Stereo" (인스턴스드 스테레오) 박스를 체크하면 됩니다.

image alt text

신규: 애님 다이내믹스 (캐릭터의 빠른 물리 시뮬레이션)

Anim Dynamics (애님 다이내믹스)는 자체적으로 독립된 애니메이션 블루프린트용 완전 새로운 단순 물리 시뮬레이션 노드로, 피직스 솔루션 전체를 사용할 필요 없이 스켈레탈 메시에 동적인 모션을 순차적으로 추가시킬 수 있습니다.

image alt text

애님 다이내믹스의 주요 기능에 대한 개요입니다:

  • 리짓 바디 시뮬레이션 단순화

    • 애니메이션 평가 단계에서 실행됩니다.

    • 애니메이션 반응을 위해 컴포넌트 스페이스에서 실행됩니다.

    • 빠른 시뮬레이션을 위해 콜리전이 없습니다.

    • 중력 계산에는 박스만 지원됩니다.

  • 리짓 바디 컨스트레인트

    • Angular 각형 - 셋째 축은 잠긴 두 축 컨스트레인트입니다. 리짓 바디는 두 축을 중심으로 한 주어진 각도 범위 내에서 회전 가능합니다. 직선축 & 평면축과 같이 사용할 수 있습니다.

    • Cone 원뿔형 - 리짓 바디를 컨스트레인트에 지정된 각도 내에 유지시키는 자유 회전 컨스트레인트입니다. 직선축 & 평면축 컨스트레인트와 같이 사용할 수 있지만, 선택되면 각축은 대체됩니다.

    • Prismatic 직선형 - 세 개의 주요 축 모두에 대한 이동을 지정된 한계치로 제한시키는 3 축 선형 컨스트레인트입니다.

    • Planar 평면형 - 리짓 바디가 절대 건널 수 없는 무한 확장 면 목록으로, 걸려있는 오브젝트의 바닥면 또는 오브젝트가 캐릭터에 관통되지 않도록 할 때 사용할 수 있습니다. 각 면은 월드 스페이스에 배치되거나, 그 트랜스폼을 캐릭터의 본으로 구동시킬 수 있습니다.

  • 체인

    • 각 노드는 하나의 다이내믹 본 또는 비슷한 컨스트레인트 데이터를 공유하는 다수의 다이내믹 본 체인을 표현할 수 있습니다. 이를 통해 다수의 연결 바디 시뮬레이션시 보다 현실적인 방식의 작동이 가능합니다.

    • 하나의 노드로는 체인으로 힘을 밀어 가하기만 할 뿐, 그 반응이 전파되지 않습니다 - 체인 모드로 양방향 힘을 가할 수 있어 보다 나은 체인을 만들 수 있습니다.

  • 스프링 타겟

    • 선형 & 각형 스프링으로 보다 높은 탄성 효과를 낼 수 있습니다. 이 스프링은 개별적으로 환경설정 가능하며, 다양한 스프링 상수를 가질 수 있습니다.

  • 바람

    • 애님 다이내믹스는 APEX 클로쓰 오브젝트에 영향을 끼치는 것과 동일한 바람 소스 액터와 함께 사용할 수 있습니다. 이는 노드별로 껐다 켰다 토글 가능하며, 스케일 조절을 통해 완벽한 바람의 느낌을 낼 수 있습니다.

  • 적응형 서브스테핑

    • 시뮬레이션은 피직스 프로젝트 세팅에서 취한 보통 틱 세팅으로 실행시킬 수도 있고, 적응형 서브스텝을 사용해서 실행시킬 수도 있습니다.

    • 시뮬레이션은 노드별로 환경설정 가능합니다 - 그래서 시뮬레이션의 추가 반복처리를 통한 수렴이 필요한 경우, 서로간의 시뮬레이션에 영향을 끼치지 않고 필요한 만큼 만들도록 환경설정 가능합니다.

    • 이 모드에서는 시뮬레이션이 실제 실행된 시간부터의 게임 틱 발생 시간을 독자적으로 기록, 뒤쳐지기 시작하면 시간 빚을 유지하고 시뮬레이션을 여러 번 실행시킵니다. 이는 꼬리를 무는 문제가 생길 수 있어서 최대치 제한이 있지만, 복잡한 시뮬레이션에 안정성을 더할 수 있습니다.

  • 시각화

    • 노드 선택시 다양한 부분을 시각화시키는 옵션이 노드에 있습니다. 사용할 수 있는 비주얼라이저에서 커버하는 부분은:

      • 각형 제한

      • 직선형 제한

      • 평면형 제한

      • 평면형 제외 메소드 (평면형 제한을 포함한 구체같은 콜리전)

신규: 게임플레이 라이브 애니메이션 녹화

이제 라이브 게임플레이 도중 스켈레탈 메시의 애니메이션 녹화 를 한 뒤 애님 시퀀스 애셋으로 저장할 수 있습니다!

image alt text

이 애셋은 엔진 내에서 사용하거나, FBX 로 익스포트하여 써드파티 툴에서 사용할 수 있습니다. 이는 라이브든 리플레이 감상이든, 실제 게임 상황에서도 작동합니다.

이 기능 사용법:

  • 애니메이션을 녹화하려면, 콘솔창에 다음 명령을 입력합니다: RecordAnimation <액터 ID 이름> [새 애셋 경로]

  • 녹화 중지 명령은: StopRecordingAnimation <액터 ID 이름 또는 "all">

  • 애셋 경로를 생략하거나 잘못된 경로를 입력하면, 선택창이 뜹니다. 월드 아웃라이너를 사용하여 녹화하고자 하는 액터 이름을 찾을 수 있습니다 (액터 위에 커서를 올리면 그 "ID 이름"을 알 수 있습니다).

신규: 뎁스 오브 필드 퀄리티 향상

이제 뎁스 오브 필드 샘플링 수 ("Circle DOF")를 늘리는 것으로, 약간의 퍼포먼스 추가 비용에 노이즈를 감소시켜 퀄리티를 향상시킬 수 있습니다.

image alt text

신규: 플랫폼 & SDK 업데이트

일반적인 업데이트와 아울러, 다양한 VR 플랫폼 출시 한도에 맞춰 타이틀 출시가 가능하도록 주요 VR 플랫폼 전부 최신 SDK 를 사용하도록 업데이트했습니다. 이 업데이트와 아울러 안정성 및 최종 마무리 작업에도 집중적으로 신경을 써, 4.11 의 UE4 타이틀은 무엇이든 VR 발매 가능! 상태일 것입니다.

image alt text

이번 릴리즈에서의 플랫폼 하이라이트입니다:

  • Oculus Rift 1.3.0 SDK 가 언리얼 엔진 4.11 핫픽스로 곧 나올 예정입니다. (언리얼 엔진 4.11.0 에는 Oculus Rift SDK 0.8.0 베타입니다)

  • Oculus Mobile SDK 1.01

  • Playstation VR SDK 3

  • SteamVR 0.9.12

  • PS4 SDK 3.008.201 (w/ PSVR)

  • Xbox One XDK November QFE 1

  • HTML5 SDK (Emscripten) 1.35.0

  • Linux Clang 3.7.0

  • Apple tvOS 9.0 지원 (GitHub 전용)

신규: DirectX 12 개선

image alt text

언리얼 엔진에 Microsoft 의 DirectX 12 업데이트를 통합, 렌더링 명령 병렬 생성시의 CPU 활용도를 높임과 동시에, 다중 루트 시그너처 지원, 비동기 파이프라인 상태 디스크 캐시 기본 활성화, 메모리 요구량 감소 & 누수 해결, 리소스 전환 최적화, 메모리 할당 속도 향상, GPU 유휴 시간 도중 작업 플러싱을 통한 GPU 기아 현상이 제한됩니다.

Xbox One 용 DirectX 12

Microsoft 가 Xbox One 에서의 DirectX 12 지원이 실험단계로 추가되었습니다!

이 기능 활성화는 몇 단계로 이루어집니다:

  • BaseEngine.ini 의 XboxOneRuntimeSettings 섹션에 bBuildForD3D12true 로 설정합니다.

  • XboxOneShaderCompiler.cpp 에서 D3D12_ROOT_SIGNATURE 를 1 로 설정합니다.

  • PostProcessSelectionOutline.usf 의 GetSamplePosition 사용 부분을 코멘트로 뺍니다 (아직 Xbox One 에는 지원되지 않습니다).

  • 리빌드 후 재시작합니다!

실험단계 속성상, 활성화시 렌더링 및/또는 안전성 문제가 있을 수 있습니다.

신규: Mac OS X 에서의 Metal 렌더링

Mac OS X El Capitan 에서 Metal 이 기본 그래픽 API 가 되었습니다!

image alt text

에픽에서는 Apple, AMD, Nvidia, Intel 과 긴밀히 협업하여 Mac 용 Metal 을 통합하였으며, 4.11 에서는 OS X El Capitan 에 대한 주 그래픽 API 로 OpenGL 을 대체하게 되었습니다. 4.11 릴리즈에는 기본적으로 Metal 과 OpenGL 에 걸쳐 동일한 렌더링 기능이 제공됩니다. Metal 에는 미리 컴파일된 셰이더와 효율적인 멀티스레드 지원을 통해 GPU 연산력을 극대화시키는 고효율 저부하 API 가 제공됩니다. 계속해서 Mac Metal 에 대한 지원을 확장 발전시키도록 하겠으며, 앞으로의 엔진 버전에서 새로운 API 기능이 적극 활용될 것을 기대합니다.

셰이더 모델 5 기능에 대한 Metal 의 실험단계 지원도 추가되어, 명령줄 스위치에 -metalsm5 를 붙여 시도해 보실 수 있습니다.

신규: 라이팅 빌드 속도 향상 (Intel Embree 지원)

Intel 의 Embree 레이 트레이싱 라이브러리를 라이트매스에 통합, 그와 관련된 라이팅 빌드 속도가 대폭 향상되었습니다.

라이팅 빌드 시간의 대부분은 레이 트레이싱에서 빛이 어떻게 튕기는지 알아내는 데 들어갑니다. 실험 사례로 Sun Temple 레벨 라이팅 빌드 시간이 Embree 를 사용했더니 (45 초에서 18 초로) 2.4 배 빨라졌습니다! Indirect Lighting Quality 를 4 로 설정한 상태에서 결과물은 시각적으로 동일했습니다.

신규: 라이트매스 포탈

스카이라이트의 실내 퀄리티가, 개방된 곳에 Portal (포탈) 액터를 구성하는 것으로 크게 향상됩니다.

image alt text

포탈 액터는 라이트매스더러 어디에 빛이 입사되는지를 알려줄 뿐, 실제 발광하지는 않습니다. 사용하기 가장 좋은 곳은, 작지만 최종 라이팅에 중요한 영향을 끼치는 개방구를 커버할 때입니다. 그러면 라이트 & 섀도 퀄리티가 향상되는데, 라이트매스가 빛이 들어오는 쪽을 향해 광선을 집중시킬 수 있기 때문입니다. (아래 왼쪽: 포탈 없음. 아래 오른쪽: 포탈 있음.)

image alt text

라이트매스 퀄리티의 퀄리티 향상 내용은 그 외에도 여럿 있습니다:

  • 포인트 / 스포트 / 디렉셔널 라이트와 Static Lighting Level Scale 값이 작을 때의 빛샘 부작용 현상을 수정했습니다.

  • 스카이 라이트 간접광이 개선되었습니다.

신규: 메시에서의 복사를 통한 애니메이션 포즈

애니메이션 그래프 내 스켈레탈 메시 컴포넌트간 포즈를 복사하는 애니메이션 노드를 새로 추가했습니다. Master Pose Component 의 강화 버전인데, 새로운 애니메이션과 소스 애니메이션 블렌딩이 가능하기 때문입니다.

image alt text

위 예제에서, 건틀렛은 자체 애님 블루프린트에서 Copy Mesh Pose 노드를 사용하여 여자 캐릭터인 소스 메시의 손과 팔 트랜스폼 정보를 복사해 옵니다. 동시에 건틀렛의 스파이크는 독립 애니메이션이 적용됩니다.

image alt text

다른 메시 컴포넌트에서 포즈를 복사하도는 소스 메시를 설정했습니다. 본 이름이 일치하는 곳의 트랜스폼 정보만 복사해 옵니다. 노드에서 포즈를 구해 오면, 다른 애니메이션을 블렌딩해 넣을 수 있습니다.

소스 메시 애니메이션은 타겟보다 앞서 일어나야 하는데, 타겟이 소스에 붙을 때 자동으로 일어나며, 조인트 이름이 일치해야 합니다. 또한 본 트랜스폼 정보는 피직스 시뮬레이션에 앞서 복사되므로, 소스 메시 시뮬레이션이 있는 경우 작동하지 않습니다. 타겟 메시 애니메이션이 피직스 실행 이후 일어나는 경우 문제가 되지 않기는 합니다.

신규: LOD 본 감소 툴

이제 스켈레탈 메시 LOD 에서 본 제거 가 가능합니다. 스켈레탈 웨이팅이 자동으로 업데이트됩니다! 게임의 캐릭터 애니메이션 퍼포먼스를 쉽게 향상시킬 수 있습니다.

image alt text

스켈레톤 트리 의 우클릭 메뉴에 새로 생긴 ‘자손 제거’ 옵션을 사용하여 특정 LOD 의 본을 끄시면 됩니다.

image alt text

기존에 이 부분은 메시 감소 툴과 밀접하게 결합되어 있었습니다. 이제 본을 제거하고자 하는 LOD 를 확인한 상태에서, 원하는 조인트를 선택한 뒤, 원한다면 그 자손까지 제거 가능합니다. 현재 LOD 에서만 제거할지, 아니면 하위 LOD 전부를 포함시킬지 선택하는 옵션도 있습니다.

본을 제거한 후에는 회색으로 변하여 현재 LOD 에서 스킨이 입혀지지 않았음을 나타냅니다. 페르소나의 LOD 프리뷰 모드에서도 본 비활성화시 이름이 회색으로 표시됩니다.

마지막으로, 스켈레톤 트리 툴바의 LOD 본 표시 옵션 드롭다운이 새로 생겨 어떤 본을 표시할지 필터링할 수 있습니다.

image alt text

신규: 파티클 컷아웃 (빠른 플립북 파티클 렌더링)

Particle Cutouts (파티클 컷아웃)으로 플립북 파티클 렌더링이 세 배나 빨라졌습니다!

플립북 애니메이션(Sub-UV 애니메이션 모듈)을 사용하는 파티클은 낭비되는 오버드로가 꽤 발생하는 경향이 있습니다 - 픽셀 셰이더를 실행시켜야 하나, 최종 오파시티는 0 인 곳이 그랬습니다. 예를 들어 아래 텍스처는 거의 반투명 픽셀로 구성되어 있습니다.

image alt text

이제 보이지 않는 영역은 컷아웃(잘라내기)하고, 바운딩 지오메트리가 훨씬 꼭 맞는 파티클을 렌더링할 수 있게되어, 애니메이션 몇 프레임 재생중인지와 관계 없이 전체 쿼드를 사용하지 않아도 됩니다.

image alt text

구성

엔진에서는 기본적으로 파티클 컷아웃을 사용할 수 없는데, 머티리얼 그래프는 텍스처에서 오지 않을 수도 있는 파티클의 오파시티를 생성하는 로직을 허용하기 때문입니다. 파티클 컷아웃을 사용하려면 아티스트가 직접 구성을 해 줘야 합니다.

  1. (콘텐츠 브라우저에서 텍스처에 우클릭하여) 플립북 텍스처에서 ‘SubUV 애니메이션’ 애셋을 새로 만듭니다.

image alt text

  1. SubUV 애니메이션 애셋을 열어 Sub Images 프로퍼티가 제대로 설정되었는지 확인합니다. 플립북 텍스처마다 이 처음의 두 단계는 한 번만 해 주면 됩니다.