2014년 7월 9일

언리얼 엔진 4.3 업데이트 예고

저자: * Ian Shadden

곧 있을 4.3 릴리즈에는 블루프린트 삶의 질을 높여줄 개선사항, 입이 딱 벌어지는 렌더링 기능, 대규모 자동화 업데이트, 모든 커브 문제를 해결해 줄 스플라인, 3D 아트 프로그램 외부에서 멀티 바디 콜리전을 만들 수 있도록 해 주는 스태틱 메시 업데이트 등이 포함되어 있습니다!

4.3 릴리즈에 코드를 기여해 주신 뛰어난 개발자분들 모두에게 감사의 말씀을 전하고자 합니다.

3dluvr, abergmeier, alixSilkin, Allegorithmic, bigzer, Chris-Bond, CoherentUE4, EverNewJoy, Ixiguis, mpolaczyk, pzurita, raziel2001au, robert-wallis, RushPL, solid-angle, stephenwhittle, thk123, timdonkssbc100, vakathil, Xaklse, Zoubi

4.3 프리뷰 빌드 받는 방법

멤버쉽 회원은 런처 - 라이브러리 탭을 통해 4.3 프리뷰 빌드를 받을 수 있습니다. 버전 번호 옆에 "+" 부호로 나타난 새로운 엔진 버전 추가 옵션이 있으며, "˅" 를 통해 새로운 버전 옵션이 있음을 알 수 있습니다.

Library Screen 1

풀다운 메뉴를 선택하면 사용가능한 엔진 목록이 표시되며, "예고" 로 표시되는 프리뷰 빌드도 포함됩니다.

Library Sreenshot 2

여기서 "EULA 수락"을 통해 다운로드 가능합니다.

신기능

렌더링

신규: 스카이라이트 글로벌 일루미네이션

스태틱 / 스테이셔너리 스카이라이트에서 한 번 반사되는 디퓨즈 GI 가 이제 라이트매스를 통해 계산됩니다. 스카이 라이트의 Indirect Lighting Intensity 옵션을 사용하여 반사광의 밝기를 제어할 수 있습니다.

모든 스테이셔너리 라이트와 마찬가지로 실행시간에 색이나 강도를 변경하면 직사광에만 적용되는데, 반사광은 라이트맵에 구워지기 때문입니다.

원본:

Zen Gardens

글로벌 일루미네이션 적용:

Zen Gardens With Global Illumination

신규: 디스턴스 필드 앰비언트 오클루전

씬의 스태틱 메시를 나타내는 데 사용되는 Signed Distance Fields (부호화 디스턴스 필드)로부터 앰비언트 오클루전을 계산하는 기능입니다. 실행시간에 스태틱 메시를 옮겨도 앰비언트 오클루전이 업데이트됩니다.

원본:

Distance Field Example Original

디스턴스 필드 앰비언트 오클루전 적용:

Distance Field AO

신규: 스테이셔너리 라이트에서의 반투명 그림자

언리얼 엔진 4 에는 얼마간 다이내믹 섀도우로부터 그늘지는 반투명이 있었습니다. 그러나 스테이셔너리 라이트의 경우는 렌더링 효율성때문에 다이내믹 섀도잉을 사용하지 않고 있었기에 직사광이 새어들어오곤 했습니다. 이 부분은 라이트의 영향력을 다루는 섀도우 뎁스 맵으로 처리되는데, 라이트 빌드 도중 라이트매스에 의해 생성됩니다.

원본:

Transluceny shadow original

반투명에 대한 스태틱 섀도잉:

Static Shadowing for Translucency

신규: 무버블 스카이라이트

스카이라이트에 이제 '무버블' 모빌리티 세팅이 지원됩니다!

  • 이 라이트 유형은 동적인 씬 변화를 지원합니다.
  • SSAO 로부터의 그림자와 디스턴스 필드 AO 라는 신기능을 받습니다.

비헤이비어 트리

비헤이비어 트리 에디터에서 블랙보드 편집 & 디버깅

