마티네는 언리얼 내부에서 지원하는 툴로 엑터나 오브젝트에 대한 애니메이션/시퀀스를 만들 수 있다
간단히 말해 특정 애니를 마티네로 작업 할 수 있고 게임 내에서 특정 조건에 해당 애니를 출력 하는 방식이다
좀 더 나아가 마티네의 활용은 굉장히 다양하다 값으로 여길 수 있는 것은 모두 애니메이션 시퀀스로 만들어
원하는 시퀀스를 원하는 시점에 플레이 할 수 있는데 이 것은 위치는 물론 색상값이나 라이팅과 좀 더 인터렉티브한 트리거의 활용 등도 가능하다
Level Blueprint (레벨 블루프린트)란 레벨 단위 글로벌 이벤트 그래프 역할을 하는 특수한 형태의 블루프린트 입니다. 프로젝트 내 각 레벨에는 기본적으로 자체적인 레벨 블루프린트 가 있어 언리얼 에디터 안에서 편집할 수 있으나, 에디터 인터페이스를 통해 새로운 레벨 블루프린트 를 생성할 수는 없습니다.
레벨 전체적으로 관련된 이벤트 또는 레벨 내 특정 액터 인스턴스가 함수 호출이나 흐름 제어 연산 형태로 일련의 동작을 발동시키는 데 사용됩니다. 언리얼 엔진 3 에 익숙하신 분들이라면 그 키즈멧 작동 방식과 매우 유사한 이런 개념에 금방 익숙해 지실 수 있을 것입니다.
레벨 블루프린트 는 레벨 스트리밍 과 마티네 를 제어하는 방편이 되기도 하며, 레벨에 놓인 액터에 이벤트를 바인딩하는 데 쓰이기도 합니다.
(레벨 블루 프린트에서 마티네 제어가 가능한듯.... 아놔.. 이거 찾느라 고생좀 함)
레벨 블루프린트 UI 관련 상세 정보는, 레벨 블루프린트 UI 문서를 참고하세요.
https://docs.unrealengine.com/latest/KOR/Engine/Matinee/HowTo/MHT_1/index.html
마티네 사용
문 구성하기
다음 단계에서는 트리거 볼륨에 들어가고/나갈 때 열리고/닫히는 간단한 문을 만들어 보겠습니다.
언리얼 프로젝트 브라우저 창에서 새 프로젝트 를 생성한 다름 블루프린트 삼인칭 템플릿을 사용합니다.
시작용 콘텐츠 포함 옵션이 켜졌는지 확인합니다.
프로젝트에 이름을 붙입니다.
위 각각을 정의한 상태로, 프로젝트 생성 을 클릭하여 새 프로젝트를 만듭니다.
콘텐츠 브라우저 안에서 Props 폴더를 찾아 선택한 다음 SM_DoorFrame 스태틱 메시를 찾습니다.
SM_DoorFrame 스태틱 메시에 클릭한 다음 레벨 뷰포트 에 끌어 놓습니다.
또 Props 폴더에서 SM_Door 스태틱 메시를 찾은 다음 레벨 뷰포트 에 끌어 놓습니다.
콘텐츠 브라우저 에서 SM_Door 스태틱 메시를 다시 찾은 다음 더블클릭하여 스태틱 메시 뷰어에서 엽니다.
디테일 패널의 검색창에서 Collision 이라 입력한 다음 Collision Complexity 를 Use Complex Collision as Simple 로 설정합니다.
레벨 뷰포트 에서 SM_Door 를 선택한 상태로 디테일 패널을 찾습니다. 트랜스폼 아래 회전 세팅에서 Z 값을 -180 으로 설정합니다.
이동 위젯을 사용하여 문을 문틀 안에 위치시킵니다.
모드 메뉴의 기본 탭 아래 박스 트리거 를 찾아 레벨 뷰포트 의 문틀 안에 끌어 놓습니다.
디테일 패널에서 TriggerBox 를 선택한 다음 Shape 섹션에서 Box Extent 에 대한 X 값을 140 으로 변경합니다.
주: 문이 안쪽으로 열리므로, Trigger Box 는 문틀 넘어 안쪽까지 늘어뜨려 (플레이어가 접근하기 전) 조금 더 일찍 열리도록 합니다.
문과 트리거가 배치되었으니, 마티네 액터를 추가하여 열고/닫아 주겠습니다.
툴바 메뉴에서 마티네 를 선택한 다음 마티네 추가 버튼을 클릭합니다.
마티네 되돌리기 경고창이 뜹니다. 계속 버튼을 클릭하세요.
마티네 에디터 창이 열립니다.
클릭하면 원래 크기로 볼 수 있습니다.
트랙 창 (All 아래 빈 곳)에 우클릭한 다음 맥락 메뉴에서 새 빈 그룹 추가 를 선택합니다.
그룹에 새 그룹 이름 을 지으라는 창이 뜨면 이 그룹의 이름을 지어줍니다 (이 예제에서는 Door 라 하겠습니다).
마티네 창을 최소화시킨 다음 메인 에디터 에서 월드 아웃라이너 창을 찾아 SM_Door 를 선택하여 강조시킵니다.
마티네 창으로 돌아와 그룹(Door)에 우클릭하여 맥락 메뉴를 띄운 다음, 액터 를 선택하고 선택된 액터를 추가 를 선택합니다.
그룹 (Door) 에 다시 우클릭하여 맥락 메뉴를 띄운 다음 새 Movement Track 추가 를 선택합니다.
Movement Track 이 추가되면 새로운 키프레임 이 트랙상의 0.00 시간에 자동으로 추가됩니다 (아래 1 참고)
주: 섹션 2 에는 시작/끝 마커 (빨강 삼각형), 루프 섹션 (초록 삼각형), 시간 바 (검정 바)가 있습니다.
시간 바 에 클릭한 다음 시간을 0.50 으로 끌어놓고서 Enter 키를 쳐 새 키프레임 을 추가합니다.
마티네 창을 최소화시킨 다음 레벨 뷰포트 로 돌아갑니다. SM_Door 가 선택된 상태에서, E 키를 쳐 회전 모드로 들어갑니다.
회전 위젯의 파랑 원호를 클릭한 다음 (위젯이 바뀝니다) 오른쪽으로 -90.0 도 회전시킵니다.
마티네 창으로 돌아가 빨강 화살표 끝 마커 를 클릭한 다음 왼쪽 0.50 으로 옮깁니다.
마티네 시퀀스 셋업이 완료되었습니다. 다음 단계에서는 마티네 를 트리거 에 걸어 마무리하겠습니다.
툴바 메뉴에서 블루프린트 를 선택한 다음 레벨 블루프린트 열기 버튼을 클릭합니다.
레벨 블루프린트 를 최소화시킨 다음 레벨 뷰포트 또는 월드 아웃라이너 를 통해 MatineeActor 를 클릭하여 선택합니다.
레벨 블루프린트 창을 열고 이벤트 그래프 에 우클릭한 다음 맥락 메뉴에서 MatineeActor 로의 레퍼런스 추가 옵션을 선택합니다.
그러면 MatineeActor 가 레벨 블루프린트 의 이벤트 그래프 에 추가됩니다.
레벨 블루프린트 를 최소화시킨 다음 레벨 뷰포트 또는 월드 아웃라이너 를 통해 TriggerBox 에 클릭하여 선택합니다.
레벨 블루프린트 창을 열어 이벤트 그래프 에 우클릭한 다음 맥락 메뉴에서 Add Event for TriggerBox > Collision > Add OnActorBeginOverlap 을 선택합니다.
다시 이벤트 그래프 에 우클릭한 다음 기존 단계를 반복하여 Add OnActorEndOverlap 옵션을 추가합니다.
이벤트 그래프 에서 MatineeActor 노드를 찾아 클릭한 다음 출력 핀(파랑 원)을 끌어 놓아 맥락 메뉴를 띄우고, 검색창에 Play 라 입력한 다음 Play 옵션을 선택합니다.
MatineeActor 노드에서 다시 한번 끌어놓아 맥락 메뉴 검색창에서 Reverse 를 입력한 다음 Reverse 옵션을 선택합니다.
OnActorBeginOverlap 노드를 찾아 실행 출력 핀을 끌어 Play 노드의 입력 핀에 연결합니다.
위 단계를 반복하여 OnActorEndOverlap 노드의 출력을 Reverse 노드의 입력 핀에 연결합니다.
레벨 블루프린트 의 툴바 메뉴에서 컴파일 버튼을 클릭합니다.
블루프린트 컴파일이 완료되어 TriggerBox 가 이제 마티네 액터에 걸렸습니다.
레벨 블루프린트 를 최소화시킨 다음 메인 툴바의 플레이 버튼을 눌러 에디터에서 플레이합니다.
'게임엔진(GameEngine) > Unreal4' 카테고리의 다른 글
Default Pawn (디폴트 폰) 게임 모드에서 사용하는 기본 폰, 관람자 폰 SpectatorPawn (0) | 2016.05.27 |
---|---|
액터 레퍼런싱 과 Target (0) | 2016.05.20 |
Unreal4 & 안드로이드 빌드 와 ETC1 VS ETC2 (0) | 2016.05.18 |
Spawn Emitter at Location does not auto destroy (0) | 2016.05.18 |
콜리전 기본 규칙 Block , Hit (0) | 2016.05.17 |