🎓 블로그 소개: 이 블로그는 가상현실(VR)과 인공지능(AI)을 활용한 실습형 교육 콘텐츠를 제공합니다. 모든 콘텐츠는 직접 제작되며, 초보자도 쉽게 따라할 수 있도록 구성되어 있습니다.
본문 바로가기
VR 코딩 교육

Unity로 만드는 초보자용 VR 코딩 게임 튜토리얼 2편 – VR 컨트롤러로 오브젝트 조작하기

by goodworld-info 2025. 4. 12.

가상현실(VR)

코딩 교육의 패러다임은 이제 가상현실 속으로 들어왔습니다. 특히 VR 컨트롤러를 직접 활용해 오브젝트를 조작하는 방식은 단순히 '보는 학습'을 넘어 직접 손으로 체험하며 배우는 실습형 몰입 콘텐츠로 진화하고 있습니다. 이 튜토리얼 2편에서는 Unity와 Meta Quest 기기를 연동하여, VR 컨트롤러로 오브젝트를 집고 옮기며, 버튼을 누르는 인터랙션까지 구현합니다.

이제 진짜 VR답게 '움직이고 반응하는 코딩 환경'을 만들어볼 시간입니다.


🎯 목표

  • VR 컨트롤러(예: Meta Quest Touch)로 오브젝트를 직접 조작
  • 잡기(Grab), 이동(Move), 놓기(Release) 구현
  • 버튼 누르기와 UI 상호작용

🔧 1단계: XR Plugin 설치 및 설정

① Unity 패키지 매니저에서 설치할 항목

  • XR Interaction Toolkit
  • OpenXR Plugin
  • Input System
  • Oculus XR Plugin (Meta 기기일 경우)

설치 후 Project Settings > XR Plug-in Management에서 플랫폼별 XR 설정을 해주세요.


🛠️ 2단계: XR 리그 구성하기

① XR Interaction Toolkit 기반 리그 생성

  1. Hierarchy 우클릭 → XR → Room-Scale XR Rig
  2. 생성된 XR Origin 안에 있는 Main Camera는 사용자 시점

② Left/Right Controller 설정

  • LeftHand Controller와 RightHand Controller가 자동 생성됨
  • 각 컨트롤러에 아래 컴포넌트 추가:
    • XR Controller (Action-based)
    • XR Ray Interactor (UI 터치용)
    • XR Direct Interactor (오브젝트 직접 조작용)

🎮 3단계: 오브젝트 잡기 & 놓기 구현하기

① Grab 가능한 오브젝트 만들기

  1. Hierarchy → 3D Object → Cube 생성 (이름: GrabCube)
  2. Rigidbody 컴포넌트 추가 (Use Gravity 체크)
  3. XR Grab Interactable 컴포넌트 추가

✅ 이 설정만으로도 컨트롤러가 가까이 가면 잡고 놓는 동작이 가능해집니다.


📌 4단계: 버튼 누르기 기능 구현하기

① 가상 버튼 생성

  1. 3D Object → Cube (이름: VRButton)
  2. Collider를 이용해 충돌 영역 생성
  3. 새 스크립트 추가: VRButtonPress.cs

② 컨트롤러 Tag 설정

  • Left/Right Controller 오브젝트에 Tag: Controller 추가

✅ 결과

  • 컨트롤러가 버튼 위로 가면 오브젝트 On/Off

🧪 5단계: 실습 예제 구성 – “가상 실험실” 미션 만들기

미션 예시구현 방식활용 코드 개념
버튼 눌러 전등 켜기 Collider + Toggle Script 조건문, 이벤트
도구 집어 옮기기 XR Grab Interactable + Rigidbody 물리 시스템, 상호작용
문 열기 Animation + Trigger Script 상태 제어, 애니메이션

✨ 실제 교실이나 실험실을 모티브로 구성하면, 학생용 교육 VR 게임으로 확장 가능합니다.


📦 6단계: UI와 연동된 코드 제어 (추가 기능)

UI 버튼과 VR 컨트롤러 연동 예시

  • XR Ray Interactor 사용해 UI Canvas 내 버튼 터치 가능
  • Event System 설정 필수
  • XR UI Input Module 사용

이렇게 하면 손가락 포인터나 레이저로 UI 버튼 조작 가능


💡 확장 팁: 퀘스트 시스템 만들기

초보자에게 추천하는 단계적 퀘스트 구성:

  1. 미션 1: 오브젝트 집기
  2. 미션 2: 버튼 눌러 전등 켜기
  3. 미션 3: 다섯 개의 오브젝트 제자리에 놓기

모든 미션이 완료되면 UI 텍스트로 "성공!" 메시지를 띄우는 방식.


✅ 결론

이제 Unity에서 단순히 오브젝트만 보는 것이 아니라, 직접 잡고 옮기고 상호작용하는 몰입형 코딩 게임 개발이 가능해졌습니다. 이번 튜토리얼을 통해 VR 컨트롤러 사용법을 익히고, 교육용 게임에 실질적으로 적용할 수 있는 기능들을 배웠습니다.