TLabAltoh / VR_Classroom

Remote teaching project for use in VR using Unity, WebSocket, and WebRTC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VR_Classroom

Online classes in VR space using Websocket and WebRTC

Feature

  • Combination of WebSocket and WebRTC according to the importance of messages in communication
  • Hand tracking support
  • Support for bHaptics tactile gloves
  • WebView support (Android builds only)
  • Download object from external server (using AssetBundle)
  • Control of object sharing from the teacher's side

Note

  • Since 28a838d, we have changed to manage libraries in projects by submodules. This may cause problems with git pulls for users who cloned the repository before 28a838d. In that case, please consider cloning a new repository, also, if you pull changes in the future, please run git submodule update --init to update the submodule to the version recommended by the project.

Documentation

click here (hackmd)

Screenshot

Youtube

Getting Started

Prerequisites

Unity Editor

  • Unity 2021.3.23f1

Package Manager and Asset Store

Server

  • node (v16.15.0)

Installing

Clone the repository to any directory with the following command

git clone https://github.com/TLabAltoh/VR_Classroom.git --recursive

Set up

  1. Execute the following commands in Server/SyncServer
npm start

or

start.bat
  1. Execute the following commands in Server/WebRTCSignaling
npm start

or

start.bat
  1. Set the SignalingServer and SyncServer addresses in Unity
4. Launch the game from UnityEditor or the built file

How to play

Enter Room

  • Host
{IP Address (default 192.168.3.11} -p {Password (default 1234)}
  • Guest
{IP Address (default 192.168.3.11)}

Controller

  • IndexTrigger: Select UI
  • handTrigger: Manipulating objects in the scene (grip, expand)

HandTracking

  • Pinch of index finger and thumb: Select UI
  • Hand-holding gesture: Manipulating objects in the scene (grip, expand)

System Design Overview

Network

Object Divide

About

Remote teaching project for use in VR using Unity, WebSocket, and WebRTC

License:MIT License


Languages

Language:C# 95.3%Language:ShaderLab 2.9%Language:HTML 1.1%Language:HLSL 0.3%Language:JavaScript 0.3%Language:Java 0.2%Language:Batchfile 0.0%