Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

🥽 AR-VR Domain - ProjectHive

AR-VR Unity Meta Quest


📋 Overview

Welcome to the AR-VR Domain of ProjectHive! This domain focuses on Augmented Reality, Virtual Reality, and Mixed Reality experiences.

What you'll find here:

  • 🥽 VR applications and games
  • 📱 AR mobile experiences
  • 🎮 Interactive 3D environments
  • 🏗️ Spatial computing projects
  • 🎯 XR (Extended Reality) implementations

📁 Domain Structure

AR-VR/
├── Roadmap.md                    # AR/VR learning path
├── MiniProjects/                 # AR/VR projects
│   └── Example_AR-VR.md         # Project template
└── Starter-Templates/            # AR/VR templates
    └── Starter_AR-VR.md         # AR/VR starter templates

🚀 Getting Started

Prerequisites

  • Understanding of 3D graphics and spatial computing
  • Game engine knowledge (Unity or Unreal)
  • C# (Unity) or C++ (Unreal) programming
  • Basic understanding of computer vision (for AR)
  • VR headset or AR-capable device (recommended)

Hardware Requirements

  • VR: Meta Quest 2/3, HTC Vive, Valve Index, or VR-ready PC
  • AR: ARCore/ARKit compatible smartphone or AR glasses
  • Development PC: Good GPU for 3D rendering

Quick Start

  1. Review Roadmap: Check Roadmap.md for learning path
  2. Explore Projects: Browse MiniProjects/
  3. Use Templates: Start with Starter Templates
  4. Build XR Experience: Create your AR/VR project!

💻 Project Ideas

Beginner Projects (AR)

  • 📱 AR business card viewer
  • 🎨 Virtual painting app
  • 📏 AR measurement tool
  • 🎯 AR object placement
  • 📚 AR educational flashcards

Beginner Projects (VR)

  • 🏠 Virtual room tour
  • 🎮 Simple VR shooting game
  • 🖼️ 360° photo viewer
  • 🎨 VR painting application
  • 🚗 VR driving simulator

Intermediate Projects

  • 🎯 AR treasure hunt game
  • 🏢 VR architecture walkthrough
  • 👻 AR face filters
  • 🎓 VR training simulation
  • 🛒 AR furniture placement (IKEA-style)

Advanced Projects

  • 🎮 Multiplayer VR game
  • 🏥 Medical training VR simulation
  • 🌍 AR navigation system
  • 🎭 VR social platform
  • 🏭 Industrial AR maintenance guide

📦 Starter Templates

Get started with these templates:

Available Templates

  1. Unity AR Project - View Template

    • ARFoundation setup
    • Plane detection
    • Object placement
  2. Unity VR Project

    • XR Interaction Toolkit
    • VR controller input
    • Teleportation system
  3. WebXR Application

    • Three.js or A-Frame
    • Browser-based AR/VR
    • Cross-platform compatibility

🎓 Learning Path

Beginner (Months 1-3)

  • 3D graphics fundamentals
  • Unity basics (or Unreal)
  • C# programming (Unity)
  • Basic AR concepts (markers, tracking)
  • Simple VR interactions

Intermediate (Months 4-6)

  • ARFoundation / ARCore / ARKit
  • XR Interaction Toolkit
  • 3D modeling (Blender basics)
  • Locomotion in VR
  • Spatial audio

Advanced (Months 7-12)

  • Advanced VR interactions
  • Computer vision for AR
  • Multiplayer networking
  • Performance optimization
  • Hand tracking

Expert (12+ Months)

  • Photorealistic rendering
  • AI integration in XR
  • Eye tracking and foveated rendering
  • Full-body tracking
  • WebXR and metaverse platforms

📖 Full Roadmap: Roadmap.md


📚 Learning Resources

📖 Documentation

🎥 Video Courses

📚 Books

  • Unity Virtual Reality Projects by Jonathan Linowes
  • Augmented Reality: Principles and Practice by Dieter Schmalstieg
  • Learning Virtual Reality by Tony Parisi

🏆 Practice Platforms

🛒 Asset Resources

📰 Blogs & Communities


🛠️ Tech Stack

Game Engines

  • Unity - Most popular for XR
  • Unreal Engine - High-fidelity graphics
  • Godot - Open-source option
  • WebXR - Browser-based XR

AR Frameworks

  • ARFoundation - Cross-platform AR (Unity)
  • ARCore - Android AR
  • ARKit - iOS AR
  • Vuforia - Computer vision AR
  • 8th Wall - Web AR

VR Platforms

  • Meta Quest SDK - Standalone VR
  • SteamVR - PC VR
  • OpenXR - Cross-platform standard
  • WebXR - Browser VR

Tools & Libraries

  • XR Interaction Toolkit - Unity XR interactions
  • Photon - Multiplayer networking
  • Blender - 3D modeling
  • MRTK - Mixed Reality Toolkit

Programming Languages

  • C# - Unity development
  • C++ - Unreal Engine
  • JavaScript - WebXR
  • Python - Computer vision (for AR)

🤝 How to Contribute

Project Structure

YourARVRProject/
├── README.md              # Project documentation
├── Assets/                # Unity assets
│   ├── Scenes/           # Unity scenes
│   ├── Scripts/          # C# scripts
│   ├── Materials/        # Materials
│   ├── Prefabs/          # Prefabs
│   └── Models/           # 3D models
├── ProjectSettings/       # Unity project settings
├── Packages/              # Unity packages
├── Screenshots/           # Project screenshots
└── Builds/               # Compiled builds (not in repo)

