본문 바로가기

Contents Example/1. Blueprint Input

1.1 2D input example

AD키를 사용 인형을 좌우로 움직이고 SpaceBar로 점프하게 하는 과제다

예제앞 버튼은 BP_Button_Dispatch이다. 

트리거되면 Timeline을 이용해 위치를 아래로 내리고 머터리얼의 Emissive를 낮춘후 Button Pressed의 Dispatchers CallButtonPressed가 실행된다.

CallButtonPressed은 레벨블루프린트dptj 수신해서 DefaultPawn을 BP_Pixel_Dude_Character로 변경해준다. Possess해준다. 이제 입력은 PlayerController를 통해 BP_Pixel_Dude_Character에 전달된다. 포제스되면 카메라도 변경되는데 카메라가 캐릭터와 수평으로 되어 있어 2D같은 분위기가 된다.

인형은 BP_Pixel_Dude_Character이다. 부모클래스는 캐럭터인데 스켈레탈메시가 아닌 Character body라는 StaticMesh를 이용해 애니매이션을 하는것 같다.

사용한 스태틱메시는 Input_Examples>Meshes에 있다. Dude와 Jumping을 교체하면서 애니메이션을 보여주는것 같다.

이벤트그래프를 보면 AD가 맵핑되어 있는 InputAxisMoveRight

캐릭터를 좌우로 움직여준다.

Space Bar를 클릭하면 활성화를 체크하고 Jump함수를 호출해준다

Jump후는 StaticMesh를  Jump로 바꾸어준다.

랜드이벤트시에는 다시 메시를 돌려놓는다.

Q를 누르면 Detactive를 true,  Set StaticMesh를 돌려놓고 SetRelativeTransform을 이용 원래위치로 돌려놓는다.

모드에서나가는 Q는 레벨블루프린트에서 처리한다.

포제스된 캐릭터의 QuitGame Custom Event를 불러주고 DefaultPawn를 다시 포제스하고 

속도를 600으로 돌려놓고 Cinematic Mode를 끈다.