이제 비헤이비어 트리 에디터 안에서 블랙보드 항목을 편집하고 디버깅할 수 있습니다. 새로운 '블랙보드' 모드로 전환하여 블랙보드 에디터를 접할 수 있습니다:

Blackboard mode

그런 다음 키를 추가하여 블루프린트 변수와 비슷한 방식으로 블랙보드를 편집하면 됩니다:

Editing Blackboard

단축키 & 우클릭 맥락 메뉴를 통해 키 제거 및 이름변경도 가능합니다.

디버깅시 블랙보드 값이 표시되어 조사할 수 있습니다. 전과 마찬가지로 현재 및 기존 (저장) 디버깅 맥락 사이의 전환이 가능합니다:

Switch to Current or Saved Blackboards

블랙보드는 비헤이비어 트리 모드에서도 표시되어 빠른 참조가 가능합니다:

Blackboard TreeMode

신규: "새 노드" 단축키

비헤이비어 트리 에디터의 툴바에 새로 추가된 몇 가지 버튼을 통해 사용자는 특정 태스크, 데코레이터, 서비스에 대한 새로운 블루프린트 노드 유형을 빠르게 만들 수 있습니다:

New Mode Shortcuts

  • 이러한 신규 노드에 대한 블루프린트는 현재 편집된 비헤이비어 트리 위치에 생성됩니다. 노드 유형을 생성해낼 수 있는 클래스 후보가 둘 이상 되는 경우, 드롭다운이 달린 버튼을 통해 클래스 선택이 가능합니다.
신규: 월드 컴포지션 (대규모 레벨!)

서브레벨을 만든 다음 이 맵 어느곳에든 위치시킬 수 있습니다. 게임에 자동으로 로드됩니다.

Level Composition

  • 이 기능을 활성화시키려면 레벨의 월드 세팅 에서 Enable World Composition (월드 컴포지션 켜기) 옵션을 켭니다 (레벨을 저장해야 합니다).
  • 레벨 브라우저 툴바의 미니맵 버튼을 사용하여 월드 맵에 접근할 수 있습니다.
    Level Browser
  • 문서와 샘플 게임을 준비중입니다.
  • 이 기능은 초기 빌드의 실험단계 기능인 월드 브라우저 기능을 대체합니다.
레벨 브라우저 리디자인

(창 메뉴를 통해 열 수 있는) 레벨 브라우저 가 4.3 에 크게 업데이트되었습니다.

Level Browser Redesign

  • 모든 (새로 생성, 저장, 다른 이름으로 저장, 추가, 병합 등) 파일 작업이 맥락 메뉴에서 툴바 버튼 레벨 로 이동되었습니다.
  • 상태 바에 뷰 옵션이 새로 생겼습니다: 각 레벨별 액터 수 표시풀 패키지 이름 표시 입니다.
  • 레벨 트랜스폼, 스트리밍 볼륨 관리 등 사용 빈도가 낮은 작업은 레벨 패널의 툴바에 있는 디테일 버튼을 클릭하여 띄울 수 있는 레벨 디테일 패널을 통해 가능합니다. 레벨 디테일 은 일반 디테일 패널과는 별개의 것으로, 선택된 레벨 디테일만 표시해 줍니다. 다중 선택도 지원합니다.
  • PIE레벨 패널에는 각 레벨의 시뮬레이션 상태가, 숨겨진 레벨은 표시여부 "눈" 아이콘이 닫혀서, 언로드된 레벨은 이름 색이 회색으로 표시됩니다.
  • 레벨을 블루프린트 그래프에 끌어놓으면 해당 레벨에 대한 GetStreamingLevel 노드가 생성됩니다.
  • 새로워진 레벨 툴에 무언가 빠져있거나 정상 작동하지 않는 경우 -oldlevels commandline 파라미터를 사용하여 구형 레벨 툴로 전환하면 됩니다.

블루프린트

신규: 스플라인 및 스플라인 메시 컴포넌트

