문 열기

타임라인을 사용하여 접근 여부에 따라 열리는 문을 만들어 보는 예제입니다.

Choose your operating system:

Windows

macOS

Linux

타임라인을 사용하여 접근 여부에 따라 열리는 문을 만들어 보는 예제입니다.

레벨 셋업

단순한 문으로 레벨을 시작합니다. 이 문은 양쪽 면이 하나의 Trigger Volume 으로 둘러싸여 있습니다. 플레이어가 이 트리거 볼륨에 들어가고 나가면서 문을 여닫는 타임라인을 실행하게 됩니다.

DoorLevelSetup.png

블루프린트 셋업

이러한 행위를 구동시키는 블루프린트 네트워크는 이렇습니다.

우선 문의 현재 위치를 "Door Initial Location" 이라는 벡터 변수에 저장하는 것으로 시작합니다. 왜냐면 마티네와는 달리 타임라인은 이 작업을 자동으로 해 주지 않기에, 일단 그 데이터에 접근해야 문을 들어올리는 동작을 추가할 수 있기 때문입니다.

이 작업을 해 주고 나면 타임라인 자체를 구성합니다. 이 경우 타임라인은 두 가지의 이벤트로 호출되는데, 둘 다 같은 트리거 볼륨에서 기인합니다. 플레이어가 이 볼륨에 닿을 때, 문을 들어올리는 타임라인 애니메이션을 재생합니다. 문을 어떻게 들어올리냐면, 레벨 시작시 저장한 원래 위치에 타임라인의 커브 값을 더하는 식입니다.

플레이어가 볼륨에서 나갈 때, 2 초간 기다린 다음 타임라인을 역방향 재생하여 문을 원래 위치로 되돌려 놓습니다.

클릭하면 원래 크기로

참고로 이 구성에서 소리 효과는 고려치 않습니다.

타임라인 셋업

이 예제의 타임라인 셋업은 꽤나 단순합니다. 일단 벡터 커브가 하나 있습니다. 이 커브로 Z 컴포넌트를 0,0 에서 1,360 으로 움직입니다. 말로 풀면, 1 초에 걸쳐 문을 위쪽으로 360 유닛만큼 옮긴다는 뜻입니다.

DoorTimeline.png

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기