89 lines
3.3 KiB
Markdown
89 lines
3.3 KiB
Markdown
# Virtual Tutor
|
|
|
|
> **Disclaimer:** This project is still a work in progress and in early development.
|
|
|
|
## Project Structure
|
|
|
|
### Unity VR/AR Application (`Unity/`)
|
|
|
|
#### Scenes
|
|
- **`Assets/Scenes/VR/`** - VR learning tasks (1-4, task 1 currently usable)
|
|
- **`Assets/Scenes/AR/`** - AR learning tasks (1-4, task 1 currently usable)
|
|
- **`Lobby.unity`** - Main lobby/menu scene
|
|
|
|
#### Key Scripts
|
|
- **`TaskTimer.cs`** - Configurable countdown timer with UI display, color warnings when time is low, and auto-return to Lobby on expiration
|
|
- **`TaskButtonManager.cs`** - Scene navigation using number keys (1-8 for tasks, L/0 for Lobby)
|
|
- **`PositionTracker.cs`** - Records Transform positions to CSV at configurable intervals for data collection
|
|
|
|
#### Technologies
|
|
- Convai SDK for AI-powered conversations
|
|
- Ready Player Me for avatars
|
|
- Meta Quest (Oculus) XR support
|
|
|
|
#### Setup Instructions
|
|
|
|
1. **Enable Quest Link**
|
|
- Open the Oculus app on your PC
|
|
- Connect your Quest headset via USB-C cable
|
|
- Put on your headset and enable Quest Link when prompted
|
|
- Alternatively, use Air Link for wireless connection (Settings → Experimental)
|
|
|
|
2. **Enable Beta Passthrough (for AR tasks)**
|
|
- On your PC, open the Oculus app
|
|
- Go to **Settings → Beta**
|
|
- Enable **"Passthrough over Oculus Link"** or **"Passthrough API"**
|
|
- Restart the Oculus app and reconnect your headset
|
|
|
|
3. **Run the Unity Project**
|
|
- Open the project in Unity Editor
|
|
- Load the `Lobby` scene from `Assets/Scenes/`
|
|
- Press Play in Unity Editor
|
|
- The application will run on your Quest via Link
|
|
|
|
#### Navigation Controls
|
|
- **Number Keys 1-8** - Switch between VR/AR tasks
|
|
- **L or 0** - Return to Lobby
|
|
- VR controllers for interaction within tasks
|
|
|
|
---
|
|
|
|
### Chat Application (`Chat-App/`)
|
|
|
|
Flutter-based cross-platform chat interface.
|
|
|
|
#### Features
|
|
- Cross-platform support (Android, iOS, Windows, Linux, macOS, Web)
|
|
- AI-powered conversations using Convai SDK
|
|
- Conversation history with persistent storage
|
|
- Automatic translation support via DeepL API
|
|
|
|
#### Installation
|
|
Pre-built installers available in `App-Installers/`:
|
|
- **Android** - `AI-Chat-Lab.apk`
|
|
- **Windows** - `AIChatLab-Setup.exe`
|
|
- **Linux** - `ai_chat_lab-0.1.0-x86_64.AppImage`
|
|
|
|
#### Development
|
|
To develop or run the application from source, you'll need to set up your Flutter development environment.
|
|
|
|
1. **Install Flutter SDK**
|
|
* Follow the official Flutter installation guide for your operating system: [https://flutter.dev/docs/get-started/install](https://flutter.dev/docs/get-started/install)
|
|
* Ensure you have all necessary dependencies (e.g., Android Studio, Xcode for iOS, VS Code, etc.) and run `flutter doctor` to verify your setup.
|
|
|
|
2. **Run the Application**
|
|
* Navigate to the `Chat-App/` directory in your terminal:
|
|
```bash
|
|
cd Chat-App/
|
|
```
|
|
* Get the project dependencies:
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
* Run the application on your desired platform (e.g., Android, Windows, Web):
|
|
```bash
|
|
flutter run
|
|
```
|
|
* To run on a specific device or platform, use the `-d` flag (e.g., `flutter run -d windows`, `flutter run -d chrome`, `flutter run -d <device_id>`).
|
|
* Ensure you have a device connected or an emulator/simulator running for mobile platforms.
|