이제 월드에서 바로 스플라인을 편집 할 수 있게 되었습니다! 블루프린트에 스플라인 컴포넌트 또는 스플라인 메시 컴포넌트 를 추가한 다음 해당 블루프린트의 인스턴스를 선택해 주기만 하면, 사용자는 레벨 안에서 스플라인을 편집할 수 있습니다.

Spline Mesh

키에 클릭 하여 선택합니다.

  • 이동 위젯을 사용하여 이동시킵니다 ('탄젠트'는 기본적으로 자동 업데이트됩니다).
  • 키를 선택한 상태로 Alt-드래그 하면 새로운 키가 추가됩니다.

더욱 세밀한 제어가 필요하면:

  • 회전 위젯 으로 탄젠트를 회전시킵니다.
  • 스케일 위젯 으로 늘이거나 줄입니다.

키에 우클릭하여 맥락 메뉴를 확인할 수도 있습니다:

원한다면 AddSplineWorldPoint, SetSplineWorldPoints 함수를 사용하여 컨스트럭션 스크립트 안에서 스플라인을 구성할 수도 있습니다.

신규: Reroute 노드

이제 핀을 끌어 놓을 때 맥락 메뉴에 Reroute 노드 추가... 옵션이 나타납니다. 다른 것과 마찬가지로 Reroute 핀을 연결하거나, (주변을 드래그 또는 Ctrl + 드래그하여) 이동시키거나, Alt+클릭으로 제거할 수 있습니다.

아래 드래그 가능 영역에 더블클릭하거나 F2 키를 쳐서 Reroute 노드에 코멘트를 달 수도 있습니다.

Reroute Nodes

신규: 구조체 핀 분할

이제 사용자가 직접 Make / Break 노드를 삽입하지 않고도 구조체 핀을 그 자리에서 분할할 수 있게 되었습니다.

Split Struct Pins

이 기능은 어떤 구조체의 입력 핀이나 출력 핀에도 작동하며, 분할된 구조체에 또 구조체가 들어있는 경우, 마찬가지로 확장 가능합니다.

신규: 출력 핀에 대한 열거형 확장

이제 블루프린트 노드의 열거형 실행 핀을 확장시킬 수 있습니다. 입력 핀에는 얼마간 있었던 기능이나, 이제 출력 핀에도 가능하게 되었습니다:

Expand Enum for Output Pins

  • 이제 열거형을 생성한 다음, 함수에 대한 출력 파라미터를 하나 정하고, 그 출력 파라미터를 UFunction 메타데이터 (C++)에서 ExpandEnumAsExecs 으로 마킹하면 됩니다.
신규: 데이터 및 커브 테이블 지원

Evaluate Curve Table Row 는 XY 위치에 Row Name 에 대한 출력 값을 반환합니다:

Data and Curve Table Support

Get Data Table Row 는 개별 컴포넌트 변수들로 나눌 수 있는 Row 구조체를 반환합니다:

Get Data Tanble Row

신규: 블루프린트에서 애님 트레일 콘트롤

이제 애님 노티파이 없이도 블루프린트(와 코드)에서 '애님 트레일' 이미터를 제어할 수 있습니다.

  • 이 기능의 유일한 제한이라면 파티클 시스템 컴포넌트가 반드시 소켓 위치를 샘플링해 오려는 스켈레탈 메시 컴포넌트의 자손이어야 한다는 점입니다.
  • 컴포넌트의 Begin Trails 함수는 파티클 시스템 내 모든 애님 트레일 이미터를 시작시킵니다.

Blueprints Control of Anim Trails

  • 컴포넌트의 EndTrails 함수는 파티클 시스템의 모든 애님 트레일 이미터를 종료시킵니다.

EndTrails

  • 트레일 실행 도중 그 프로퍼티를 변경할 수도 있습니다. 여기서는 게임 시간을 사용해 매 틱마다 폭을 변경합니다.

Global Search

신규: 글로벌 블루프린트 검색

