Make Unreal REAL.
article thumbnail
Unreal Engine: Ultimate Survival Horror Course

 

W_InventorySlot에서 SlotButton의 On Released 이벤트에 사용, 조사, 버리기가 모두 불가능하면 드롭다운 메뉴를 띄우지 않도록 처리한다.

 


BPC_Inventory의 CreateExaminationWidget에 조사하기 창을 열면 드롭다운 메뉴를 닫는 부분을 추가한다.

 


S_ItemData Structure에 조사하기 시 아이템의 초기 회전값을 저장할 ExaminationMeshRotation 변수를 추가한다.

 


W_Examination의 UpdateWidget에 회전값을 설정하는 SetRelativeRotation 노드를 추가한다.

 


Functions - Override에서 On Mouse Button Down, On Mouse Button Up, On Mouse Move 이벤트를 오버라이드한다.

 


On Mouse Button Down에서는 좌클릭이 눌리면 회전 가능 상태를 뜻하는 RotateMesh, 초기 마우스 좌표를 저장하는 MouseLocation 변수의 값을 설정한다.

 

마우스 좌표는 Mouse Event - Get Screen Space Position를 총해 가져올 수 있다.

연결되지 않은 Player Controller - Get Mouse Position Scaled by DPI 노드를 이용해도 된다.


한 번만 이벤트가 처리되고 끝나기 때문에 Return Value를 Handled로 지정한다.

 


On Mouse Button Up에서는 Rotate Mesh를 false로 설정해 회전 불가능한 상태로 만든다.

 


On Mouse Move에서는 조사하기 창에서 마우스를 누른 상태에서 아이템을 회전시키는 기능을 구현한다.

지속적으로 업데이트해야 하기 때문에 Return Value를 Unhandled로 지정한다.

 

Static Mesh를 GetWorldRotation -> CombineRotators -> SetWorldRotation를 통해 돌려도 되고, AddWorldRotation을 이용해 돌려도 된다.

 


Scene Capture 2D의 FOV를 45로 변경하고 씬 캡처로부터의 거리를 뜻하는 배터리와 문 열쇠의 ExaminationMeshOffset을 설정한다.

 

 

조사하기 창에서 아이템을 돌리는 데 성공했다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그