ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [언리얼 블루프린트]Slow Time 만들기
    Unreal Engine Blueprint/블루프린트를 이용한 게임 만들기 2019. 9. 16. 15:46

    슬로 모션이라는 말을 많이 들어 봤을 겁니다. 우선 슬로 모션에 대해 설명을 하자면 슬로 모션(Slow Motion)은 영화나 텔레비전 등의 영상 매체에서 사용하는 처리 기법 중 하나이다. 불렛 타임이라고도 한다. 한국에서 '슬로우 모션'이라고 쓰기도 합니다. 영상을 다소 느리게 플레이하여 긴박한 상황의 세세한 부분을 관객들이 놓치지 않고 감상할 수 있게 하여 긴장감을 배가시키는 효과를 위해 사용하는 영상 처리 기법 중 하나입니다. 보통 긴박한 상황은 눈 깜짝할 사이에 휙 하고 지나가는데, 여기에 슬로 모션을 적용시키면 긴박감은 그대로 유지하면서도 그 상황을 관객들이 놓치지 않고 감상할 수 있게 해주므로 액션 영화라면 거의 필수 기법이라고 할 수 있습니다. 이러한 기법을 게임에 넣어서 사용하면 멋지지 않을까? 라고 생각해서 만든 게임들이 있습니다. 

    철권 7에서의 슬로 모션

    예를 들자면 "철권 7"에서 볼 수 있는 서로의 피가 별로 없을 때 서로 공격을 했을 때 누가 이길지 등 보통 게임에 긴장감과 몰입감을 주기 위해서 슬로 모션을 넣습니다. 아니면 슬로 모션이란 시스템 자체로 게임 플레이를 하게 만드는 게임이 있습니다. 

    https://youtu.be/IRtMkqIjM30

    슬로 모션을 이용해 적을 죽이는 "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배 빠르게 움직이니 플레이어만 원래 시간과 같은 행동을 할 수 있게 됩니다. 이렇게 언리얼에서 슬로 모션을 어떻게 만드는지 또 만드는 방법에 대해서 설명을 했습니다. 

Designed by Tistory.