곧 있을 4.4 릴리즈에는 페르소나 사용 편의성 개선, 마찰 모드 지원, 표면에 액터 스냅, 3D 피직스 오브젝트를 2D 평면 속에 제약, 여러줄 편집가능 텍스트 기능 등이 포함되어 있습니다!
4.4 릴리즈에 코드를 기여해 주신 멋진 개발자분들 그 모두에게 감사의 마음을 전합니다.
Alex Silkin (alexSilkin), Joe Riedel (joeriedel), Joel Riendeau (joelriendeau), Kevin Rushin (Malfate), Marc Kamradt (MarcKamradt), Martin Palko (MartinPalko), Michael Delva (Zoubi), Pablo Zurita (pzurita), Rama (EverNewJoy), Robbie Newman (Ehamloptiran), Robert Khalikov (nbjk667), Robert Wallis (robert-wallis), Roy (Shammah), Scott Michaud (ScottMichaud), Sebastien Rombauts (Srombauts), Stephen Whittle (stephenwhittle), Steve Anichini (solid-angel), thk123, Wesley Hearn (wshearn).
주요 신기능
페르소나
개선! 애니메이션 편집 작업방식
- FBX 임포트 오류에 자세한 인라인 설명이 제공됩니다.
- 애셋을 레퍼런싱하는 모든 애님 그래프 노드에 이제 애셋을 더블클릭하여 편집할 수 있는 기능이 지원됩니다.
- 애셋 브라우저에서 애셋에 마우스 커서를 올려 애니메이션 시퀸스를 미리볼 수 있게 되었습니다.
- Shift+클릭 으로 스켈레톤 트리의 계층구초를 펼치고/접을 수 있습니다.
- 애니메이션 에디터의 줌 기능은 이제 현재 마우스 위치를 기준으로 줌 인 합니다.
- 페르소나의 모든 모드 레이아웃이 개선 및 단순화되었습니다.
- 페르소나의 각 모드에 자주 사용되는 작업의 바로가기가 제공되는 툴바가 생겼습니다.
- 페르소나의 파일 메뉴에 "모든 애니메이션 애셋 저장" 기능이 추가되었습니다.
- 뷰포트에서 숨겨진 본을 선택할 수 있습니다 (메시에 피직스 애셋이 있는 상태여야 합니다).
- 페르소나 뷰포트의 표시 정보가 필수 정보만 표시되도록 단순화되었습니다.
- 몽타주 슬롯에 유효하지 않은 이름 사용시 오류 메시지가 표시됩니다.
- 새로운 도움말 링크를 통해 각 애니메이션 에디터 유형에 대한 문서를 쉽게 점프할 수 있습니다.
- 메시 디테일 뷰에 LOD 별 머티리얼을 포함하여 순서대로 LOD 세팅이 표시됩니다.
- 리타게팅 옵션은 스켈레톤 탭에만 표시됩니다.
- 콘텐츠 브라우저의 애니메이션에 썸네일이 생겼습니다.
블루프린트
신규: 블루프린트 노드
“Set members (in structure)” ((구조체의) 멤버 설정) 블루프린트 노드:
“Set Timer Delegate” (타이머 델리게이트 설정) 블루프린트 노드:
머티리얼
신규: Clear Coat (투명 코팅) 셰이딩 모델
최근 Clear Coat (투명 코팅)이라는 셰이딩 모델이 새로 추가되었습니다!
금속이든 비금속이든, 표준형 재질 표면 위에 반투명 필름 막이 있는 복층 재질을 나타내는 데 사용할 수 있습니다. 구체적으로, 이와 같이 무색 금속 위에 부드러운 색의 필름을 입힌 이차 계층을 모델링하도록 디자인되었습니다.
음료수 캔이나 차량의 도색처럼 금속 위의 유색 필름 및 아크릴이나 락카 투명 코팅과 같은 것을 예로 들 수 있습니다.
새로 노출된 파라미터는 두 가지입니다:
Clear Coat (투명 코팅)
- 투명 코팅 막의 양으로, 0 은 표준 셰이딩 모델처럼, 1 은 최대 투명 코팅 모델처럼 작동합니다. 마스킹에 좋습니다.
Clear Coat Roughness (투명 코팅 러프니스)
- 투명 코팅 막에 대한 러프니스입니다. 작은 값에는 정확한 모방이 나옵니다. 매우 거친 투명막도 지원은 됩니다만, 현실에서 볼 수 있는 것에 비하면 아주 정확하게 모방되지는 않을 것입니다.
왼쪽은 Monte Carlo 레퍼런스, 오른쪽은 저희 UE4 실시간 모방입니다:
(참고로 얼룩은 머티리얼 에디터로 만들어낸 작업이며, 셰이딩 모델의 일부는 아닙니다)
에디터
신규: 마찰 결합 모드
엔진에 다양한 마찰 모드가 지원됩니다!
기본적으로 두 본이 만나면 평균 마찰 계수를 받습니다. 하지만 평균을 0 으로 맞추기 위해 음수와 양수 계수가 필요한 얼음같은 경우는 문제가 될 수 있습니다.
여러가지 효과 유형에는 여러가지 모드가 유용합니다. 얼음의 경우 얼음 머티리얼의 마찰력을 0 으로 설정해 두고서 Multiply (곱하기) 또는 Min (최소치)를 구하면 될 것입니다.
마찰 모드는 프로젝트 전반적으로 설정할 수도, 피지컬 머티리얼 단위로 덮어쓸 수도 있습니다.
신규: 표면에 액터 스냅
액터를 드래그하면서 월드에 투사시켜 볼 수 있는 버튼이 툴바에 추가되었습니다. 복잡한 지오메트리 위에 오브젝트를 배치할 때 정말 좋습니다.
스냅 작동방식은 두 가지로, (제약된 면으로 드래그하는 경우) 드래그하는 평면을 통해 투사시키거나, (세 축 방향 모두로 드래그하는 경우) 스크린 스페이스에서 월드에 액터를 투사시키는 것입니다.
피직스
신규: 단순 2D 피직스 컨스트레인트
3D 피직스 오브젝트를 2D 평면 속에 쉽게 제약시킬 수 있는 기능이 엔진에 지원됩니다. 3D 횡 스크롤 게임에 유용할 것입니다.
이 세팅은 오브젝트 단위로 적용할 수도 있고, 프로젝트 피직스 세팅을 변경하여 프로젝트 단위로 적용할 수도 있습니다.
래그돌은 기본적으로 루트 바디만 제약시킵니다. 이로써 래그돌 전체 애셋은 2D 평면에 유지시킨 채 그 사지만 3D 공간에서 움직입니다.
슬레이트
신규 슬레이트 위젯: Multi-line Editable Text, 여러줄 편집가능 텍스트
슬레이트의 여러줄 편집가능 텍스트 (SMultiLineEditableText 및 SMultiLineEditableTextBox) 기능은 한줄 편집가능 텍스트와 기능적으로는 동일하며, 이제 여러줄 편집이 가능해 졌습니다.
추가적으로 에디터의 changelist 제출 설명 창에도 여러줄 편집가능 텍스트 박스가 사용됩니다.
참고로 현재 사용가능한 기능이기는 하지만, 한줄 버전만큼 실사용을 통해 단련되지는 않은 상태인 데다 아직 개발중이므로 API 변화가 필요할 수 있습니다.
프리뷰 노트
에디터와 툴
- FComponentInstanceDataBase 에 ENGINE_API 추가, 다른 모듈에서도 사용할 수 있습니다.
- Custom Event 에 CallInEditor 플래그를 다는 기능을 추가하고, 메인 에디터의 액터 디테일 뷰를 확장시켰습니다.
- "lightweight highlighters" (경량 하이라이터)가 지원됩니다.
- 뷰포트에서 월드로 액터를 드래깅할 때 표면에 액터를 스냅시키는 기능을 추가했습니다.
- Win64/Win32 에서 연결된 마우스를 감지하는 함수를 추가했습니다.
- 액터를 배경에 배치한 경우 기본적으로 Z 를 위쪽으로 정렬시킵니다.
- 다이내믹 파라미터는 이제 기존 다이내믹 파라미터에서 파라미터 이름을 복사해 옵니다.
- 콘텐츠 브라우저는 이제 애셋을 동기화시킬 때 검색 필터를 리셋시킵니다.
- 블랙보드 키 삭제 및 이름변경이 다시 우클릭 메뉴에서 가능해 졌습니다.
- Texture Tiles 프로퍼티는 물론 Tiling Distance 를 통해서도 타일링을 제어할 수 있습니다.
- 자동저장 도중의 피드백 대화창에 취소 버튼이 나타납니다.
- blend separate ARB fns 를 옵션으로 옮겼습니다. GL_ARB_draw_buffers_blend 스트링에 대한 익스텐션 체크를 추가했습니다.
- 스태틱 메시 통계 정보 텍스트를 Slate UI 로 옮겼습니다.
- FMatrix 와 FTransform 에 대한 구조체 커스터마이제이션이 컴포넌트 트랜스폼 디테일 커스터마이제이션과 같은 방식으로 작동하도록 변경했습니다.
- 지오메트리 배치시 거짓 '브러시 설정' 트랜잭션을 제거했습니다.
- Editor Style 에서 Paper2D texture:// 사용 및 의존성을 제거했습니다.
- 노멀 맵 임포트시의 트랜잭션을 제거했습니다.
- StringClassReference 가 StringAssetReference 의 서브클래스가 되도록 리팩터링했습니다.
비헤이비어 트리
- 비헤이비어 트리 실행 순서 인덱스 위젯을 추가했습니다.
- 비헤이비어 트리 노드 툴팁을 추가했습니다.
- C++ 노드 클래스의 툴팁 메타데이터 & BP 노드 클래스에 대한 BlueprintDescription 텍스트를 사용하는 툴팁 테스트를 새로 추가했습니다.
- 그래프 패널에 대한 위젯 오버레이 시스템을 새로 추가했습니다. 현재 브러시 전용 구현에 비해 보다 높은 유연성이 가능합니다.
- 비헤이비어 트리는 이제 FocusWindow() 의 부모 구현을 통해 올바르게 호출된 더블 클릭에 올바르게 포커스를 맞춥니다.
블루프린트
- 스플라인 메시 컴포넌트 값에 대한 BP 호출가능 접근자를 추가했습니다.
- 블루프린트 에디터의 변수 유형 드롭다운에서 매크로 라이브러리를 제거했습니다.
코어/h4>
- UObject 의 TArray, TMap, TSet 에 대한 레퍼런스를 자동 투가할 수 있도록 FreferenceCollector 에 헬퍼 함수가 추가되었습니다.
렌더링
- 디버그 시각화 모드 사용시 텍스터의 미수정 렌더링이 가능하도록 하는 옵션을 TextRenderComponent 에 추가했습니다.
- 디스턴스 필드 폰트에 대한 압축 및 샘플러 유형을 추가했습니다.
- SpawnDecalAtLocation 에 대한 기본 로테이션이 아래를 향하도록 변경했습니다.
- 인스턴싱된 메시 파티클의 탄젠트 계산시 스케일을 제거했습니다.
- 스키닝된 메시의 탄젠트 계산시 LocalToWorld 스케일을 제거했습니다.
캐스케이드
- 파티클 이펙트 메시가 이제 뷰 모드를 제대로 지킵니다.
플랫폼
안드로이드
- 게임 실행 전 화면 잠금 해제를 위해 입력을 보내는 adb 호출을 추가했습니다.
- 태피 치킨
- 안드로이드의 뒤로 버튼 지원을 위해 'Android Back' 버튼을 추가했습니다.