언어:
페이지 정보
엔진 버전:
언리얼 엔진

마우스 인터페이스의 레벨 블루프린트

언리얼 엔진

데모렛을 보면 동작을 구성하는 데 있어 레벨 블루프린트와 액터 블루프린트 스크립트를 둘 다 쓰는 것을 알 수 있습니다. 예제로써 일부러 그렇게 한 건데, 각각 마우스 상호작용을 어떻게 활용하는지 선보이기 위함입니다. 레벨 블루프린트는 박스 이동을 처리하는 반면, 액터 블루프린트는 이동가능 구체를 만드는데 사용됩니다.

이 레벨에 활용된 레벨 스크립트에서는 플레이어가 움직이는 박스를 클릭하도록 마우스 상호작용을 셋업하는 방법을 보여줍니다. 박스가 레벨 앞뒤로 이동하면서, 클릭할 때마다 박스의 애니메이션이 시작 또는 중지됩니다.

EditorCubeImage.png

  1. 에디터 큐브 액터

마우스 오버 셋업

레벨 블루프린트에 보면 OnBeginCursorOverOnEndCursorOver 이벤트가 있는 부분을 볼 수 있습니다. 이 네트워크는 단순히 커서가 에디터 큐브 오브젝트 위에 있을 때의 외양을 바꿔주는 역할을 합니다.

LeveScriptMouseOverEvents.png

  • OnBeginCursorOver - 마우스 커서가 특정 오브젝트 위에 올라갈 때마다 발동됩니다. 이 경우에는 에디터 큐브로, 플레이 도중 앞뒤로 왔다갔다 하는 것을 볼 수 있습니다.

  • OnEndCursorOver - 커서가 지정된 오브젝트, 마찬가지로 에디터 큐브를 벗어나면 호출되는 것입니다.

특정 오브젝트에 대해 이러한 이벤트를 생성하는 방법은, 뷰포트나 월드 아웃라이너에서 오브젝트를 선택한 다음, 블루프린트 에디터 창에서 그래프에 우클릭한 다음 Add Event for 오브젝트 이름 > Input > Mouse Input > Add OnBeginCursorOver 또는 Add OnEndCursorOver 를 선택하면 됩니다.

마우스 클릭 셋업

레벨 블루프린트 역시 마우스 클릭 처리를 위한 셋업이 포함되어 있습니다.

ClickSetup_LeveScript.png

일반적으로 말하면 이 네트워크는 단순히 FlipFlop 플로우 컨트롤 노드를 사용해서 에디터 큐브의 마티네를 시작 또는 중지 상태로 바꾸는 것일 뿐입니다. 별개의 두 이벤트가 네트워크를 돌린다는 점을 눈여겨 봅시다. 이 두 개의 이벤트를 통해, 네트워크를 컴퓨터의 마우스로도 모바일 디바이스의 터치로도 호출 가능합니다.

  • OnInputTouchBegin - 지정된 오브젝트의 Touch 이벤트 발생시 호출되는 것으로, 플레이어가 모바일 디바이스의 화면을 터치할 때 발생하는 것입니다.

  • OnClicked - 플레이어가 지정된 오브젝트에 마우스를 클릭할 때 호출되는 이벤트입니다.

특정 오브젝트에 대해 이러한 이벤트를 생성하는 방법은, 뷰포트나 월드 아웃라이너에서 오브젝트를 선택한 다음, 레벨 블루프린트의 이벤트 그래프에서 그래프에 우클릭하고 Add Event for 오브젝트 이름 > Input > Touch Input > Add OnInputTouchBegin 또는 Add Event for 오브젝트 이름 > Input > Mouse Input > Add OnClicked 를 선택하면 됩니다.