Skip to content

HautlyS/Vortex-R3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Techno Sutra DEMO

A cross-platform Techno Sutra DEMO built with Bevy (Rust) that renders equirectangular 360ยฐ images as immersive first-person experiences.

Features

  • ๐ŸŒ Equirectangular to Cubemap Conversion - Automatic GPU-ready conversion
  • ๐ŸŽฎ First-Person Controls - Mouse look + keyboard navigation
  • ๐ŸŽญ 3D Character Integration - GLB/GLTF model support
  • ๐Ÿ”Š Spatial Audio - 3D positional audio for characters
  • ๐Ÿ–ฅ๏ธ Cross-Platform - Desktop (Windows/macOS/Linux) + Web (WASM)

Quick Start

Prerequisites

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Add WASM target (for web builds)
rustup target add wasm32-unknown-unknown

# Install trunk (for web builds)
cargo install --locked trunk

Run Desktop

cargo run --release

Run Web

trunk serve
# Open http://localhost:8080

Controls

Input Action
Click Capture mouse
Mouse Move Look around
WASD / Arrows Look around
+/- Adjust FOV
Space Toggle character audio
Escape Release mouse

Project Structure

techno-sutra-demo/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main.rs              # Entry point
โ”‚   โ”œโ”€โ”€ lib.rs               # GamePlugin + states
โ”‚   โ”œโ”€โ”€ loading.rs           # Asset loading
โ”‚   โ”œโ”€โ”€ panorama.rs          # Equirectโ†’Cubemap conversion
โ”‚   โ”œโ”€โ”€ camera_controller.rs # First-person controls
โ”‚   โ””โ”€โ”€ character.rs         # GLB + spatial audio
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ panoramas/demo.jpg   # 4096x2048 equirectangular
โ”‚   โ”œโ”€โ”€ models/character.glb # 3D character
โ”‚   โ””โ”€โ”€ audio/dialogue.ogg   # Character audio
โ”œโ”€โ”€ Cargo.toml
โ”œโ”€โ”€ index.html               # WASM template
โ””โ”€โ”€ Trunk.toml               # WASM build config

Adding Your Own Panorama

  1. Place a 2:1 aspect ratio image (e.g., 4096x2048) in assets/panoramas/
  2. Update src/loading.rs to point to your image:
    #[asset(path = "panoramas/your_panorama.jpg")]
    pub demo_panorama: Handle<Image>,
  3. Run cargo run

License

MIT / Apache-2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors