레벨 이름은 Blueprint_MouseInteraction이다.
바닥에 놓여있는 공위에 마우스를 놓으면 빨간색으로 변하고 클릭해서 드래그하면 위치를 변경할수 있다.
공의 블루프린트는 MI_Sphere이다.
컴포넌트는 StaticMesh이고 Sphere를 지정해준다. 아무 Sphere나 상관없다
블루프린트로 가보자 StaticMesh를 선택하고 Detail아래쪽에 가보면 이벤트들이 활성화되여져 있다. 터치도 지원하는것 같다.
각 이벤트중 우선 마우스가 오버했을때 빠져나왔을때 커서의 모양을 바꾸고 디폴트로 돌려놓는다 머터리얼을 바꿔 액터의 색상도 바꾼다. 마우스의 커서는 입력이므로 GetPlayerController의 함수이다.
클릭이 릴리스 되었을때는 마우스가 오버되는 상태가 되므로 같은곳으로 연결해준다.
다음은 마우스클릭과 스크린터치의 경우이다. 클릭의 경우 마우스 오버 이벤트를 디저블해주어 연속적인 이벤트 발생을 방지한다. 스크린터치의 경우 오버가 없기때문에 로직이 간단해진다. 시퀀스1에서 마우스 클릭과 같은 SetMaterial을 수행한다.
TickEvent에서 마우스와 터치 로직을 반복적으로 실행하는데
게이트를 이용해 클릭이 된경우만 실행하게 한다. GetHitResutUnderCursorByChannel함수를 이용해 커서와 hit된 정보를 얻어온다.
커서가 Hit한 위치로 액터의 위치를 옮긴다
핵심만 설명했으므로 자세한 블루프린트는 본문을 보시길 잘될지 모르겠지만 블루프린트를 카피해서 텍스쳐파일로 저장했으므로 첨부된 파일의 텍스트를 Ctrl-C해서 이벤트그래프Ctrl-V로 붙여보시길.