[언리얼 엔진 4.7] 레벨 제작 소개 - 10. 블루프린트 문 (2/2) 본문
언리얼 엔진 공식 유튜브 튜토리얼 시리즈 [ https://youtu.be/HJbHs_oNQsk ] 학습 후 필기 복습
레벨 블루프린트 화면에서 Event Tick 노드는 필요없으므로 지워준다.
그래프 ( 배경 ) 에서 우클릭하면 Create a Reference to Door ( Door 에 레퍼런스 생성 - 레벨에서 Door 을 선택한 상태로 추가해야한다. ) 를 클릭해 생성해준다.
이는 레벨에 있는 Door 에 해당하는 레퍼런스가 생성된 것으로, 타임라인이 어떤 물체를 움직이려고 할 때 대상을 지정하기 위해 필요한 것이다.
Movement 노드를 다시 더블클릭하여 타임라인을 열면, 설정했던 키프레임의 Value 가 0 과 이동 거리값으로 설정했던 것을 볼 수 있는데, 이는 문의 기본 위치에서 변동되는 수치이므로 문의 기본위치에서 변동되는 값이라는 정보를 입력해야한다.
Door 레퍼런스의 핀을 늘려 Get Actor Location 노드를 생성한 후, 출력값을 다시 Romote to variable ( 변수로 승격 ) 노드와 연결해준다.
이미지와 같이 설정되어야 하며, 변수 이름은 InitialDoorLocation 이라고 정해준다.
Event Begin Play 노드와 Set 노드를 다음과 같이 연결해주면, 게임이 시작하자마자 Door 의 위치를 얻어 이 변수에 저장하게 된다.
Door 레퍼런스를 Ctrl + C, Ctrl + V 로 복사 붙여넣기해 하나 더 만들어준다.
여기에 만드는 스크립트는 타임라인이 동작하는 동안 Door 의 위치를 설정하는 것으로, Door 의 핀을 드래그해서 Set Actor Location 을 선택해준다.
DoorMovement 의 Update 항목에서 흰색 핀을 끌어서 Set Actor Location 에 연결 해준다.
Ctrl 을 누른상태에서 전에 Set 을 생성하면서 만들었던 InitialDoorLocation 변수를 그래프로 끌어온다. ( 드래그 앤 드롭 )
기존의 위치에서 변경값을 수정하는 형태로 설정하는 것으로, 이상한 위치에서 노드를 실행하는 것을 막을 수 있다.
새로 불러온 Initial Door Location 변수에서 핀을 늘려, Vector + Vector ( +를 검색하면 바로 나온다. ) 와 연결해준다.
DoorMovement 노드의 Movement 항목을 같이 연결해준다.
( 기본 설정으로 연결하면 선이 꼬일 수 있지만, Ctrl 을 눌러 위아래를 바꿔서 방지할 수 있다. https://youtu.be/HJbHs_oNQsk?t=277 )
이미지와 같이 연결해주고 컴파일 후, 다시 레벨 화면으로 돌아가 테스트해본다.
플레이어가 박스 트리거를 벗어나고도 약간의 시간이 흐른 뒤에 닫히게 설정하기 위해선, OnActorEndOverlap 핀을 다시 끊고 ( Ctrl 을 누른상태로 연결점을 드래그 ) , Delay 노드를 새로 생성한다. ( D 를 누른상태에서 좌클릭으로도 불러올 수 있다고 한다. )
Duration 에 입력한 수치만큼 시간지연이 발생하며, 영상에서는 지연시간을 0.5 초록 설정하였다.
다시 컴파일 후, 정상적으로 작동하는지 확인한다.
'Tool > Unreal Engine 4' 카테고리의 다른 글
[언리얼 엔진 4.8] 블루프린트 입문 - 01. 라이트 점등/소등 (0) | 2019.01.05 |
---|---|
[언리얼 엔진 4.7] 레벨 제작 소개 - 11. 소품, 라이트 추가 (완성) (0) | 2019.01.04 |
[언리얼 엔진 4.7] 레벨 제작 소개 - 09. 블루프린트 문 (1/2) (0) | 2019.01.04 |
[언리얼 엔진 4.7] 레벨 제작 소개 - 08. 스크린도어 (슬라이딩 유리문) (0) | 2019.01.04 |
[언리얼 엔진 4.7] 레벨 제작 소개 - 07. 유리 추가 (0) | 2019.01.03 |