언리얼 엔진 5에서 VR 버튼을 만들기 위해 플레이어 손에 충돌체를 설정하는 것이 첫 단계입니다. XR Pawn 블루프린트에서 Hand Left와 Hand Right에 Sphere Collision을 추가하고, 크기와 위치를 조정하여 손가락을 덮도록 합니다. 🖐️
버튼의 시각적 요소를 구성합니다. Actor 타입의 새 블루프린트(bp_player_button)를 생성하고, Cube 컴포넌트를 사용하여 버튼의 기반(foundation)과 트리거(trigger) 부분을 만듭니다. 🧱
버튼의 상호작용을 위해 Box Collision을 추가하고, button trigger 위에 살짝 걸치도록 배치하여 플레이어의 손이 닿을 때 감지할 수 있도록 합니다. 🔲
버튼의 초기 위치를 저장하는 것이 중요합니다. Event Begin Play에서 button trigger의 Relative Location을 가져와 Start Location 변수로 저장합니다. 📍
버튼 누름 동작을 구현합니다. button collision의 On Component Begin Overlap 이벤트를 사용하여 플레이어의 손이 닿으면 Move Component To 노드를 통해 button trigger를 Start Location에서 아래로 이동시킵니다. ⬇️
버튼 복귀 동작을 구현합니다. button collision의 On Component End Overlap 이벤트를 사용하여 플레이어의 손이 떨어지면 짧은 Delay 후 Move Component To 노드를 통해 button trigger를 Start Location으로 되돌립니다. ⬆️
버튼이 눌렸을 때 특정 코드를 실행할 수 있습니다. 버튼을 아래로 이동시키는 Move Component To 노드의 Completed 핀에서 Print String이나 Play Sound 2D와 같은 원하는 액션을 연결하여 문을 열거나 조명을 켜는 등의 기능을 구현할 수 있습니다. ⚙️
애니메이션 속도와 이동 거리는 Move Component To 노드의 Over Time 값과 Start Location에서 빼는 벡터 값을 조정하여 세밀하게 제어할 수 있습니다. ⏱️
최종적으로 플레이어 손의 충돌체는 Hidden in Game 설정을 다시 활성화하여 게임 내에서 보이지 않도록 정리합니다. 👻