블루프린트에서 찾기 기능이 여러가지 기능 요청을 수용할 수 있도록 크게 개선되어 훨씬 안정되고 유용해 졌습니다.

검색이 전보다 훨씬 더 포괄적으로 바뀌어, 노드, 핀, 핀 값, 그래프, 변수, 변수 값은 물론 애니메이션 그래프까지 검색됩니다.

검색은 비동기식 프로세스라, 검색이 완료될 때까지 에디터 사용을 멈추고 기다릴 필요가 없으며, 동시에 다수의 블루프린트를 대상으로 복수의 검색도 가능합니다.

이제 블루프린트에서 찾기 기능은 검색가능 데이터에 DDC 를 활용합니다. 블루프린트가 업데이트되면 그 정보를 새로고쳐 다른 사용자가 그 블루프린트를 동기화시키면 다른 사용자는 접할 수 없습니다.

블루프린트가 시스템에 인덱싱되어있지 않으면, 아래 그림과같이 알려줄 것입니다:

Not Indexed in Blueprints

  • 주: 레벨 블루프린트 는 현재 레벨의 경우 문제없이 검색이 가능하긴 하지만, 완벽 지원되지는 않습니다.

스태틱 메시 에디터

신규: 커스터마이징 가능 스태틱 메시 콜리전

스태틱 메시 에디터는 이제 각기 다른 유형의 콜리전 프리미티브를 다수 추가하는 기능이 지원되어, 커스텀 콜리전 셋업을 빠르게 생성할 수 있음은 물론, 기존 콜리전을 수정하여 게임플레이에 영향을 끼치는 문제를 고칠 수 있습니다.

이를 통해 복잡한 지오메트리를 파헤치거나 가로지르기가 쉬워질 뿐만 아니라, 사용자가 못가게 하고픈 경우 장애물을 놓을 수도 있습니다. 예를 들어:

Static Mesh Example 1

Static Mesh example 2

스태틱 메시 에디터는 이제 캡슐/스필 콜리전 지오메트리도 지원합니다.

  • 어느 축에 평행을 맞추는 것이 옳은지, 메시에 가장 잘 맞는 것으로 계산을 시도합니다. 예를 들어:

Capsule/Sphyl Collision

  • 모든 콜리전 프리미티브는 마우스로 선택한 다음 (스페이스바 또는 W, E, R 키로 전환 가능한) 에디터 위젯으로 이동, 회전, 스케일 조절 가능합니다.
  • 또한 콜리전 프리미티브는 다중 선택 (Ctrl+LMB), 포커싱 (F 키), 복제 (Alt+드래그), 더이상 필요치 않으면 삭제 (delete 키) 까지도 가능하며, 모두 트랜잭션 기록됩니다.

프리뷰 노트