Contribution Guidelines

DO:

  • Optimize for target platform (Quest, mobile, PC)
  • Test on actual devices
  • Include clear setup instructions
  • Provide video demo or GIF
  • Document controls and interactions
  • Optimize frame rate (72+ fps for VR)
  • Consider comfort and accessibility
  • Add **Contributor:** YourGitHubUsername

DON'T:

  • Commit large binary files (use Git LFS)
  • Ignore performance optimization
  • Create motion sickness-inducing experiences
  • Skip user comfort guidelines
  • Include copyrighted 3D assets

📊 Project Template

# Wearable Translation Glasses

**Contributor:** Mansi13-6
**Domain:** AR-VR
**Difficulty:** [Intermediate]
**Platform:** [AR / VR]

## Description
Brief description of the AR/VR experience.

## Features
- [Feature 1]
- [Feature 2]
- VR locomotion system
- Hand tracking support
- Spatial audio

## Tech Stack
- **Engine**: Unity 2021.3 LTS
- **XR SDK**: XR Interaction Toolkit 2.0
- **Target Platform**: Meta Quest 2/3
- **Networking**: Photon PUN (if multiplayer)

## Hardware Requirements

### VR
- Meta Quest 2/3 (standalone)
- OR PC VR headset (Vive, Index, Rift)
- VR-ready PC (GTX 1060 or better)

### AR
- ARCore compatible Android device
- OR ARKit compatible iOS device

## Prerequisites
\`\`\`
Unity 2021.3 LTS or newer
XR Interaction Toolkit package
Android Build Support (for Quest)
\`\`\`

## Setup Instructions

### 1. Unity Project Setup
\`\`\`
1. Open Unity Hub
2. Clone repository
3. Add project to Unity Hub
4. Open with Unity 2021.3 LTS
5. Wait for packages to resolve
\`\`\`

### 2. Package Installation
\`\`\`
Window → Package Manager
Install:
# pip install numpy==1.24.4
# pip install opencv-python
# pip install easyocr
# pip install googletrans==4.0.0-rc1
\`\`\`

### 3. Project Settings
\`\`\`
Edit → Project Settings → XR Plugin Management
Enable: Oculus (for Quest) or OpenXR

Player Settings:
- Company Name: Your Name
- Product Name: Your Project
- Minimum API Level: Android 10 (for Quest)
\`\`\`

### 4. Build and Deploy

**For Meta Quest:**
\`\`\`
1. Enable Developer Mode on Quest
2. Connect via USB
3. File → Build Settings → Android
4. Switch Platform
5. Build and Run
\`\`\`

**For PC VR:**
\`\`\`
1. File → Build Settings → Windows
2. Build
3. Run .exe with VR headset connected
\`\`\`

## Controls

### VR Controllers
- **Grip**: Grab objects
- **Trigger**: Use tools
- **Thumbstick**: Teleport/move
- **A/X Button**: Jump
- **B/Y Button**: Menu

### AR Touch
- **Tap**: Place object
- **Pinch**: Scale
- **Swipe**: Rotate

## Scenes
1. **MainMenu** - Start scene with options
2. **GameLevel** - Main gameplay scene
3. **Tutorial** - Interactive tutorial

## Performance

**Target Frame Rates:**
- Quest 2: 72 Hz
- Quest 3: 90 Hz
- PC VR: 90 Hz

**Optimizations:**
- Dynamic batching enabled
- Occlusion culling
- LOD groups for models
- Baked lighting

## Demo

🎥 **Video Demo**: [YouTube link]
📸 **Screenshots**: See `/Screenshots` folder

## Known Issues
- [Issue 1 and workaround]
- [Issue 2 and workaround]

## Future Enhancements
- Add multiplayer mode
- Implement hand tracking
- Add more levels
- Voice commands

## User Comfort
✅ Comfort mode available
✅ Snap turning option
✅ Vignette during movement
✅ Seated mode supported

## References
- Unity XR documentation
- Meta Quest development guide
- Asset sources (with licenses)

🎯 Best Practices

  1. Performance: Maintain 72+ fps for VR (Quest optimization)
  2. User Comfort: Avoid artificial locomotion without options
  3. Accessibility: Provide multiple locomotion options
  4. Testing: Always test on target hardware
  5. UI Design: Design for 3D space, not flat screens
  6. Audio: Use spatial audio for immersion
  7. Interactions: Make interactions intuitive and natural
  8. Safety: Include guardian/boundary system (VR)

🚨 Motion Sickness Guidelines

DO:

  • ✅ Keep frame rate stable and high
  • ✅ Match virtual and physical movements
  • ✅ Provide comfort options (teleport, snap turn)
  • ✅ Use a fixed horizon line
  • ✅ Add vignette during movement

DON'T:

  • ❌ Artificial camera rotation without user input
  • ❌ High acceleration/deceleration
  • ❌ Inconsistent frame rate
  • ❌ Field of view changes

📞 Need Help?


Ready to create immersive experiences? Check CONTRIBUTING.md to get started!

⭐ Star • 🍴 Fork • 🤝 Contribute