이번 출시에는 수백종의 언리얼 엔진 4 업데이트와, GitHub 의 언리얼 엔진 개발자 커뮤니티가 제출한 53 종의 개선사항이 포함되어 있습니다! 언리얼 엔진 4.10 에 기여해 주신 모든 개발자분들께 감사 말씀 드립니다:
Andreas Axelsson (judgeaxl), Andrew Scheidecker (AndrewScheidecker), Artem (umerov1999), Artem V. Navrotskiy (bozaro), Cengiz Terzibas (yaakuro), Christopher P. Yarger (cpyarger), Clay Chai (chaiyuntian), Cliff Jolly (ExpiredPopsicle), Coherent UI (CoherentUE4), Derek van Vliet (derekvanvliet), Frugality, Guillaume Buisson (monsieurgustav), Ian Fox (MaideCa), Jay Mattis (braindx), Jeff Rous (JeffRous), Joshua Olson (MrMormon), Kacper Kowalczuk (Ogniok), Marat Radchenko (slonopotamus), Markus Breyer (pluranium), Michael Allar (Allar), ondys, Piotr Bąk (Pierdek), Rama (EverNewJoy), Ren Wilson (rwils), Rene Rivera (grafikrobot), Robert Khalikov (nbjk667), Robert Williams (Rottbott), Ryan Luck (overlawled), Salamanderrake, Sébastien Rombauts (Srombauts), Sergey Vikhirev (BorMor), Shaijan, ssoria, Sylvain Rochette (labidus), Tam Armstrong (tamarmstrong), TheSoeldner, x414e54
새로운 내용
언리얼 엔진 4.10 에 오신 것을 환영합니다! 이번 출시에는 여러가지 뛰어난 신기능이 포함되어 있으며, 엔진 안전성 향상과 현안 문제점들을 고치는 데 역점을 두었습니다. 보고된 버그 수백종이 수정되었으며, 개발자 삶의 질을 향상시켜 줄 여러가지 기능이 추가되었고, 지원되는 거의 모든 플랫폼이 이번 업데이트의 수혜 대상이 되었습니다. 언리얼 엔진은 엄청난 가상현실 경험을 내기 위해 디자인되었으며, 매번 출시마다 나아지고 있습니다. 에픽의 "불릿 트레인" VR 데모 제작에 바로 이번 버전의 신기능이 활용되었는데, 머리 장착 디스플레이 용으로 특별히 디자인된 새로운 렌더링 최적화에 힘입었습니다. 모바일 역시 이번 출시에 멋지게 업그레이드 되었는데, 새로운 엔진 퀄리티(scalability) 기능과 굴절(refraction) 지원이 그것입니다. 마지막으로 그 못지 않게 중요한 것이, 프로그래머에게 희소식일텐데, 이제 윈도우에서 개발용으로 Visual Studio 2015 를 사용할 수 있게 되었습니다. 그리고 맥에서도, Xcode 프로젝트를 활용한 작업 효율을 향상시킬 수 있도록 강화시켰습니다. 또한 최신 SDK 를 지원하도록 타겟 플랫폼을 개선하기도 하였습니다.
주요 기능
모바일용 굴절 이펙트
굴절(refraction)이펙트가 이제 모바일 플랫폼에 완벽 지원됩니다. 굴절이 있는 기존 셰이더는 자동으로 이번 출시에서 모바일 디바이스에 작동되며, 별다른 작업은 필요치 않습니다!
- 아이폰 5S, 안드로이드 디바이스는 넥서스 5, 갤럭시 노트 4, 갤럭시 S6 이상에서 활성화됩니다.
- 다른 디바이스에서는 해당 디바이스 프로파일에서 r.RefractionQuality 렌더 변수를 설정하여 활성화시킬 수 있습니다.
VR 렌더링 최적화
이번 출시에서는 머리 장착 디스플레이 전용 새로운 렌더링 최적화 덕에 VR 게임이 더욱 빨라졌습니다. 새로운 "숨김 / 표시 메시 최적화"를 구현하여 VR 렌더링의 GPU 부하를 줄였습니다. 불릿 트레인 VR 데모, 에픽게임즈 제작 이 두 가지 최적화는 렌즈 왜곡으로 인해 실제 디바이스에서는 표시되지 않는 픽셀에 GPU 시간을 낭비하지 않도록 해줍니다. 숨김 영역 메시는 프리패스(prepass)처럼 작동, 시야에서 숨겨진 영역을 나타내는 메시를 정한 뒤, 그 메시 뒤의 모든 것을 거부합니다. 그 다음, 포스트 프로세싱 단계에서, 그 메시의 역을 구하면 표시되는 픽셀을 나타내고, 여기에만 포스트 프로세싱을 실행하면 됩니다. 이와 같은 두 가지 기법을 사용하여, "무료로" 퍼포먼스를 향상시킬 수 있습니다! "불릿 트레인" 의 경우, PC 에서는 총 0.25 ms 정도 절약되었으며, 총 프레임 시간은 겨우 11 ms 였습니다. 콘솔 플랫폼에서 얻을 수 있는 퍼포먼스 향상은 훨씬 클 것으로 기대됩니다!
Visual Studio 2015 지원
언리얼 엔진이 윈도우 플랫폼에서 Visual Studio 2015 를 지원합니다! Visual Studio 2015 에는 여러가지 신기능 이 포함되어 있어서 작업방식 개선에 도움이 될 뿐만 아니라, 최신의 C++ 언어 기능, 이를테면 유니폼 이니셜라이저나 델리게이팅 컨스트럭터 등이 지원됩니다. 신형 컴파일러 역시 매우 표준에 가까워져서, 코드의 오류를 보다 잘 감지해낼 수 있습니다. Visual Studio 2015 Community Edition 은 바로 여기서 무료로 다운로드 가능합니다. 다른 버전은 Visual Studio 웹 사이트 를 참고하십시오. 언리얼 엔진은 Visual Studio 2015 Community, Professional, Enterprise 뿐만 아니라 (약간 제한이 있긴 하지만) Express for Desktop 도 지원합니다. 중요: 엔진의 런처 배포판은 이제 반드시 C++ 지원 활성화된 Visual Studio 2015 가 필요 합니다. 팀에서 사용중인 버전을 업그레이드해 주세요! 언리얼 엔진의 새 프로젝트 마법사를 통해 Visual Studio 2015 다운로드와 설치를 도와드리고 있습니다. 중요: Visual Studio 2015 인스톨러는 수동 설치시 기본적으로 C++ 를 설치하지는 않습니다. 확인창이 뜨면 "Custom" 을 선택한 다음 Programming Languages 섹션을 펼쳐 Visual C++ 를 체크해 주세요. 프로젝트를 처음 컴파일할 때, 새로운 C++ 컴파일러는 보다 엄격하므로 새로 발생되는 컴파일러 오류를 세심히 살펴보시기 바랍니다. Microsoft 에서 게시한 이 문서 를 통해 코드에 영향을 끼칠 수 있는 변경사항 예제를 살펴볼 수 있습니다. Visual Studio 2013 을 계속 사용하려면, GitHub 소스 코드를 통해 엔진을 직접 컴파일하셔야 합니다. 런처 배포판에서 Visual Studio 2013 을 지원하지 않는 일차적인 이유는, 양쪽 컴파일러 버전 모두에 대해 컴파일된 바이너리, 디버그 심볼, 스태틱 라이브러리를 전부 제공하면 엔진 크기가 너무 커져 윈도우에서의 프로젝트 구성이 보다 복잡해지기 때문입니다. 앞으로의 출시에서는 Visual Studio 2013 이 아예 지원되지 않을 것입니다.
모바일 머티리얼 퀄리티
새로운 머티리얼 퀄리티 시스템을 통해 최신의 디바이스에서 퀄리티를 희생시키지 않고도 저사양 디바이스를 쉽게 지원할 수 있도록 퀄리티 세팅이 가능합니다! 이제 모든 머티리얼에 대해 저/중/고퀄리티 셰이더 버전을 생성할 수 있습니다! 각 단계마다 선택적으로 렌더링 기능을 꺼 저사양 디바이스에서의 퍼포먼스를 향상시킬 수 있습니다. UE4 에서는 대중적인 디바이스 다수에 대해 적당한 기본 퀄리티 레벨을 자동으로 감지해 줍니다. 갤럭시 S6 에지 (고퀄리티 머티리얼)
- 고퀄리티 머티리얼 자동 선택
- 스페큘러 리플렉션, 러프니스, 메탈, 노멀 맵, 디렉셔널 라이팅
갤럭시 S3 (머티리얼 퀄리티 하향)
- 최적의 퍼포먼스를 위해 머티리얼 퀄리티 자동 조정
- 스페큘러 리플렉션, 러프니스는 다양, 메탈, 노멀맵, 디렉셔널 라이팅은 꺼짐
UE4 플랫폼 업데이트 & SDK
매번 UE4 출시마다 지원 플랫폼 개선과 아울러 최신 플랫폼 SDK 지원이 업데이트됩니다. 이번 출시에서 업데이트된 플랫폼:
- Oculus Rift 는 0.8 SDK Beta 지원
- Oculus Mobile SDK 는 0.6.2 지원
- Xbox One 은 August XDK 로 업데이트, Visual Studio 2015 로 컴파일 가능
- Playstation 4 는 SDK 3.00 (Playstation VR 포함!) 지원
- iOS 는 SDK 9.0 지원
- Mac OS X 는 SDK 10.11 (El Capitan) 지원
- Xcode 는 Version 7 지원
- 안드로이드는 Marshmallow (6.0) 지원
- Linux/SteamOS 에 지속적인 픽스, 로우 레벨 함수성에 약간의 개선
랜드스케이프 미러링 툴
새로운 미러링 툴을 사용하면 대칭형 랜드스케이프를 쉽게 만들 수 있습니다. 양팀 대전형 랜드스케이프 레벨 제작시 정말 유용합니다!
- 하이트맵, 머티리얼 레이어, 랜드스케이프 그래스를 미러링합니다.
- X 또는 Y 축으로 미러링합니다.
낮은 지연속도의 VR 모션 콘트롤러
모션 콘트롤러 컴포넌트가 이제 렌더링 시작 직전 최종 업데이트를 하도록 변경되었습니다. 최종 업데이트된 컴포넌트와 되지 않은 컴포넌트의 위치 및 회전 차이를 아래에서 확인하실 수 있습니다. 보통 속도의 팔 좌우 동작 도중 찍은 스크린샷입니다.
이는 머리 장착 디스플레이의 지연시간 감소를 위해 사용된 기법과 동일한 것입니다. 이제 모션 콘트롤러 컴포넌트의 위치 업데이트는 한 프레임에 두 번, 한 번은 입력 틱 도중에, 한 번은 렌더링 직전에 합니다. 반응 감도가 좋아지고, 플레이어가 현실에서 하는 동작을 더욱 잘 반영한다는 뜻입니다. 이 기능은 기본적으로 켜집니다.
자동 블루프린트 노드 정렬
블루프린트 그래프를 빠르게 자동으로 정렬해 주는 종합 레이아웃 루틴 세트를 추가했습니다. 그냥 선택 노드에 우클릭한 뒤 "Alignment" (정렬)을 선택하면 해당 노드가 자동으로 정렬됩니다. 이 기능으로 가능한 작업은 다음과 같습니다:
- 선택된 노드들을 바운드에 따라 정렬합니다 (상/중/하, 좌/중/우).
- 선택된 노드를 가로/세로 축을 따라 분산시킵니다.
- 선택된 노드 사이 연결을 정돈합니다.
- 특정 핀에 연결된 특정 링크를 정돈합니다.
안드로이드의 웹 브라우저 UI
안드로이드가 이제 슬레이트 코드를 사용해서 C++ 로 또는 위젯 블루프린트로 만든 웹 브라우저 위젯을 지원합니다. 어느 웹사이트의 콘텐츠를 표시하는 데 사용, 예를 들어 사용자에게 뉴스 페이지나 도움말을 보여줄 수 있습니다.
- 안드로이드에서는, 플랫폼의 네이티브 웹 콘트롤을 사용하므로 실행파일 크기가 증가되지 않습니다.
- iOS 에서의 웹 브라우저 위젯은 앞으로의 버전에 지원 예정입니다.
안드로이드용 게임패드 기능
이제 안드로이드에 다중 게임패드가 지원됨은 물론, 자주 사용되는 콘트롤러 유형 식별 및 매핑도 포함됩니다. 자동 감지되는 안드로이드 콘트롤러는 다음과 같습니다. 그 외의 콘트롤러에는 기본적으로 범용 매핑이 사용됩니다.
Amazon Fire Game Controller & Amazon Fire TV 리모콘
NVIDIA SHIELD Controller & SHIELD Portable
삼성 게임패드 EI-GP20
그 외 안드로이드 콘트롤러 신기능:
- 콘트롤러 디바이스의 이름에 따라 매핑이 자동 감지됩니다.
- 다중 콘트롤러가 동시에 지원됩니다.
- 오른쪽 조이스틱의 Z/RZ 와 RX/RY 매핑 모두 처리합니다.
- 왼쪽 트리거 / 브레이크, 오른쪽 트리거 / 악셀 축이 정상 작동합니다.
- X/Y Hat 은 이제 방향 패드 버튼 이벤트에 매핑됩니다.
참고로 동시에 하나 이상의 콘트롤러 지원시, 미할당 게임패드의 버튼을 누르면 이제 디바이스 ID 를 첫 번째 미할당 콘트롤러 ID 에 연관시킵니다. 게임패드에 콘트롤러 ID 할당은 다음의 세 블루프린트 노드를 통해 질의 또는 소거 가능합니다:
Xcode 프로젝트 정비
게임에 Xcode 프로젝트 생성되는 방식을 크게 개선시켰습니다! 이제 Xcode 의 라이브 이슈와 "Fix It" 기능을 접근할 수 있으며, 인덱싱 속도가 훨씬 빨라졌습니다. 게다가 빌드 환경설정 전환도 훨씬 쉬워졌습니다! 다중 프로젝트가 들어있는 단일 프로젝트가 아닌, 이제 타겟당 하나씩 다중 프로젝트로 구성된 워크스페이스가 생겼습니다. 이제 Xcode 에서 UE4.xcodeproj 가 아닌 UE4.xcworkspace 를 엽니다. 워크스페이스 내 각 프로젝트는 여러가지 UE4 타겟을 빌드하는 데 사용되는 단일 스키마를 생성합니다. 어떤 버전을 빌드하고 실행할 지는 현재 환경설정과 플랫폼에 의해 결정됩니다. Xcode 에서의 UE4 타겟 선택:
신형: | 구형: |
UE4 Build Configurations in Xcode: 더이상 어떤 파일을 실행할지 걱정하지 않아도 됩니다. 빌드 환경설정을 변경하면 Xcode 에서 자동으로 올바른 앱을 선택해 줍니다. *참고로 현재 환경설정을 바꿔도 스키마 에디터의 Executable 드롭 다운이 업데이트되지 않고 있는데, 이는 Xcode 관련 알려진 문제입니다*. 그래도 Xcode 에서 실행시 올바른 앱이 사용됩니다.
표시는 StrategyGame.app 으로 되지만, StrategyGameEditor.app 이 실행됩니다! 프로젝트 인덱싱 작업이 훨씬 빠르고 정확해 졌습니다. 추가적으로, 라이브 이슈가 표시되며, Xcode 의 Fix-it 시스템이 정상 작동합니다:
Mobile Provisioning 프로필 선택기
이제 iOS 프로젝트 세팅에서 사용자가 명시적으로 mobils provisiojn 과 certificate 를 선택할 수 있게 되었습니다. 기존에는 "최적의" provision & certificate (아래에서 녹색으로 강조)가 사용되었었습니다. 이제는, 그 옆에 있는 체크 박스를 통해 최적이 아닌 특정 provision 또는 certificate 를 선택할 수 있습니다. 선택된 항목이 없으면, 녹색 부분이 사용됩니다.
출시 노트
AI
- 버그픽스: AI 에이전트가 감각을 잃는 경우 더이상 AI 감각 등록 코드에 크래시가 나지 않습니다.
비헤이비어 트리
- 버그픽스: AI 가 하나의 비헤이비어 트리 애셋에서 다른 애셋으로 전환할 때 더이상 비헤이비어 트리 노드 인스턴스에 크래시가 나지 않습니다.
- 디버깅 툴을 추가했습니다.
- 게임플레이 디버거에 게임 HUD & 디버그 메시지 토글을 위한 키보드 단축키를 추가했습니다. 엔진 환경설정 파일에서 사용자가 직접 단축키 설정이 가능합니다.
내비게이션
- 버그픽스: 내비게이션 시스템의 내비게이션 에이전트 비교가 이제 내비게이션 데이터 인스턴스를 다중 내비메시 환경에서 적합한 에이전트와 맺어줍니다.
- 버그픽스: 내비메시 레이캐스트가 이제 올바른 좌표계의 노멀 벡터를 반환합니다.
- 버그픽스: 더이상 맵 로드시마다 에디터가 풀 내비메시 리빌드를 하지 않습니다.
- 버그픽스: 에디터가 레벨 로드시 유효한 내비게이션 메시를 버리지 않습니다.
- 버그픽스: 내비게이션 바운드 수집 프로세스를 수정, 플레이용 액터가 초기화될 때까지 내비게이션 시스템 초기화를 지연시킵니다.
애니메이션
- 스테이트 이름을 요청하는 애님 인스턴스 블루프린트 함수를 추가했습니다.
- 버그픽스: 블렌드스페이스 입력 데이터가 애셋 전환시 더이상 무효화되지 않습니다. 이러한 경우에도 이제 블렌드 필터가 정상 작동합니다.
- 버그픽스: 에디터가 처음 열릴 때 블렌드스페이스 에디터가 더이상 크래시가 나지 않습니다.
- 버그픽스: 기간이 0 인 크로스페이드 사용시 애니메이션 전환에서 divide by zero 가 날 수 있던 것을 고쳤습니다.
- 버그픽스: 음수 커브 값을 애니메이션 몽타주에 전달할 수 있으며, 더이상 0 으로 제한되지 않습니다.
- 버그픽스: 모든 애니메이션 서브 스테이트 머신은 이제 네이티브 바인딩으로도 정상 작동합니다. 예전에는 최상위 레벨 스테이트 머신만 정상 작동했었습니다.
오디오
- PC/XboxOne 플랫폼에서 풀을 사용하여 XAudio2 보이스를 재사용합니다.
- 버그픽스: 리버브 이펙트가 지정된 리버브 이펙트를 제대로 활성화시킵니다.
- 다수의 사운드 동시 재생시의 퍼포먼스를 최적화시켰습니다.
블루프린트
- 블루프린트에 대한 정렬(alignment) 명령을 추가했습니다.
- 상단/중앙/하단 & 왼쪽/가운데/오른쪽 정렬이 가능합니다.
- 가로/세로 간격 조절이 가능합니다.
- 노드/핀 사이 연결 정돈이 가능합니다.
- 버그픽스: 에디터에서 플레이(PIE) 세션 도중 블루프린트 저장시의 크래시를 고쳤습니다.
- 버그픽스: 컴파일 단계 도중 사용자가 블루프린트를 체크아웃 할 때의 크래시를 고쳤습니다.
- 버그픽스: PIE 종료시 폰의 UnPossess 이벤트 도중 AI 콘트롤러가 폰을 Possess 할 떄의 크래시를 고쳤습니다.
- 버그픽스: "Create Event" 노드의 그래프가 트랜잭션 버퍼에 있을 때 그래프나 델리게이트 삭제시의 크래시를 고쳤습니다.
- 버그픽스: PIE 시작 실패시의 크래시를 고쳤습니다.
- 버그픽스: 타임라인 노드 복제 관련해서 그 후 "실행"이 실패되게 만들던 문제를 고쳤습니다.
- 버그픽스: 자손의 구현이 제거된 이후 함수 입력 제거시의 크래시를 고쳤습니다.
- 버그픽스: Macro Instance 노드에 핀 연결을 끊은 이후 다시 연결할 때의 크래시를 고쳤습니다.
- 버그픽스: 자손-부모 애니메이션 블루프린트 클래스 애셋 관련 크래시를 고쳤습니다. (Initialize Animation 호출에서 TRASHCLASS 어서트 세부사항 크래시 리포트 관련입니다.)
- 버그픽스: 블루프린트 함수 입출력 핀에 긴 이름을 입력할 때의 크래시를 고쳤습니다.
- 버그픽스: 컴파일된 게임 프로젝트 핫 리로드 이후의 크래시 가능성을 고쳤습니다.
- 버그픽스: 매크로 라이브러리의 소스 그래프 삭제 후 유효하지 않은 매크로에서의 크래시를 고쳤습니다.
- 버그픽스: 새 맵이 열려있는 도중 뷰포트를 클릭할 때의 크래시를 고쳤습니다.
- 버그픽스: 구조체 연산 (Make, Break, Set Members) 노드에서 "레퍼런스 찾기" 사용시의 크래시를 고쳤습니다.
- 버그픽스: 블루프린트의 "Make Date Time" 노드에 유효하지 않은 값을 입력할 때의 크래시를 고쳤습니다. 이제 그냥 로그에 오류만 보고합니다.
- 버그픽스: 블루프린트에서 컴포넌트 삭제 후 되돌리기/다시하기 크래시를 고쳤습니다.
- 버그픽스: 삭제된 블루프린트 컴파일 이후 복원시 되돌리기/다시하기 크래시를 고쳤습니다.
- 버그픽스: 블루프린트에서 "Draw Debug Float History" 와 "Draw Debug Transform History" 사용시의 크래시를 고쳤습니다.
- 버그픽스: 단축키로 로컬 변수를 추가할 때, 로컬 변수를 지원하지 않는 그래프에서 해도 더이상 에디터 크래시가 나지 않습니다.
- 버그픽스: 블루프린트 함수에서 액터 회전 조정시의 무한 루프 가능성을 제거했습니다.
- 버그픽스: "선택 컴포넌트를 블루프린트 클래스로 변환"시의 크래시를 고쳤습니다.
- 버그픽스: 순환종속 블루프린트 서브클래스에서 임의의 기본값으로 리셋되지 않습니다.
- 버그픽스: Asset Class ID 변수 중 블루프린트 클래스 레퍼런스로 설정된 것이 더이상 로드시 "PLACEHOLDER" 클래스 레퍼런스로 대체되지 않습니다.
- 버그픽스: 블루프린트가 더이상 순환종속(out-of-date) 매크로 라이브러리에서의 매크로 노드 오류를 포함해서 로드되지 않습니다.
- 버그픽스: 타임라인이 가끔 에디터에서 플레이 세션시 리디렉터를 잘못 생성하던 희귀한 경우를 고쳤습니다.
- 버그픽스: For Each Enum 은 이제 모든 Enum 값에 대해 정상 작동합니다.
- 버그픽스: User Defined Enums 는 이제 0 에서 시작하며, 더이상 2 씩 증가하지 않습니다.
- Get Class Defaults 노드를 새로 배치해도 더이상 오브젝트 레퍼런스를 포함한 배열 프로퍼티가 포함되지 않습니다. 안전하지 않을 수 있는 연결때문에 그렇습니다.
- 추가적으로, 오브젝트 프로퍼티 역시 같은 이유로 노출시키지 않았습니다.
- 이제 (부모 클래스에서 오거나 외부 멤버 레퍼런스로부터 오거나 해서) 멤버 변수가 아닌 경우, 블루프린트 디테일 뷰에서 더이상 편집불가 옵션이 편집가능으로 표시되지 않습니다.
- Get Class Defaults 노드는 이제 클래스 & 인터페이스 변수를 노출시킵니다.
- 그래프 노트 코멘트 말풍선이 개선되어 배열 그래프 노드 유형의 입력핀을 방해하지 않습니다.
코어
- 쿠킹된 패키지도 이제 에디터가 실행되는 플랫폼과 동일한 비-에디터 버전으로 쿠킹되었을 때 에디터에서 로드 가능합니다.
- 커스텀 버전 시스템을 최적화시켜 저장 패키지가 차지하는 공간이 줄고 실행시간 접근이 빨라졌습니다.
- 버그픽스: 애니메이션 블루프린트를 삭제한 뒤 다른 것으로 대체할 때의 크래시를 고쳤습니다.
- 버그픽스: 쿠킹된 빌드에서 스트리밍 패키지를 사용할 때의 높은 메모리 사용량을 고쳤습니다.
- 버그픽스: 클래스 디폴트 오브젝트가 아니면서 다수의 컴포넌트를 블루프린트에 추가시킨 아키타입에서 블루프린트 오브젝트 생성시의 크래시를 고쳤습니다.
- 버그픽스: UDP Socket Receiver 가 Array Reader 크기를 실제 수신한 크기로 변경하지 않던 것을 고쳤습니다.
- 버그픽스: Visual Studio 툴체인에서 /Zm 컴파일러 플래그로 인해 발생하는 컴파일 문제를 고쳤습니다.
- 버그픽스: 여러가지 binned malloc 통계 관련 몇 가지 스레딩 문제를 고쳤습니다.
- 버그픽스: Binned Slack Current 통계 관련 메모리 보고를 정정했습니다.
- 버그픽스: out of memory 관련 메모리 통계 보고를 정정했습니다.
- 버그픽스: 여러줄 코멘트가 더이상 Unreal Header Tool 파싱을 깨뜨리지 않습니다.
- 버그픽스: 사용자 정의 enum 중 불연속 값이 제대로 지원됩니다.
- 버그픽스: 통계 코드의 유효하지 않은 TLS 슬롯 ID 사용을 고쳤습니다.
- 버그픽스: 블루프린트에서 인스턴싱된 서브오브젝트는 더이상 CDO 에서의 서브오브젝트가 포함되지 않습니다 (기여자 slonopotamus - Pull Request #1470).
- Unreal Header Tool 로그 출력 창의 로그 컴파일 오타를 고쳤습니다 (기여자 MrMormon - Pull Request #1460).
- 메모리 부족으로 인해 엔진 크래시가 났을 때 메모리 통계가 로그에 출력됩니다.
- OS 메모리 통계는 캡처되는 것이 있지 않는 이상 더이상 매 틱 캡처되지 않습니다.
- 버그픽스: 명령줄 실행파일 사용시, 크래시 이후 콜스택만 보였었습니다. 이제 전체 오류 히스토리가 콘솔에 덤핑됩니다.
- 버그픽스: 크래시 리포트 클라이언트가 이제 모든 프로젝트에 대해 올바르게 패키징됩니다.
에디터와 툴
- 새로운 실험단계 에디터 기능 "시퀀서" 가 추가되었습니다!
- 시퀀서는 새로운 레벨 액터 애니메이션 및 시네마틱 제작 툴입니다.
- 현재 버전은 기능 제한이 있으며 문서가 없습니다. 사전 알파 테스팅 용으로 등장한 것입니다.
- 시퀀서는 현재 활발히 개발중이므로 매번 출시마다 큰 발전을 목격하실 수 있을 것입니다.
- 용기가 있으신 분들은 테스트해 보시고 포럼이나 앤서 허브에 피드백 부탁드립니다.
- 브러시 Image Size 프로퍼티의 "디폴트로 리셋" 버튼이 이제 브러시 텍스처의 크기로 (설정된 경우) 리셋됩니다.
- 액터 병합 툴이 이제 콜리전 프리미티브 병합을 지원합니다.
- 디테일 패널 카테고리를 동적으로 표시하고 숨길 수 있는 기능을 추가했습니다.
- 디바이스에서 플레이 에디터 세팅 탭에 실행 환경설정 세팅을 추가, 에디터의 실행 버튼 드롭다운으로 실행시킬 빌드 환경설정을 지정할 수 있도록 했습니다.
- 이로 인해 소스 코드 프로젝트는 에디터 실행중인 것과 같은 환경설정으로 빌드 및 실행이 가능한 반면, 블루프린트 프로젝트는 항상 Development 환경설정으로 실행되던 문제가 해결되었습니다.
- 기본 세팅은 에디터와 같은 환경설정으로 실행하는 것이지만, 어떤 빌드 환경설정이든 지정할 수 있습니다.
- 오브젝트의 LOD 에 따라 다른 색으로 보여주는 에디터 뷰 모드를 새로 추가했습니다.
- 뷰 모드 메뉴나 viewmode lodcoloration 콘솔 명령으로 켤 수 있습니다.
- 각 LOD 에 사용되는 색은 BaseEngine.ini 의 LOD Coloration Colors 아래에서 설정 가능합니다.
- 액터 병합 툴에 피직스 데이터 (콜리전 프리미티브) 병합 기능을 추가했습니다.
- UnrealBuildTool 에 사용자가 BuildConfiguration.xml 파일을 변경할 때마다 makefile 을 리빌드하는 기능이 지원됩니다.
- 플러그인 생성기에 써드 파티 라이브러리 예제 추가법을 보여주는 템플릿을 추가했습니다.
- 에디터에서 시뮬레이트에서 액터 스폰/복제 작동방식을 변경했습니다.
- 이제 액터는 SIE 월드에 항상 임시 스폰되며, SIE 종료시 소멸됩니다.
- 이는 액터의 다른 프로퍼티와 마찬가지로 SIE 종료시 원래 상태로 돌아가는 것과 일치시키기 위함입니다.
- 새로 추가된 "디바이스 출력 로그" 창은 현재 안드로이드 디바이스용으로만 구현되어 있습니다. 에디터 실험단계 세팅에서 찾을 수 있습니다.
- 에디터 애널리틱스는 이제 안전성 향상을 위해 비정상 종료와 크래시 이벤트도 트래킹합니다.
- 에디터 애널리틱스 셧다운 보고가 개선되었습니다.
- 디버거가 붙을 때 비정상 종료를 깎습니다.
- 다중 인스턴스 실행시 공유 리소스 잠금을 향상시켜 리포트 손실을 방지했습니다.
- 에디터 사용자와 게임 최종 사용자를 위한 엔진 애널리틱스 세팅을 강화했습니다.
- "에디터 개인설정 -> Privacy -> Usage Data -> Options" 에서 에디터 세션 사용 데이터를 전송하는 별도의 애널리틱스를 켜고 끌 수 있습니다.
- 게임 최종 사용자의 기본 게임 애널리틱스 활성화 상태는 "프로젝트 세팅 -> Engine -> End-User Settings -> Privacy" 에서 설정할 수 있습니다.
- 최종 사용자 세팅은 게임 UI 에 쉽게 노출시킬 수 있으며, 에픽게임즈에 사용 데이터를 전송하는 옵션으로 나타날 것입니다.
- 두 세팅 모두 에픽게임즈에 분석 데이터를 전송하는 옵션이며, 개발자는 얼마든지 별도의 애널리틱스를 추가해도 됩니다.
- SuperSearch 를 개선시켜 기본 검색 엔진을 Google (기본) 또는 Bing 에서 선택할 수 있습니다. 중국에서는 Google 이 막혀있으므로, Bing 을 통해 내장 검색이 가능할 것입니다.
- 에디터에서의 브러시 복제 프로세스가 크게 최적화되었습니다.
- 브러시가 227 개 있는 테스트 레벨에서, 기존에 거의 4 분 걸리던 복제 작업이 약 2 초로 줄었습니다.
- 작업이 몇 초 이상 걸리는 경우, 진행상황 표시를 위한 대화창이 추가되었습니다.
- 버그픽스: 프로젝트 썸네일에 깨진 PNG 파일 사용시의 크래시를 고쳤습니다. 이로 인한 에디터 크래시 방지를 위해 이제 오류 처리가 PNG Image Wrapper 에서 수정됩니다.
- 버그픽스: 에디터 시작시의 크래시를 고쳤습니다. 기존에는 튜토리얼 이미지 로드 도중 크래시가 났었습니다.
- 버그픽스: 리캐스트 내비메시를 월드 아웃라이너 폴더에 넣을 때의 크래시를 고쳤습니다.
- 버그픽스: 커브 테이블 행 핸들에 구조체 변수 설정시의 크래시를 고쳤습니다.
- 버그픽스: 2x2 뷰에서 뷰포트 툴바를 확장시킬 때의 크래시를 고쳤습니다.
- 버그픽스: 에디터 뷰포트에서 자유로이 둘러볼 때 뷰 회전 행렬 계산 버그로 인한 크래시를 고쳤습니다.
- 버그픽스: 유효하지 않은 FBX 파일 임포트시의 크래시를 고쳤습니다.
- 버그픽스: 에디터가 열린 상태에서 에디터 외부에서 애셋 파일 이름을 변경할 때의 크래시를 고쳤습니다.
- 버그픽스: 브러시 액터 회전시 브러시 돌출이 정상 작동합니다.
- 버그픽스: 프로퍼티 트리의 인스턴스드 오브젝트 배열 복제시 오브젝트의 얕은(레퍼런스드) 복사가 아닌 깊은 복사가 올바르게 이루어집니다.
- 버그픽스: 다수의 프로퍼티에 해당하는 텍스트 프로퍼티 필드를 클릭해도 더이상 해당 프로퍼티들에 "복수의 값" 텍스트가 제출되지 않습니다.
- 버그픽스: 위젯이 카메라 뒤에 위치한 경우 위젯 델타가 제대로 계산되지 않던 문제를 고쳤습니다. Ctrl + 마우스 버튼으로 현재 선택된 액터를 한 축 이동시키려 해도 위젯이 카메라 뒤에 있는 경우 안되었었다는 뜻입니다.
- 버그픽스: 맥락 메뉴(, 예로 블루프린트 에디터 맥락 메뉴)의 서치 박스 위젯에서 Clear (비우기) 버튼을 눌렀을 때 부모 메뉴까지 닫히지 않도록 고쳤습니다.
- 버그픽스: Win DualShock 플러그인이 이제 Debug Editor 모드에 링크됩니다.
- 버그픽스: 액터 병합 툴이 소스 액터를 병합된 액터로 정상 대체합니다.
- 버그픽스: 미러링된 블로킹 볼륨이 이제 콜리전 지오메트리를 제대로 생성합니다.
콘텐츠 브라우저
- 콘텐츠 브라우저 애셋 발견 프로세스가 최적화되었습니다 (기여자 slonopotamus - Pull Request #1516).
- 버그픽스: 새로 추가된 콜리전의 이름을 지어도 더이상 그 선택 상태를 잃지 않습니다.
- 더이상 콘텐츠 브라우저를 통해 맵 복제가 불가능합니다.
랜드스케이프
- 미러링 툴을 추가, 랜드스케이프 지오메트리와 레이어를 면 기준으로 미러링할 수 있습니다.
- 버그픽스: ES2 피처 레벨 프리뷰나 모바일 프리뷰어를 사용해서 구멍을 칠한 랜드스케이프 관련 크래시를 고쳤습니다.
- 버그픽스: 랜드스케이프 페인팅 도중 재현하기 힘든 버그를 유발할 수 있던 머티리얼 컴파일의 경쟁 조건을 고쳤습니다.
- 버그픽스: Landscape Grass Output 노드의 None 항목이 랜드스케이프 그래스 메시를 잘못된 레이어로 할당하게 만들던 문제를 고쳤습니다.
- 버그픽스: 랜드스케이프 그래스에서 레이어가 5 개 이상인 경우 마지막 레이어만 표시되던 문제를 고쳤습니다.
- 버그픽스: 랜드스케이프 "레벨로 이동" 툴이 컴포넌트 이동시, 사용자가 마우스 버튼을 놓은 이후를 포함해서 들러붙지 않던 것을 고쳤습니다.
- 버그픽스: 랜드스케이프 컴포넌트 삭제 되돌리기를 해도 더이상 편집불가 상태로 남지 않습니다.
- 버그픽스: 랜드스케이프 그래스는 더이상 스태틱 라이팅 빌드 이후 "라이팅을 리빌드해야 합니다" 경고가 남기지 않습니다.
- 랜드스케이프 그래스는 더이상 그래스 인스턴스가 없는 랜드스케이프 영역에 대해 빈 그래스 맵 데이터를 저장하느라 메모리를 낭비하지 않습니다.
- 랜드스케이프 편집 모드가 아닐 때 레이어 디버그 뷰포트 뷰 모드 메뉴 항목을 제거했습니다.
- 이 뷰 모드는 레이어 체크박스가 없으면 의미가 없습니다.
- 랜드스케이프 편집 모드 이외에서 켜면 기존에는 랜드스케이프가 사라졌습니다.
머티리얼 에디터
- 버그픽스: 중복 항목이 더이상 머티리얼 에디터 맥락 메뉴의 검색 결과에 나타나지 않습니다.
마티네
- 버그픽스: 마티네에 잠긴 액터가 정의되어 있는 상태에서 F 키를 눌러 오브젝트에 초점을 맞춰도 에디터가 더이상 멈추지 않습니다.
- 오디오 트랙은 이제 마티네에서 스크러빙을 해도 올바른 위치에서 재생 시작됩니다.
페르소나
- 버그픽스: 스테이트 머신, 스테이트, 트랜지션의 삭제 및 생성 되돌리기/다시하기 관련 크래시를 고쳤습니다.
PhAT
- PhAT 에디터 뷰에 필드 오브 뷰 슬라이더를 추가했습니다.
소스 콘트롤
- 윈도우용 Git Source Coltrol 플러그인에 64 비트 git 실행파일이 지원됩니다 (기여자 SRombauts - Pull Request #1538).
월드 브라우저
- 버그픽스: 월드 컴포지션에서 더이상 고유하지 않은 이름의 레이어 생성이 불가능합니다.
- 버그픽스: 월드 컴포지션 창이 열린 상태에서 핫 리로드 관련 문제 가능성을 고쳤습니다.
폴리지
- 각 폴리지 메시 유형에 대한 표시여부를 에디터 뷰포트별로 켜고 끌 수 있습니다.
- 버그픽스: 여러 레벨에 걸쳐 칠해진 폴리지에 새로운 스태틱 메시를 할당할 때의 크래시를 고쳤습니다.
- 버그픽스: 폴리지 선택 강조가 더이상 되돌리기 후 남지 않습니다.
- 폴리지 툴에 Use as Occluder (오클루더로 사용) 체크박스를 추가, 폴리지가 D-Buffer 데칼을 제대로 받을 수 있도록 했습니다.
쿠커
- 실행 시간에 필요치 않은 에디터 디버그 콘텐츠가 쿠킹되지 않도록 했습니다.
- 버그픽스: 프로젝트 폴더 이름과 프로젝트 이름이 일치하지 않을 경우 변경된 콘텐츠가 devkit 에 디플로이되지 않던 문제를 고쳤습니다.
- 버그픽스: 파일 -> 쿠킹 에디터 기능에 cookall (모두 쿠킹)같은 파라미터가 빠져있던 것을 추가했습니다.
- 페르소나 튜토리얼 관련 쿠킹 경고가 더이상 나타나지 않습니다.
- 몇 가지 느린 에디터 쿠킹 통계를 껐습니다.
- 기존 파일별 소팅 보존을 위해 StableSort 를 사용해서 .pak 파일을 소팅합니다 (기여자 Shaijan - Pull Request #1377).
게임플레이 프레임워크
- 선택 (§) 키 바인딩이 가능합니다.
- 블루프린트가 이제 Debug Draw Circle 노드를 통해 원을 그릴 수 있습니다.
- UTextRenderComponent 가 계속해서 틱되기 보다는, 컬처 변경에 반응하도록 했습니다.
- 자손 액터에서 SetClass 사용시 더이상 부모와의 연결이 끊어지지 않습니다.
- 버그픽스: 자손 컴포넌트를 디태치할 때 On Attachment Change 구현에서도 자매 컴포넌트를 디태치하는 경우의 크래시를 고쳤습니다.
- 버그픽스: 사후 트랜스폼 내비메시 업데이트에서 크래시가 날 수 있던 잠재적 무한 루프 경우를 고쳤습니다.
콘텐츠 예제
- 포스트 프로세싱 콘텐츠 예제 맵에서 Blur G-Buffer 스탠드를 제거했습니다. 삭제된지 꽤 되는 기능입니다.
현지화
- 버그픽스: 윈도우에서 (중국어 버전) 에디터 언어 변경시의 크래시를 고쳤습니다.
네트워킹
- 리플레이 스트리밍 시스템이 이제 재생 일시정지 동안 새로운 시간으로 스크러빙해 이동할 수 있습니다. ShooterGame 에서 확인해 보세요!
- 버그픽스: 출력 로그에서 클라이언트가 ToggleDebugCamera 콘솔 명령 사용시 더이상 no owning connection 경고가 스팸되지 않습니다.
기타
- 햅틱 피드백 이펙트가 지원, 진폭과 주파수 커브를 사용해서 모션 콘트롤러에서 플레이어가 느끼는 반응을 정의합니다.
- Oculus Mobile SDK (GearVR) 를 0.6.2 버전으로 업그레이드했습니다.
- Oculus SDK 를 0.8 버전으로 업그레이드했습니다.
- 버그픽스: 부적절한 Is HMD Enabled 보고를 고쳤습니다.
피직스
- 버그픽스: PhysX 에서 타겟 업데이트를 위해 회전이 꽤나 커야했던 피직스 핸들 관련 정밀도 문제를 고쳤습니다.
- 콘솔에서 show collision 에 들어갈 때, 빌더 브러시가 더이상 현재와 같이 내부 디테일로써 보이지 않을 것처럼 렌더링되지 않습니다.
플랫폼
- 기본 무비 플레이어에 새로 생긴 bWaitForManualStop (수동 중지 대기) 옵션 플래그를 통해 무비를 직접 중지시키지 않는 한 연속 재생을 막을 수 있습니다.
- 리눅스, 맥, 윈도우에 PNG & JPG 스플래시 화면 이미지가 지원됩니다 (기여자 labidus - Pull Request #1444, x414e54 - Pull Request #1399).
- 버그픽스: 안드로이드 빌드와 iOS 빌드와 오리엔테이션 세팅 오버라이드가 이제 .ini 에 제대로 저장됩니다.
- 버그픽스: Pinch 이벤트가 매번 정상 발동됩니다.
- 이제 쿠킹시 올바른 텍스처 LOD 바이어스가 사용됩니다.
- 터치 이벤트와 실제 위치를 짝을 이룰 수 있도록 Touch Event Locations 를 추가했습니다. 손을 뗀 후의 손가락 ID 가, 뗀 위치와 먼 곳에서 발생한 다른 터치에 재사용되어 모든 이벤트에 잘못된 위치가 전송될 수 있었습니다.
- 에디터 프리미티브 (예로 디버그 와이어프레임) 렌더링이 OpenGL ES2 에서 위아래가 뒤집힌 상태로 렌더링되던 것을 고쳤습니다.
안드로이드
- 안드로이드 프로젝트용 실행 화면이 옵션으로 지원됩니다.
- 프로젝트 세팅의 안드로이드 플랫폼 섹션 아래 Show launch image (실행 이미지 표시) 체크박스로 켭니다. 가로 & 세로 예제는 Engine/Build/Android/Java/res/drawable 에서 PNG 파일로 찾아볼 수 있습니다.
- 안드로이드 플랫폼 섹션의 실행 이미지 부분에 있는 이미지 옆 "..." 링크를 클릭하면 뜨는 브라우저를 통해 별도의 이미지를 프로젝트에 복사해 넣을 수 있습니다.
- 실행 이미지 옵션이 꺼진 경우, 프로젝트의 오리엔테이션 설정에 따라 프로젝트용 이미지 하나 또는 양쪽 모두 포함됩니다.
- AndroidManifest.xml 에 targetSdkVersion 설정을 새로 추가, 기본 minSdkVersion 값을 덮어쓸 수 있습니다.
- 버그픽스: 맥의 안드로이드 플러그인 XML 경로에서 백슬래시를 고쳤습니다.
- 디바이스 프로파일 감지 메커니즘을 변경, 사용자 정의 규칙을 사용하여 디바이스 프로파일을 할당하고 새로운 안드로이드 디바이스를 감지할 수 있도록 했습니다.
- C++ 하드코딩이 아니라, 이제 일치하는 규칙을 BaseDeviceProfiles.ini 의 [/Script/AndroidDeviceProfileSelector.AndroidDeviceProfileMatchingRules] 섹션에 넣으면 됩니다.
- 안드로이드용 슬레이트 웹 브라우저가 첫 구현되었습니다.
- 패키징할 때 안드로이드 텍스처 포맷을 전부 아니면 하나만 선택할 수 있던 것에서, 이제 특정 세트를 선택할 수 있게 되었습니다.
- 플랫폼, 안드로이드 프로젝트 세팅 탭에서 쿠킹하고자 하는 포맷에 대한 박스를 체크하면 됩니다.
- 패키징시 Android_Multi 쿠킹 옵션을 선택하세요.
- 다중 AdMob Id 입력이 가능하며, Show Ad Banner 가 이제 인덱스를 받습니다. 새로운 Get Ad ID Count BP 노드로 배열 크기를 반환합니다.
- 이제 프로젝트의 Build/Android 디렉토리에 proguard-project.txt 가 생성되며, 옵션으로 ProguardAdditions.txt 파일 추가가 가능합니다.
- 쿠킹하는 안드로이드 OpenGL ES 셰이더 수를 줄여, 앱 크기가 조금 작아질 것입니다.
- 더이상 퍼 픽셀 HDR 셰이더를 32 비트와 64 비트 별도로 쿠킹하지 않고, 실행 시간에 디바이스에서 선택할 수 있도록 했습니다.
- 버그픽스: PowerVR GPU (예로 GT-I9500) 장착 갤럭시 S4 디바이스 변종에서 모바일 HDR 을 켜도 더이상 검정 화면으로 표시되지 않습니다.
- 버그픽스: 몇 가지 경우 편집박스 텍스트 내용을 수락할 때의 크래시를 고쳤습니다.
- 버그픽스: 디바이스 프로파일 에디터가 더이상 여러가지 안드로이드 텍스처 포맷 변종에 대해 공백 디바이스 프로파일을 생성하지 않습니다.
- 버그픽스: 게임이 이미 일시정지 상태인 경우 글로벌 (현재) 오디오 일시정지가 복원을 제대로 처리합니다.
- 버그픽스: 안드로이드가 크래시 콜스택을 안정적으로 로깅합니다.
- 와이파이를 통해 ADB 로 연결된 안드로이드 디바이스로의 디플로이를 고쳤습니다.
- 디바이스 모델 번호와 제조사, 안드로이드 버전, GPU 패밀리 및/또는 OpenGL ES 버전 등을 비교 또는 정규 표현식을 사용해서 구하여 디바이스 프로파일을 선택할 수 있습니다. 그 후 디바이스 프로파일에서 콘솔 변수 설정을 통해 감지된 디바이스에서의 언리얼 엔진 퍼포먼스를 최적화시킬 수 있습니다.
- 기본 세팅으로 흔한 디바이스를 감지하여 Android_High, Android_Medium, Android_Low 로 프로파일 할당합니다.
- 안드로이드에서 이제 크래시 콜스택을 안정적으로 로깅합니다.
- 안드로이드 프로젝트 Build/Android/src 클린업 작업시 OBB 다운로더가 생성한 자바 파일만 삭제합니다.
- 키스토어 패스워드가 pak 파일의 DefaultEngine.ini 에서 제거됩니다.
- 창 크기변경은 APP_CMD_CONFIG_CHANGED 이벤트에서 방향이 변경될 때만 발동됩니다.
- 기본 다운로더 배경 이미지를 (올바른 종횡비의 작은 PNG 파일로) 대체했습니다.
- 안드로이드 어플리케이션 표시명에서 이스케이프 처리가 필요한 < > & " 등의 특수 문자가 자동으로 처리됩니다.
- 최소 SDK 옵션 툴팁을 지원되는 최소 버전이 9 라고 업데이트했습니다.
- Android Package Name 에 쉼표로 구분한 섹션이 최소 둘 있어야 한다고 툴팁을 업데이트했습니다.
- 실행 화면이 켜진 전체화면을 몰입형으로 수정했습니다.
iOS
- 새로운 iOS 디바이스용 디바이스 프로파일을 추가했습니다 (아이폰 6S, 아이패드 미니 4 등).
- 내부 컴파일러 오류를 유발하던 실행시간 셰이더 링크 시도시 아이폰 6 디바이스 관련 문제 우회책을 추가했습니다. 그러한 경우 이제 OpenGL 을 사용합니다.
- iOS 프로젝트 세팅에 iOS 빌드용 부가 링커 플래그 추가 기능이 지원됩니다 (기여자 derekvanvliet - Pull Request #1282).
- iOS 용 Control Screen Saver 노드를 추가, 대기모드 전환시간 조절 기능이 지원됩니다.
- iOS 용 아이폰 진동 제어가 지원됩니다.
- iOS 8 SDK 이전 UI User Notification Settings 사용 관련한 수정이 있었습니다.
- AV Foundation Media 프레임워크 관련 일반적인 개선사항이 있었습니다.
- 무비 파일을 두 번째 재생할 때의 문제를 고쳤습니다.
- 루핑이 지원됩니다.
- 버그픽스: iOS 디바이스에서 Metal 에 MSAA 사용시 게임 시작할 때의 크래시를 고쳤습니다.
- 버그픽스: 다수의 레벨 로드 이후 유니폼 버퍼 해제시 발생하던 크래시를 고쳤습니다.
- 버그픽스: 맥 에디터에서 파일|패키지 를 통해 pak 파일 활용시 UnrealPak 이 간간히 멈추던 것을 고쳤습니다.
- 버그픽스: 잠금 화면으로 이동할 때, 홈 버튼을 누를 때, 화면을 밀어서 넘어갈 때 가끔씩 오디오가 사라지던 것을 고쳤습니다.
- 버그픽스: 원격 빌드 서버상에서 iOS 게임을 빌드할 때 써드 파티 프레임워크 접근 관련 문제를 고쳤습니다 (기여자 judgeaxl - Pull Request #1125).
- 버그픽스: 이제 PC 에서 iOS 컴파일시 원격 서버로 스태틱 라이브러리가 푸쉬됩니다 (기여자 pluranium - Pull Request #1483).
- 버그픽스: 원격 iOS 빌드의 일환으로 복사된 파일에 대해 권한 설정이 잘못되던 것을 고쳤습니다 (기여자 TheSoeldner - Pull Request #1578).
- iOS 7 이상에 대한 빌드시의 컴파일 오류를 고쳤습니다 (기여자 BorMor - Pull Request #1547).
- 버그픽스: iOS 에서 올바른 stdlib 로 정상 링크됩니다 (기여자 ssoria - Pull Request #1568).
- 특수 문자 포함 Bundle Name 호환성이 향상되었습니다.
- 게임에 전체 화면 활성화 및 Custom Resource Rules 제거를 통해 iOS App Store 호환성을 향상시켰습니다.
- Xcode 7 에서의 최신 인스트루먼트로 발견된 문제로 인해 맥에서 iOS 용 디바이스로 실행 옵션을 임시로 비활성화시켰습니다.
- iOS 9 에서 A7 디바이스의 Metal 관련, 크래시는 아니지만 검정 화면이 나오던 문제 우회책을 추가했습니다. 이 경우 OpenGL 을 사용합니다.
리눅스
- 스크립트 설치를 위해 Tanglu OS 를 추가했습니다 (기여자 cpyarger - Pull Request #1577).
- 리눅스에서 디버거로 파고 들어가기 전 모든 입력은 취할 수 없습니다.
- 리눅스 디바이스 프로파일 선택기를 구현했습니다.
- 리눅스용 플랫폼 추상화 레이어에서 메모리 프리펫치 함수를 구현했습니다.
- ensure(기여자 ) 콜스택이 이제 심볼화되어, 심볼화 속도가 빨라졌습니다 (bozaro - Pull Request #1583).
- LinuxNativeDialogs 써드 파티 라이브러이가 더이상 Ubuntu 이외의 배포판 셋업 도중 빌드되지 않습니다 (더이상 사용되지 않습니다).
- 버그픽스: 유효하지 않은 창 관련 크래시를 고쳤습니다 (기여자 andreasschultes - Pull Request #1589).
- 버그픽스: 리눅스에서 물리 코어 갯수 계산을 수정했습니다.
- 버그픽스: 이벤트 큐 처리시의 창 좌표 계산을 수정했습니다 (기여자 ExpiredPopsicle - Pull Request #1466).
- 버그픽스: 리눅스에서의 커스텀 커서를 수정했습니다 (기여자 overlawled - Pull Request #1582).
- 버그픽스: 슬레이트 파일 대화창의 인덱스 범위 초과 오류를 고쳤습니다 (기여자 chaiyuntian - Pull Request #1548).
- 버그픽스: Gnome 의 모달 대화창을 수정했습니다 (기여자 yaakuro - Pull Request #1388).
- 버그픽스: 리눅스의 (프로세스 및 전체 머신) 플랫폼 메모리 통계 보고를 수정했습니다.
- 다른 플랫폼과의 통일성을 위해 리눅스에서도 "-usehyperthreading" 명령줄 스위치가 유지됩니다 (기여자 slonopotamus - Pull Request #1594).
맥
- Mac OS X 에서 크래시 리포트 클라이언트로의 무인 자동화 보고 모드가 지원됩니다.
- 크래시는 물론 Ensure 도 보고됩니다.
- 경로에 공백이 있는 크래시 리포트 파일도 정상 작동합니다.
- /usr/local/bin 에 설치된 p4 명령줄 툴이 지원됩니다.
- OpenGL 에 서브서피스 스캐터링이 활성화됩니다.
- 버그픽스: 게임 스레드 생성 전 GLog 가 초기화된 경우 종료시의 크래시를 고쳤습니다.
- 버그픽스: 독립형 OpenGL 렌더러를 사용하는 앱에서 비활성 창에 위치한 드롭다운 클릭시의 크래시를 고쳤습니다.
- 버그픽스: Mac OS X Yosemite (10.10) 이전 버전에서 디버그 심볼(.sDYM) 관련하여 연관된 바이너리 옆에 있을 때 OS 가 dSYM 번들로 잘못 취급하여 발생하던 크래시를 고쳤습니다. dSYM 파일을 어플리케이션 번들 밖으로 이동시켰습니다.
- 버그픽스: Mac OS X 에서의 크래시 리포트 클라이언트가 이제 Send & Restart (전송 & 재시작) 사용시 올바른 프로젝트를 다시 열 수 있습니다.
- 버그픽스: 부 화면의 자체 지원되지 않는 전체화면 모드에서 마우스 커서 위치 처리를 수정했습니다.
- 버그픽스: Mac OS X 컴파일러가 필수 얼로케이터 오버라이드를 벗겨내는 바람에 메모리 오류가 유발되던 것을 고쳤습니다.
- 버그픽스: 프로젝트 프로퍼티의 맥 아이콘 미리보기가 더이상 바뀐 색으로 표시되지 않습니다.
- 버그픽스: DPI 가 72 가 아닌 이미지의 스플래시 화면 렌더링을 고쳤습니다.
- 버그픽스: Mac OS X 에서 심리스 큐브 맵 지원을 재활성화시켜 템플릿에 이상한 리플렉션이 생기던 것을 고쳤습니다.
- 버그픽스: Mac OS X 에서의 템포럴 AA 렌더링이 NaN 값을 제대로 처리합니다. Mac OS X 에서 아직 지원되지 않는 기능에 의존하는 셰이더 코드를 비활성화시켰습니다.
- 버그픽스: 비활성 에디터에서 드래그 가능 위젯에 클릭했을 때의 창 활성화가 수정되었습니다.
- 버그픽스: 앱 활성화시의 창 순서 문제가 수정되었습니다.
- Mac OS X 에서 단일 모니터보다 창 크기를 크게 할 수 있도록 하여, iOS 레티나 해상도로 프로젝트 스크린샷 작업이 가능해졌습니다.
- 에디터의 안드로이드 디바이스 감지시 .bash 프로파일의 ANDROID_HOME 세팅 첫 번째가 아닌 마지막 세팅이 유지됩니다.
- Mac OpenGL 의 심리스 큐브맵 지원을 재활성화시켜, 템플릿 프로젝트에 이상한 사각형 리플렉션이 나타나지 않도록 했습니다.
플레이스테이션 4
- 안전하지 않은 명령 버퍼를 사용하여 CPU 부하를 줄이는 기능을 추가했습니다. PS4 프로젝트 세팅에서 켤 수 있습니다. 싱글 스레드로 실행되는 ShooterGame 에서 드로 스레드의 CPU 시간이 약 0.4ms 절약됩니다.
- PAK 파일은 이제 패딩을 넣고 PKG 로 압축시켜 4.10 이상 버전으로 제작된 타이틀의 패치 크기를 줄입니다.
- SDK 를 3.000 으로 업그레이드했습니다.
- 버텍스/인덱스 버퍼는 구체적으로 CPU 리드백(readback)이 필요치 않은 한 항상 GPU 메모리를 사용합니다.
- 버그픽스: 청크 소멸시의 PS4 GPU 얼로케이터 크래시 픽스입니다.
- 버그픽스: 자동생성 메시 컴포넌트가 PS4 에서 그려집니다.
- 버그픽스: 터치패드가 이제 모피우스 활성화시 작동합니다.
- 버그픽스: 모든 사운드의 고정 리버브를 수정했습니다.
- 버그픽스: DS4 터치와 마우스가 이제 제대로 초기화됩니다.
- 버그픽스: 모피우스에서 실행시 터치 이벤트가 위젯을 제대로 히트합니다.
- 버그픽스: PS4 SDK 가 설치되지 않았는데도 PS4 C# 프로젝트가 UE4 솔루션에 추가되던 것을 고쳤습니다.
- 버그픽스: 디렉토리 반복작업이 특정 깊이의 폴더 레이아웃에서 정상 작동하지 않던 것을 고쳤습니다. 월드 컴포지션 사용시 레벨이 없어지는 문제가 해결됩니다.
- 버퍼 블록 큭기를 64k 로 줄였습니다. 병렬 렌더링의 메모리 부하가 감소되며, Onion GPU 메모리 풀의 압박이 줄어듭니다.
- 버텍스 / 인덱스 버퍼가 CPU 리드백(readback) 을 필요로 하지 않는 한 Garlic 메모리에서 할당되도록 옮겼습니다. 작은 GPU Onion 메모리 압박이 감소되며, 약간의 GPU 퍼포먼스 향상이 있습니다.
- 50GB 블루레이가 필요한 데 25GB 블루레이만 지정한 경우 패키징이 실패하게 만들던 패키징 버그를 잡았습니다.
엑스박스 원
- 엑스박스 원에서 디스턴스 필드 앰비언트 오클루전 및 섀도잉이 켜집니다.
- 기본 엑스박스 원 XDK 가 August 2015 버전으로 업그레이드되었습니다.
- 앞으로 있을 빠른 시맨틱 드라이버로의 전환 준비를 위해 여러가지 렌더링 최적화가 있었습니다.
- 다이내믹 버텍스 / 인덱스 버퍼는 이제 수동 처리되어, 드라이버에 소모되는 시간이 절약되고 GPU 와의 동기화를 피할 수 있습니다.
- 스왑체인 처리가 최신 API 로 업데이트되었습니다.
- 빠른 시맨틱과 작동하지 않는 구형 인증 코드 몇 가지를 제거했습니다.
- 셰이더 컴파일 옵션을 조정하여 GPU 퍼포먼스가 살짝 나아졌습니다.
- 유효하지 않은 콘트롤러 ID 가 포스 피드백 채널 함수로 전달된 경우 메모리 깨짐이 방지됩니다.
HTML5
- 버그픽스: HTML5 헬퍼 명령 템플릿 복사시 파일 읽기 전용 속성으로 인한 문제를 고쳤습니다.
- 버그픽스: 맥에서 HTML5 패키징 관련 여러가지 경로 슬래시 문제를 고쳤습니다.
- 버그픽스: 스트링 빌더가 이제 시스템에 따른 줄마침 대신 "\n" 을 출력합니다.
윈도우
- 유효하지 않은 콘트롤러 ID 가 포스 피드백 채널 함수로 전달된 경우 메모리 깨짐이 방지됩니다.
프로그래밍
- DDS 큐브맵 로딩을 변경하여 배열 오버플로우를 방지했습니다 (기여자 ExpiredPopsicle - Pull Request #1315).
렌더링
- 렌더 타겟 2D 는 이제 모든 밉맵을 자동 생성 가능합니다 (기여자 CoherentUE4 - Pull Request #189).
- 텍스처 스트리밍 예산을 넘어갈 때 경고 메시지가 표시됩니다.
- 버그픽스: 머티리얼 빌보드 컴포넌트가 제대로 컬링되지 않던 경우를 고쳤습니다.
- 버그픽스: Draw Material 을 사용해서 HUD 에 반투명 머티리얼을 렌더링할 때의 문제를 고쳤습니다.
- 버그픽스: 클로쓰와 스켈레탈 메시가 거의 뷰 밖으로 나갈 때 더이상 깜빡이지 않습니다.
- 버그픽스: 더티 상태의 분포가 있는 파티클 시스템이 디스크에 저장되는 것을 수정했습니다.
- 버그픽스: 머티리얼은 있으나 디더링된 LOD 트랜지션이 없는 HISMC 메시의 디더링된 LOD 트랜지션을 고쳤습니다.
- 버그픽스: 실행시간에 계층형 인스턴스드 스태틱 메시 인스턴스의 트랜스폼 조정시 더이상 잘못된 LOD 렌더링으로 인한 깜빡임이 발생하지 않습니다.
- 버그픽스: 실행시간에 계층형 인스턴스드 스태틱 메시 컴포넌트가 추가 또는 업데이트될 때 더이상 오클루전 쿼리로 인한 깜빡임이 발생하지 않습니다.
- 버그픽스: Light Accumulation 타겟에 대한 리졸브가 이제 논타일 리플렉션에 사용되기 전에 일어납니다.
- 버그픽스: Use as Occluder (오클루더로 사용) 체크박스가 이제 계층형 인스턴스드 스태틱 메시 컴포넌트에 정상 작동합니다.
- 버그픽스: 특정 플랫폼에서 Max Vertex Index 가 제대로 설정되지 않아 자동생성 메시 컴포넌트가 그려지지 않는 것을 고쳤습니다.
- 버그픽스: 클로쓰의 모션 블러가 수정되었습니다 (기여자 braindx - Pull Request #123).
- 버그픽스: 바인딩되지 않은 뎁스 타겟이 부작용을 유발하던 경우를 고쳤습니다.
라이팅
- 버그픽스: Light Propagation Volume 에 반투명 사용시의 크래시를 고쳤습니다.
- 버그픽스: 라이트매스가 무한 멈출 수 있던 경우를 고쳤습니다.
- 버그픽스: RTDF 섀도우가 있는 섀도우 프러스텀의 근거리 절단면으로 인해 오브젝트가 컬링되던 것을 고쳤습니다: 카메라 뒤의 섀도우 캐스터가 더이상 튀어나오지 않습니다.
- 버그픽스: 서브서피스 프로파일에 이제 컬러가 제대로 표시됩니다.
- 버그픽스: 스태틱 라이팅이 꺼진 프로젝트에서 반투명 위의 스카이라이트를 고쳤습니다.
포스트프로세싱
- 서브서피스 스캐터링이 이제 OpenGL 플랫폼에서 켜집니다.
- 스크린 스페이스 앰비언트 오클루전의 퍼포먼스 퇴보를 고쳤습니다.
최적화
- 스크린 스페이스 앰비언트 오클루전에 퀄리티 세팅(scalability)을 추가했습니다.
모바일 렌더링
- 모바일에서의 굴절은, 고사양 디바이스에 기본으로 켜집니다.
- 버그픽스: 포워드 셰이딩에서 언릿 머티리얼 사용시 잘못된 리플렉션 트랜스폼을 고쳤습니다.
- 버그픽스: 씬 캡처 렌더링 관련 여러가지 문제를 고쳤습니다.
- 최종 컬러 캡처는 이제 포워드 렌더러에 정상 작동합니다.
- 모바일 HDR 이 켜져있지 않은 상태에서 캡처할 때의 크래시를 고쳤습니다.
- 씬 렌더 타겟의 서브 사각형이 사용되었을 때 이미지 리졸브가 잘못될 수 있었던 포스트 프로세싱 버그를 잡았습니다.
- 버그픽스: iOS 플랫폼에서 뎁스 오브 필드 사용시의 크래시를 고쳤습니다.
- 버그픽스: 일부 안드로이드 디바이스에서 Object Scale 머티리얼 함수 관련 정밀도 문제를 처리했습니다.
- 버그픽스: Android 4.4.4 버전의 Nexus 5 에서 맵에 데칼이 있을 때의 크래시와 렌더링 문제를 고쳤습니다.
UI
- 버그픽스: 위젯 블루프린트 프로퍼티 에디터에서 배열 편집 도중의 크래시를 고쳤습니다.
- 버그픽스: 1 보다 큰 값에 대한 Byte 와 Enum 프로퍼티 애니메이션을 수정했습니다.
슬레이트
- 작업 영역보다 크기가 큰 Slate Window 는 이제 잘리지 않도록 크기가 제한됩니다.
- 버그픽스: 다이내믹 브러시를 사용하도록 설정되어 있지 않은 Slate Image Run 삭제시의 크래시를 고쳤습니다.
- 버그픽스: (Button 에서) Set Button Style 이 이제 커서올림과 눌림 상태의 사운드를 업데이트합니다. 이 사운드는 버튼의 스타일 변경을 통해 블루프린트에서 변경 가능합니다.
- 버그픽스: 서브메뉴 버튼 항목 관련해서 그 서브메뉴를 열 때 텍스트가 까맣게 변하게 만들던 렌더링 문제를 고쳤습니다.
- 버그픽스: 슬레이트 브러시 이미지 크기를 리셋시키면 이제 기본 슬레이트 크기(32x32)가 아닌 이미지 크기로 올바르게 리셋됩니다.
- 버그픽스: Text Box 의 텍스트와 Set Text 의 텍스트가 같아도 대소문자가 변경되면 업데이트됩니다.
UMG
- 버그픽스: UMG 디자이너에서 Switcher 밖으로 위젯을 끌고나갈 때의 크래시를 고쳤습니다.
- Widget Switcher 에 안전하지 않은 현재 위젯 인덱스가 자손 버퍼에는 범위를 벗어난 인덱스가 될 수 있던 것을 고쳤습니다.
- 버그픽스: 뷰포트에 UMG 위젯을 두 번 추가할 때의 크래시를 고쳤습니다.
- 버그픽스: Scroll Widget Into View 크래시를 고쳤습니다. null 값을 주어도 더이상 크래시가 나지 않습니다.
- 버그픽스: UMG 에디터에서 더이상 유효하지 않은 오브젝트 이름으로 위젯 이름 변경이 불가능합니다.
- 위젯 이름에 점이 있으면 복사/붙여넣기 이후 에디터 크래시가 났습니다.
- 버그픽스: UI 머티리얼 관련해서 감마 보정되지 않아 모바일 디바이스에서 PC 보다 어둡게 렌더링되던 문제를 고쳤습니다.
- 버그픽스: 편집중인 위젯 인스턴스가 들어있는 UMD 위젯이 자동 컴파일 실패하는 블루프린트 컴파일 문제를 고쳤습니다.
- 버그픽스: 바에서 핸들이 미끄러져 떨어지는 것을 방지하기 위해 슬라이더 값은 [0, 1] 로 제한됩니다.
- 버그픽스: 왼쪽 메뉴 앵커 위치 오프셋이 이제 적당량 적용됩니다.
- Slider Locked/Handle Indent 프로퍼티가 이제 적용됩니다.
- Widget Component 는 이제 테스트를 다시 한 번 히트할 것입니다.
- 버그픽스: 슬라이더, 체크박스와 같은 여러가지 슬레이트 콘트롤을 터치 디바이스용으로 수정했습니다. 다시 한 번 터치 이벤트에 반응합니다.
프로그래밍 출시 노트
오디오
- FAudioDevice::FindActiveSound 최적화: 약 오브젝트 포인터 비교를 줄였습니다.
애니메이션
- UPoseableMeshComponent 에 MasterPoseComponent 기본 지원을 추가했습니다.
- 버그픽스: UAnimSequence 와 USkeletalMesh 양쪽의 배타적 GetResourceSize 리포트 관련 오버 카운팅 메모리 문제를 고쳤습니다.
내비게이션
- ARecastNavMesh::OnNavMeshGenerationFinished 를 virtual 로 만들어 게임 전용 ARecastNavMesh 파생 클래스가 그 이벤트에 쉽게 반응할 수 있도록 했습니다.
- 캐시된 월드 포인터가 NavigationData 클래스에서 이동되었습니다. 가비지 콜렉션 문제가 생길 수 있기 때문입니다.
- 내비게이션 데이터 인스턴스가 이제 Destroy 될 때까지 기다리기 보다는, EndPlay 에서 정리됩니다.
코어
- TSharedPtr 에 커스텀 딜리터가 지원됩니다.
- JSON 으로 변환 도중 중첩 시리얼라이즈 가능 오브젝트가 지원됩니다.
- FVector::DistSquaredXY 헬퍼 함수를 추가했습니다 (기여자 EverNewJoy - Pull Request #1365).
- 이제 FCachedReadPlatformFile 을 비활성화시키면 속도를 희생시켜 메모리 사용량을 낮출 수 있습니다.
- 게임 빌드에서 핫 리로드 함수성을 비활성화시켰습니다.
- UHT 의 여러줄 코멘트 파싱을 수정했습니다. 코멘트 끝이 시작으로 취급되었었습니다. 예: /*/ 코멘트 /*/
- 다수의 핫 리로드 오류를 고쳤습니다.
- HexToBytes 의 반환값을 수정했습니다.
- 이제 UnrealHeaderTool 에서 구조체에 대해 ModuleRelativePath Metadata 가 제대로 생성됩니다.
- EditorPerformanceTests.cpp 에서 clang-3.5.2 사용시 "'|' 내부에 '&' 오류"를 수정했습니다. (기여자 slonopotamus - Pull Request #1430).
- LogCompile 오타 수정: Tabify time was was.. (기여자 MrMormon - Pull Request #1460).
- TMultiMap::MultiFind 에서 불필요한 메모리 할당을 제거했습니다.
- UPackage::PackageFlags 가 private 이 되었습니다.
- ConstructorHelpers::FClassFinder 에 레퍼런싱된 클래스가 레퍼런싱 해제되어도 더이상 가비지 콜렉팅 되지 않습니다.
- 스트리밍된 오브젝트의 PostLoad 함수 중 하나에서 오브젝트 로딩과 패키지 스트리밍이 비동기적으로 일어날 때 드물게 발생하는 크래시를 고쳤습니다.
에디터와 툴
- 느린 작업 대화창이 이제 일정 기간이 지난 이후에만 자동으로 열리도록 설정할 수 있습니다.
- 어떤 작업이 얼마나 걸리는지 미리 알지 못하는데 대화창이 잠깐 열렸다 닫혀 방해가 되는 상황을 방지하는 데 좋습니다.
- 에디터에서 플레이 세션 도중 TAssetPtr 가 잘못된 오브젝트를 가리키게 만들던 버그를 잡았습니다.
쿠커
- BuildPatchServices 플러그인은 이제 데스크탑 이외의 플랫폼에서도 정상 컴파일됩니다.
게임플레이 프레임워크
- AAmbientSound 를 이제 게임 모듈에서 확장할 수 있습니다.
- ASceneCaptureCube 는 이제 게임 모듈에서 서브클래싱 가능합니다.
- 버그픽스: 액터가 소멸된 이후 또는 월드에 있지 않을 때 CheckStillInWorld() 의 크래시를 고쳤습니다.
- 버그픽스: UWorldSettings 서브클래스가 원래 더이상 존재하지 않는 맵과 함께 저장되었을 때 RepairWorldSettings() 의 크래시를 고쳤습니다.
- 미사용 USkinnedMeshComponent::bCharDistancetDistanceFactor 를 폐기했습니다.
- 커맨드렛 모드에서 PlayerController 에 LocalPlayer 가 주어졌을 때의 크래시를 고쳤습니다.
- 비동기 트레이스 처리가 트레이스 요청을 보다 넓게 받아들일 수 있도록 업데이트했습니다. 타이밍이 안좋은 요청이 들어올 때 발생하던 몇 가지 어서트가 예방됩니다.
- FActorSpawnParameter 할당 연산자를 사용해도 더이상 폐기 경고가 발생하지 않습니다.
- USceneCaptureComponentCube::UpdateContent 는 이제 엔진 모듈 밖에서 호출 가능합니다.
네트워킹
- 버그픽스: UDP Socket Receiver 의 수신 버퍼 크기를 수정했습니다.
- AWorldSettings::WorldGravityZ 값이 서버에서 변경된 후 클라이언트에 적용되지 않게 만들던 문제를 고쳤습니다.
온라인
- FWebImage 클래스는 이제 파일 헤더를 통해 이미지 포맷을 감지합니다. http mime 헤더가 제대로 구성되지 않아도 됩니다.
윈도우
- FCachedReadPlatformFile 이 윈도우에서는 기본으로 꺼집니다. WindowsPlatformFile 이 이미 읽기 캐시를 하기 때문입니다.
맥
- 맥 미디어 플레이어의 오류 처리를 개선시켰습니다.
안드로이드
- 새로운 안드로이드 플러그인 시스템이 4.10 에 포함되었으며, GearVR 플러그인에서 사용되고 있습니다. 생성된 AndroidManifest.xml, proguard-project.xt, 그리고 GameActivity.java 에 대한 변경은 패키징 도중에도 가능하며, 여기에는 그 build.cs 에 AndroindPlugin 프로퍼티를 추가하여 명령이 들어있는 XML 파일을 레퍼런싱하는 것도 포함됩니다. AndroidPluginLanguage.cs 에 사용가능한 명령이 기술되어 있습니다.
- 해상도 캐시 RequestedContentScaleFactor 로그 메시지를 수정했습니다.
- ARMv7 타겟에 대한 GearVR 플러그인의 컴파일 오류를 고쳤습니다.
- AAPT 찾는 방식을 항상 안드로이드 SDK 의 빌드 툴 첫 서브 디렉토리 보다는 PgkRevision 를 검사하도록 변경했습니다.
- 안드로이드용 CompileOpenGLShader 는 이제 초기 셰이더 테스트 바로 도중에만 컴파일 결과를 검사합니다.
- 안드로이드 SDKAPILevel 기본값이 이제 "latest" (최신)이 아닌 "matchndk" (ndk 일치)로 바뀌었습니다.
- Mono 에서 bool.ToString() 이 안드로이드 플러그인 언어로 "true" 나 "false" 가 아닌 "True" 나 "False" 를 반환하던 문제를 고쳤습니다.
- 비 유니티 안드로이드 빌드에 필요한 #include 가 빠져있던 것을 고쳤습니다.
플레이스테이션 4
- Visual Studio 디버거 .NatVis 관련 문제를 고쳤습니다. TSparseArray, TBitSet, TMap, 그리고 TSet 는 이제 31 이상의 인덱스 처리가 가능하고, 유효하지 않은 값은 제대로 "Invalid" 라 표시됩니다.
렌더링
- 버그픽스: USkeletalMeshComponent 이외의 것에서 MasterPoseComponent 사용시 FDynamicSkelMeshObjectDataGPUSkin 의 크래시를 고쳤습니다.
- D3D12 의 렌더 타겟 클리어를 개선시켰습니다. (기여자 JeffRous - Pull Request #1621).
- D3D12 에서 간접 인수에 오프셋이 잘못되어 있던 문제를 고쳤습니다.
- 티어 1 하드웨어에서 D3D12 리소스 바인딩 픽스가 있었습니다.
업그레이드 노트
C++ API 변화
- 이제 다수의 AdMob ID 입력이 가능하며, Show Ad Banner 는 이제 인덱스를 받습니다. 새로운 Get Ad ID Count Blueprint 노드는 배열 크기를 반환합니다. 광고 제공자의 ShowAdBanner() 메소드는 이제 int32 Ad ID Index 를 받습니다.
- HexToBytes 함수 반환값을 수정했습니다. HexToBytes 반환값을 사용하는 코드는 이제 반환값이 전보다 1 커졌음에 주의해야 합니다.
- UPackage::PackageFlags 가 private 이 되었습니다. UPackage::PackageFlags 는 폐기되어 더이상 직접 설정 또는 읽어서는 안될 것입니다. 대신 Get/Set/Clear/HasAny/HasAll PackageFlags 를 사용해 주세요.
- 브러시 Image Size 프로퍼티의 "디폴트로 리셋" 버튼이 이제 브러시 텍스처의 크기로 (설정된 경우) 리셋됩니다. IDetailPropertyRow::OverrideResetToDefault() 파라미터는 덮어쓰기 작동방식을 정의하는 FResetToDefaultOverride 유형 파라미터를 하나 받도록 변경되었습니다.
블루프린트
- 블루프린트 함수 그래프에 GetClassDefaults 노드를 새로 배치하면 더이상 오브젝트 레퍼런스가 들어있는 배열 프로퍼티를 노출시키지 않습니다. 이는 현재 소유 클래스에 속하는 디폴트 오브젝트의 변이를 방지하기 위해 필요한 조치입니다.
- 기존 파라미터는 기본값이 오브젝트 레퍼런스 배열인 노출 프로퍼티를 보존합니다만, 블루프린트 컴파일러는 이제 이러한 경우 "안전하지 않은 연결" 경고를 냅니다. 현재 블루프린트에 읽기 전용 오브젝트 레퍼런스를 지원하지 않기에, 위험이 있을 수 있기 때문입니다.
엑스박스 원
- 기본 엑스박스 원 XDK 가 August 2015 버전으로 업그레이드되었습니다. 최소 XDK August 2015 버전은 있어야 Visual Studio 2015 XDK 버전을 사용해서 엑스박스 원 빌드가 가능합니다.
플레이스테이션 4
- PS4 가 SDK 3.000 으로 업그레이드되었습니다. PS4 컴파일을 위해서는 이제 SDK 3.000 이 필요합니다.
- 모피우스를 사용하는 경우, 반드시 param.sfo 를 편집하여 세팅에서 켜줘야 합니다.
오큘러스
- 사용자는 오큘러스 런타임을 0.8 로 업그레이드해야 합니다. 오큘러스 웹사이트에 제공됩니다.