에디터
  • 클래스 마법사에서 UObject 이외 클래스를 생성할 수 있습니다.
  • 레퍼런스 뷰어 맥락 메뉴에 '애셋 편집' 옵션을 추가했습니다.
  • 프로젝트의 타겟 플랫폼을 선택하는 기능이 추가되었습니다.
  • 애셋을 삭제하면 '모드' 탭의 '최근 배치됨' 목록이 강제로 새로고쳐집니다.
  • 비헤이비어 트리 에디터용 고유 아이콘을 만들었습니다.
  • 노드에서 에디터내 표시되는 아이콘을 덮어쓸 수 있도록 하는 에디터 전용 함수를 추가했습니다.
  • 로직에 블루프린트를 사용하는 노드를 표시하는 블루프린트 아이콘을 추가했습니다.
  • CachedAutoWrapTextWidth 가 캐시된 곳이 Tick() 이 아닌 OnPaint() 인 이유를 설명하는 코멘트가 추가되었습니다.
  • 그리드 켜기/끄기 표시 토글을 위한 체크박스를 추가했습니다.
  • '내 프로젝트' 요청을 대기열 등록하고 처리하는 매니저를 추가, 쿨 다운 시간도 추가했습니다. 이제 상태가 폴링됩니다.
  • DesktopPlatform PlatformInfo 를 추가하고, 에디터의 '지원되는 플랫폼 UI' 를 개선시켰습니다.
  • 스켈레탈 메시 디테일 패널 내 애니메이션 블루프린트 선택기에 콘텐츠 브라우저(에서 사용, 검색 등의) 버튼을 추가했습니다.
  • 애셋 툴키트 매니저에 주요 애셋 에디터 개념을 추가했습니다.
  • 이제 Alt + Shift + R 키는 현재 선택된 애셋에 대한 레퍼런스 뷰어를 띄웁니다.
  • '그래프가 외부 맵에서 오브젝트에 링크되어 있습니다' 대화창을 'OK' 버튼이 하나만 있도록 변경했습니다.
  • Changed Gameplay Tag Pin to now only allows single select.
  • 런처 생성 프로젝트의 경우 프로젝트 위치 배열을 게임 .ini 속으로 옮겼습니다.
  • 통계/strong> 서브 메뉴 항목을 뷰포트의 표시 메뉴에서 ViewportWindowMenu.png 메뉴로 이동시켰습니다.
  • 색 선택기에서 테마 이름변경시 다른 것과 중복된 이름으로 변경하고자 할 때 오류가 표시됩니다.
  • 복제된 스케일 적용 지오메트리에 "되돌리기 후 다시하기"해도 기본 스케일 브러시가 나오지 않도록 고쳤습니다.
  • Particle System Arrow 컴포넌트가 더이상 그 액터 스케일에 상대적으로 스케일 조절되지 않도록 고쳤습니다.
  • r.FullScreen 이 1 인 경우 새 창으로 에디터에서 플레이시 해상도 요청을 유지하도록 고쳤습니다.
  • 레벨 에디터의 익스포트 함수성을 기본 OBJ 가 아닌 FBX 가 되도록 고쳤습니다.
  • 브러시의 피벗 옵션 이동/저장 기능이 직교 뷰포트에서만 가능하도록 고쳤습니다.
  • 패키지 더티 상태가 업데이트되면 콘텐츠 브라우저를 새로고치도록 변경했습니다.
  • 프로젝트 브라우저에 커스텀 카테고리가 다시 지원됩니다.
  • EnginePrivate.h 에서 모든 애니메이션 클래스를 제거하고, 그 파일들이 자신의 종속성만 포함하도록 변경했습니다.
애니메이션
  • 몽타주 블렌딩 아웃/종료에 대한 블루프린트 이벤트를 추가했습니다.
  • 이후의 테스트를 모니터링하여 Saved/Automation/Logs 에 로그를 저장하는 히스토리 트래킹을 사용자가 토글할 수 있게 되었습니다.
    • 기본으로 5 개까지 트래킹 및 표시되며, 1 개에서 10 개까지 환경설정 가능합니다.
캐스케이드
  • 랜덤 시드 함수성에 "Randomly Select Seed Array" (임의 선택 시드 배열) 옵션을 추가했습니다.
씬 아웃라이너
  • 아웃라이너 폴더에 대한 확장 상태가 사용자별 임시 환경설정 파일별로 저장됩니다.
  • 부모 위젯에까지 전파되는 더블 클릭 이벤트를 중지시키는 함수성을 추가했습니다.
머티리얼 에디터
  • 정해진 값 없이 프리뷰가 있는 것으로 간주되는 노드는 이제 기본적으로 자동 접힙니다.
지오메트리 모드
  • 이동중인 브러시 와이어프레임이 오브젝트 뒤에 있으면 점묘법으로 그려집니다.
스태틱 메시 에디터
  • BuildScale 이 Sphere Collision 빌드시에도 적용되도록 고쳤습니다.
페르소나 애니메이션 에디터
  • 애셋 선택기에 이름변경 기능이 지원됩니다.
  • 애니메이션 임포트 및 리임포트시 키를 접근하지 못하게 되는 것을 방지하기 위해 기존 애니메이션 커브를 감지하여 스케일을 조절하도록 고쳤습니다.
