VR 코딩 교육

Unity VR 코딩 튜토리얼 6편

goodworld-info 2025. 5. 11. 12:25

가상현실(VR)

🎮 사용자 상호작용 구현 – 버튼 누르기 & 오브젝트 반응

초보자를 위한 VR 인터랙션 기본 튜토리얼
Unity + XR Interaction Toolkit 기반
메타 퀘스트2/3 또는 PC VR 개발 대응


🧠 학습 목표

  • XR Interaction Toolkit을 활용해 VR 컨트롤러로 버튼을 누르는 기능 구현해 봅니다.
  • 버튼을 누르면 오브젝트가 반응하는 인터랙션 구조 만들어 봅니다.
  • UI 없이 현실적인 물리 기반 인터페이스 설계해 봅니다.

🛠️ 준비물 & 환경 세팅

항목설명
Unity 버전 Unity 2021.3 LTS 이상 권장
플러그인 ✅ XR Interaction Toolkit (Unity Package Manager에서 설치)
타겟 플랫폼 Meta Quest 2/3 or PCVR (OpenXR 기반)
 

✅ Step 1. XR Interaction Toolkit 설치 확인

  1. Window > Package Manager
  2. + 버튼 → Add package from git URL 선택
  3. 아래 주소 입력:

✅ 설치 완료 후, Edit > Project Settings > XR Plug-in Management 에서 OpenXR 설정도 체크하세요.


✅ Step 2. 간단한 VR 버튼 프리팹 만들기

🎯 목표: VR에서 손으로 버튼을 누르면 Cube 색상이 바뀌는 구조

1. 버튼 오브젝트 만들기

  • GameObject > 3D Object > Cube → 이름: VR_Button
  • 위치: 눈높이에 맞게 Y = 1.2 정도 조정
  • 크기: 0.2, 0.05, 0.2
  • Box Collider 유지

2. Interactable 컴포넌트 추가

  • XR Grab Interactable 대신 → XR Simple Interactable 컴포넌트 사용
    (버튼처럼 누르는 동작에는 이게 더 적합)
  • Collider가 트리거일 경우 Is Trigger 체크 해제

✅ Step 3. 반응하는 Cube 만들기

  1. 새 Cube 생성 → 이름: Target_Cube
  2. 위치: 버튼 옆 (X = 0.5 정도)
  3. Material 하나 만들어서 색상 지정 (예: 빨간색)
  4. 이 Cube는 버튼을 누르면 색상이 바뀌게 됩니다

✅ Step 4. 상호작용 스크립트 작성 (C#)

📄 VRButtonInteraction.cs 생성:

 


✅ Step 5. 이벤트 연결하기

  1. VR_Button 오브젝트 선택
  2. XR Simple Interactable → “Select Entered” 이벤트 항목 찾기
    • 버튼 클릭
  3. VR_Button에 붙은 스크립트를 Drag → OnButtonPressed() 함수 선택

🧪 Step 6. 테스트 & 조정

✅ VR 기기에서 플레이 모드로 실행
→ 컨트롤러로 버튼을 누르면 옆의 Cube 색상이 바뀌면 성공! 🎉


💡 심화 팁

확장 요소설명
오디오 효과 추가 버튼 누를 때 소리 삽입 (AudioSource.Play())
애니메이션 적용 누를 때 버튼이 눌리는 듯한 모션
UI 텍스트 연동 누른 횟수 표시 (TextMeshPro 활용)
여러 개의 버튼 만들기 각각 다른 오브젝트에 반응하도록 구성
 

📚 참고 구조 예시


✅ 마무리 요약

오늘 구현한 기능구현 여부
컨트롤러로 VR 버튼 누르기 ✅ 구현 완료
버튼 누를 때 다른 오브젝트 반응시키기 ✅ 성공
이벤트 연결 방식 숙지 ✅ 익힘
구조 확장 가능성 확보 ✅ 가능
 

📘 다음 편 예고 (튜토리얼 7편)

“VR 게임에 사운드 효과 & 피드백 진동 추가하기”

  • 몰입감 있는 오디오 인터랙션 만들기
  • 컨트롤러 햅틱(진동) 효과 구현하는 법
  • XR Toolkit에서 진동 이벤트 쓰는 방법