-
[언리얼 블루프린트]Slow Time 만들기Unreal Engine Blueprint/블루프린트를 이용한 게임 만들기 2019. 9. 16. 15:46
슬로 모션이라는 말을 많이 들어 봤을 겁니다. 우선 슬로 모션에 대해 설명을 하자면 슬로 모션(Slow Motion)은 영화나 텔레비전 등의 영상 매체에서 사용하는 처리 기법 중 하나이다. 불렛 타임이라고도 한다. 한국에서 '슬로우 모션'이라고 쓰기도 합니다. 영상을 다소 느리게 플레이하여 긴박한 상황의 세세한 부분을 관객들이 놓치지 않고 감상할 수 있게 하여 긴장감을 배가시키는 효과를 위해 사용하는 영상 처리 기법 중 하나입니다. 보통 긴박한 상황은 눈 깜짝할 사이에 휙 하고 지나가는데, 여기에 슬로 모션을 적용시키면 긴박감은 그대로 유지하면서도 그 상황을 관객들이 놓치지 않고 감상할 수 있게 해주므로 액션 영화라면 거의 필수 기법이라고 할 수 있습니다. 이러한 기법을 게임에 넣어서 사용하면 멋지지 않을까? 라고 생각해서 만든 게임들이 있습니다.
철권 7에서의 슬로 모션 예를 들자면 "철권 7"에서 볼 수 있는 서로의 피가 별로 없을 때 서로 공격을 했을 때 누가 이길지 등 보통 게임에 긴장감과 몰입감을 주기 위해서 슬로 모션을 넣습니다. 아니면 슬로 모션이란 시스템 자체로 게임 플레이를 하게 만드는 게임이 있습니다.
슬로 모션을 이용해 적을 죽이는 "Super Hot" 이렇게 영상 기법이지만 게임에 넣어서 재미를 줄 수 있는 것들은 여러가지가 있습니다. 오늘 할 일은 "언리얼에서 슬로 모션 만들어 보기" 입니다.
먼저 언리얼 프로젝트를 켜줍니다. 그리고 ThirdPersonBP 폴더에 가서 3인칭 캐릭터 블루프린트 파일을 열어 주세요.
그 다음에는 위 사진에 보이는 노드들을 작성하면 됩니다. 그럼 이 노드가 무슨 일을 하는지 간단히 설명하자면 "k키를 누르면 월드에 있는 모든 시간이 10배 느려지며 다시 k키를 누르면 원래 시간의 속도로 돌아오게 됩니다" 이제 노드 하나하나 자세히 설명을 하겠습니다. 우선 빨간색 K 노드는 Pressed 화살표는 K키를 눌렀을 때 연결 된 부분으로 넘어갑니다. 또 Released는 K키에서 떼면 화살표에 연결 된 부분으로 넘어갑니다. 위 사진은 눌렀을 때 밖에 없어서 누르면 FlipFlop이라는 노드로 넘어가는 것 밖에 없습니다. 다음으로 FlipFlop에 대해 설명을 드리자면 FlipFlop 노드는 간단 합니다. 이 노드로 들어오면 A로 반환하고 다시 들어오면 B로 반환하고 또 다시 들어오면 A로 반환하는 즉 FlipFlop이 실행되면 결과가 A->B->A->B 순서대로 넘어가는 노드입니다 밑에 Is A라는 빨간색 부분은 지금 반환 되는게 A인지 확인하는 bool값입니다. branch는 언리얼에서 제공하는 if문입니다. 여기까지의 설명으로 알 수 있는건 k키를 누르면 이벤트가 시작되며 branch 조건인 FlipFlop이 A인지 B인지에 따라 달라지는 이벤트 입니다. 그럼 다음으로 내용을 보기전에 언리얼에서는 Global Time이라는 게 있습니다. 이 Global Time은 간단히 설명하자면 게임이 가지고 있는 세계 시간입니다. 세계 시간이라고 해서 이걸 건드려서 게임에서 낮과 밤이 되는게 아닙니다. 우리가 살고 있는 세계라 생각하고 이 세계의 시간의 속도를 1이라 하고 이 값을 10으로 바꾸면 시간의 속도가 10이나 빠른 세계가 되는 겁니다. 그럼 0.1로 바꾸면 시간의 속도가 10배나 느리게 움직이게 됩니다. 만약 그렇게 느려진 세계에서 특정 물체를 빠르게 하고 싶다 그러면 그 물체를 플레이어라고 가정하면 슬로 모션이 만들어지게 됩니다. 그리고 그러한 역활을 하는 노드는 custom time dilation[현재 월드 시간 x 지정한 시간 속도]입니다. 현재 플레이어가 조종하는 pawn의 시간을 10을 곱해주면 10배나 느려진 세계에서 10배 빠르게 움직이니 플레이어만 원래 시간과 같은 행동을 할 수 있게 됩니다. 이렇게 언리얼에서 슬로 모션을 어떻게 만드는지 또 만드는 방법에 대해서 설명을 했습니다.
'Unreal Engine Blueprint > 블루프린트를 이용한 게임 만들기' 카테고리의 다른 글
[언리얼 블루프린트] SuperHot (0) 2019.11.18 [언리얼 블루프린트]레벨 블루프린트의 사용 방법 (0) 2019.11.04 [언리얼 블루프린트]포스트 프로세스 사용하기 (1) 2019.09.23 [언리얼 블루프린트]누구나 할 수 있는 게임 만들기 (0) 2019.09.09 [언리얼 블루프린트]간단한 몬스터 AI(Patrol)만들기 (0) 2019.09.02