뷰포트
  • 핀으로 고정된 카메라 프리뷰가 있는 카메라를 선택하면 그 프리뷰가 강조됩니다.
  • Unit Graph 가 이미 켜져있지 않아도 Raw 및 Unlit Time 통계가 제대로 표시되도록 고쳤습니다.
UI
  • Esc 키를 누르면 HUD UI 에 포커스가 없어도 먼저 닫힙니다.
언리얼 자동화 툴
  • Unreal Automation Tool 은 이제 쿠킹 및 스테이징을 위한 부가 디렉토리 추가를 위해 게임 .ini 파일을 사용합니다.
언리얼 프론트엔드
  • 실패한 자동화 테스트 시간을 추가했습니다. 기간에는 이 부분이 반영되지 않았습니다.
  • 테스트에 대한 툴팁에 작업 머신을 표시하도록 했습니다.

라이팅

  • 스포트 라이트의 내부 원뿔 각도가 외부 원뿔 각도보다 크게 설정될 수 없도록 하는 코드를 추가했습니다.

블루프린트

  • 블루프린트 에디터 시작 도중 현재 프로젝트가 블루프린트 기반인지 코드 기반인지 확인하는 검사를 추가했습니다.
  • "다음 블루프린트에서 무한 루프 발견: <블루프린트 이름>." 이라 표시되는 메시지 박스를 추가했습니다.

런처

HTML5
안드로이드
리눅스/SteamOS
iOS
PS4

자동화

코멘트나 질문 환영합니다. forum 또는 네이버 카페 에 남겨주시기 바랍니다!

  • 이제 하나의 "앱"에서 다수의 프로젝트를 생성할 수 있으며, 그 모두 My Projects (내 프로젝트) 섹션에 나타납니다.
    • 플랫폼
    • 다수의 업데이트와 픽스가 있습니다.
    • HTTP 트랜스포트 문제에 대한 픽스가 있습니다.
    • 다수의 디바이스에 걸친 디바이스 호환성을 개선시켰습니다.
    • 다수의 업데이트와 픽스가 있습니다.
    • 모션 보정을 위한 블루프린트 노드가 추가되었습니다. iOS 디바이스용으로 구현되었습니다.
    • 윈도우에서 iOS 로 디플로이 가능합니다.
    • libaudio3d 를 사용한 포지셔널 오디오가 가능합니다.
    • SDK 버전 1.700.018 로 업데이트되었습니다.
    • 하나의 테스트를 여러 번 반복하는 기능이 추가되었습니다.
    • 에디터 스크린샷 캡쳐 콘솔 명령이 추가되었습니다.
    • 모든 스태틱 메시에 대해 겹치거나 경계를 벗어난 UV 를 찾아내는 테스트를 새로 추가했습니다.
    • 스태틱 메시 에디터 툴바를 순환시키며 그 함수성을 테스트하는 테스트를 추가했습니다.
    • 자동화 탭에서 프리셋 구성이 가능합니다. 잠재적인 테스트 실행을 위한 별도의 테스트 그룹 셋업이 가능합니다.
    • 썸네일뿐만 아니라 전체 화면 스크린샷도 가능해 졌습니다. 스크린샷 비교 툴에서 이 기능을 완벽 지원합니다.
    • 스크린샷 비교 툴에서 "N 번째 이미지만 표시" 하도록 설정할 수 있습니다.
    • 테스팅 및 일정 디바이스 그룹에 대한 결과를 특정 (GPU, 머신 이름, CPU, OS 등의) 기준에 따라 분류할 수 있습니다.
    • 테스트 결과 리포트 카드를 추가했습니다. 테스트 결과는 이제 테스트를 실행한 각 디바이스 그룹이나 머신별로 컬러 그래프로 쇼시됩니다.
    • 에디터/게임에서 모든 맵 로드 테스트가 스크린 샷을 찍도록 변경했습니다.