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

Unity VR 튜토리얼 15편

by goodworld-info 2025. 7. 3.

⚡ VR 게임에 파워업 아이템 추가하기 – 시간 증가 & 멀티샷 구현

Meta Quest / PCVR 모두 지원
Unity XR Interaction Toolkit 기반
미니게임에 파워업 시스템을 추가해 몰입도와 전략성을 높이자!

가상현실(VR)

“VR 게임을 풍성하게 만드는 비결은 ‘보상’이다”

플레이어가 게임을 계속 즐기게 하려면,
적절한 보상과 강화 시스템이 필요합니다.
파워업(Power-Up) 아이템은 짧은 시간 동안
플레이어에게 강력한 효과를 주어 재미와 성취감을 높여줍니다.

이번 튜토리얼에서는

  • 타겟을 맞추면 시간이 늘어나는 아이템,
  • 일정 조건에서 멀티샷 기능을 발동하는
    두 가지 파워업 시스템을 Unity VR 환경에서 구현합니다.

✅ 목표 기능 요약

기능설명
시간 증가 아이템 타겟에 부딪히면 +10초 추가
멀티샷 파워업 발동 일정 점수 이상 시 총알 3발 동시에 발사
UI에 파워업 상태 표시 아이콘 또는 텍스트로 효과 상태 알림
제한 시간형 효과 유지 10초 동안만 멀티샷 유지 (선택 기능)
 

🛠️ 사전 준비 사항

항목설명
Unity 버전 2021.3 이상
XR Toolkit 설치 완료
이전 구현 발사체, 점수 시스템, 타이머 시스템 완료 상태
 

🧾 Step 1. 시간 증가 아이템 만들기

1. 아이템 오브젝트 생성

  1. 3D Object > Sphere
  2. 이름: TimeBonusItem
  3. 크기: (0.2, 0.2, 0.2)
  4. Rigidbody: ✅ Is Kinematic = true
  5. Collider: ✅ Is Trigger = true

2. 충돌 스크립트 작성

📄 TimeBonus.cs

📌 VRGameTimer 스크립트에 AddTime(float time) 메서드 추가:


🎯 Step 2. 멀티샷 파워업 시스템 구현

1. BulletShooter.cs 수정

기존 Fire() 함수에 멀티샷 조건을 추가:


2. 점수에 따라 멀티샷 발동

📄 ScoreManager.cs 수정:


📊 Step 3. 파워업 상태 UI 구성

  1. Canvas > TextMeshPro 생성 → 이름: PowerUpText
  2. 초기값: " " (빈칸)
  3. BulletShooter.cs에 UI 표시 코드 추가:


💡 추가 기능 아이디어

확장 기능설명
파워업 아이템 자동 생성 일정 시간마다 Instantiate()
아이템 회전/애니메이션 효과 transform.Rotate()
HUD에 남은 파워업 시간 표시 Slider UI or Countdown
다양한 파워업 조합 (예: 쉴드, 슬로우 등) enum PowerUpType으로 관리 가능

✅ 테스트 체크리스트

항목확인 여부
아이템 맞추면 시간 증가 ✅ 작동
점수 200 이상 시 멀티샷 발동 ✅ 작동
멀티샷 10초 후 비활성화 ✅ 작동
UI에 상태 표시됨 ✅ 확인
기존 시스템과 충돌 없음 ✅ 통합 완료
 

📘 예시 구조


✅ 마무리 요약

기능 구현 항목상태
시간 증가 아이템 ✅ 완료
멀티샷 파워업 ✅ 작동
점수 조건 기반 발동 ✅ 가능
상태 UI 출력 ✅ 표시됨
VR 게임 몰입도 향상 ✅ 성공적

📘 다음 튜토리얼 예고 – 16편

🧠 VR 게임에 리더보드 만들기 – 최고 점수 TOP 3 표시 (PlayerPrefs 기반)

  • 점수 저장
  • 정렬된 랭킹 출력
  • UI 패널로 시각화