Benvenuti nel repository ufficiale di Escape Room VR, un'esperienza immersiva a tema storico ed egizio sviluppata interamente in ambiente di Realtà Virtuale durante un percorso di tirocinio semestrale (6 mesi).
Questo repository costituisce il testamento tecnico e collaborativo del nostro team di sviluppo, mostrando l'integrazione di sistemi di interazione complessi, sonorizzazione dinamica e ottimizzazione grafica per visori VR standalone.
Il giocatore assume il ruolo di Daniel Cross, un esploratore australiano che, durante lo studio delle piramidi di Giza, si ritrova intrappolato in una camera nascosta. L'obiettivo è esplorare l'ambiente circostante e risolvere enigmi fisici e logici articolati su due stanze principali per trovare la via d'uscita.
- Interazioni Avanzate: Enigmi basati sulla fisica e sull'esplorazione.
- Sistema Ambientale: Gestione dinamica delle fonti di luce.
- Interfaccia Utente HUD VR: Menu e pergamene indizio richiamabili contestualmente tramite un sistema integrato.
- Sonorizzazione con FMOD: Ambiente sonorizzato con suoni spaziali tramite FMOD e il Meta XR Audio SDK.
Il progetto è stato sviluppato adottando l'architettura e gli standard software più recenti messi a disposizione dall'ecosistema Unity.
- Engine: Unity 6000.3.14f1
- Framework Interazioni: XR Interaction Toolkit (XRI) 3.3.1
- Gestione Asset 3D:
gltfastper il caricamento efficiente e l'ottimizzazione dei modelli 3D. - Tweening & Animazioni: DOTween per le rotazioni degli oggetti interattivi e i movimenti fluidi delle pergamene.
- Gestione Audio: FMOD integrato nativamente per l'insonorizzazione ambientale tridimensionale.
- Clonare il repository in locale:
git clone https://github.com/AdventureMann/EscapeRoomVR.git
- Aprire Unity Hub e aggiungere il progetto selezionando la cartella clonata.
- Assicurarsi di utilizzare la versione specifica Unity 6000.3.14f1.
- Al primo avvio, Unity scaricherà i pacchetti dipendenti indicati nel
manifest.json(comprese le libreriegltfaste XRI). - Configurare i controller XR tramite l'apposito profilo presente nella cartella
Settings/XR.
ATTENZIONE! Contiene spoiler!
(Nota: Il video mostra una build preliminare del gioco. Nella versione corrente v1.0.0-rc.1, la tipografia è stata aggiornata con il font open-source Eagle Lake per garantire la piena conformità delle licenze e migliorare l'immersione VR).
A seguito del test sommativo finale e del riscontro positivo del nostro Tutor Aziendale, sono state evidenziate alcune incertezze tecniche su cui si focalizzeranno i futuri rami di sviluppo:
-
Evoluzione del Sistema di Movimento: Transizione dal sistema attuale a tappeti/punti fissi verso una Teleport Area estesa, per garantire maggiore libertà di movimento e navigazione fluida tra le stanze.
-
Ottimizzazione del Sistema di Grabbing: Perfezionamento del punto di aggancio (attach point) per evitare che gli oggetti compaiano a una distanza troppo ravvicinata o innaturale quando vengono afferrati.
-
Prevenzione dei Glitch Fisici: Implementazione di un sistema di Anti-Stuck e Respawn automatico per gli oggetti di gioco fondamentali (es. chiavi, cuori o piume) qualora dovessero cadere o incastrarsi al di fuori delle zone di clipping della mappa.
-
Enigma dei vasi canopi: Facilitare la distinzione di ciascun vaso canopo, magari con una texture che mette in evidenza le differenze tra i vasi canopi.
-
Metodi di Teletrasporto: Invece del pad analogico destro, sarebbe meglio se i pulsanti primari (A del destro e X del sinistro) di entrambi i controller permettessero il teletrasporto, donando un'esperienza più fluida di movimento.
-
Andrea Dennis Favullo (Technical Lead & Game-UI-VR Developer): Mente tecnica e coordinatore dell'architettura del progetto. Si è occupato dell'installazione dei package, della gestione e implementazione delle luci di scena, dello sviluppo complessivo dell'UI (schermata on-boarding, di pausa, degli indizi e finale) delle animazioni complesse (rotazione oggetti e posa dello scettro), nonché dello sviluppo e del debug degli enigmi della Stanza 1 e della Build finale di progetto.
-
Matteo Fusco (Gameplay & State Programmer): Responsabile della progettazione del Game Manager, della programmazione degli stati del gioco, inclusa la gestione logica e di avanzamento complessivo e lo sviluppo degli enigmi della stanza 2.
-
Mickele Ponce Canizares (UI Designer & FMOD Sound Engineer): Progettista dell'interfaccia utente grafica (Menu iniziale, pausa, game over, HUD). Ha curato l'intera pipeline di sonorizzazione, occupandosi della ricerca degli asset audio, della loro manipolazione in FMOD e della successiva integrazione nativa all'interno dell'engine.
-
Alberto Maria Castelli (Storyteller & Architectural Designer): Ideazione della storia iniziale, definizione del finale e identificazione degli oggetti interagibili. Ha curato il design e la realizzazione delle stanze.
-
Sara Quadrio (Storyteller & Environment Designer): Co-ideatrice della narrazione e degli indovinelli; ha curato il design degli interni e la realizzazione strutturale delle stanze, collaborando attivamente alla gestione e implementazione delle luci d'ambiente.
Tutti gli asset grafici e sonori non proprietari sono stati utilizzati nel rispetto delle licenze d'uso (Creative Commons e Royalty Free).
Asset 3D
- "Egyptian Faced Vases" (https://skfb.ly/opGE8) by Andres Piroso is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Scales" (https://skfb.ly/6pJt7) by FlukierJupiter is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Medieval braziers l Lights l Enviroment" (https://skfb.ly/6XDN9) by burnedhrum is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Anubis Egyptian god (Not Rigged)" (https://skfb.ly/p9VN9) by nardymichelle2003 is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Torch" (https://skfb.ly/6AR9T) by DJMaesen is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Tutankhamun's sarcophagus replica" (https://skfb.ly/pwqAJ) by karaman.arman is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Golden Flying Eagle Pendant Jewelry Free 3D print model" (https://www.cgtrader.com/free-3d-print-models/jewelry/pendant/golden-flying-eagle-pendant-jewelry) by Vampa-design, is licensed under [Royalty Free License].
- "Feathers" (https://skfb.ly/o9YOt) by victorberdugo1 is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Human Heart 3D" (https://skfb.ly/oPtuy) by soufiane oujihi is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Key" (https://skfb.ly/6zWTC) by Mr NISHKE is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Ancient Vase Free low-poly 3D model" (https://www.cgtrader.com/free-3d-models/architectural/decoration/ancient-vase-fbx) by joaolucascv3004, is licensed under [Royalty Free License].
- "Hieroglyphic Large Box" (https://skfb.ly/6SMVu) by Liam Moffitt is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Money Bag" (https://skfb.ly/ovZQD) by Mikołaj Michalak (Nillusion) is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Stone Table - Classical Style" (https://skfb.ly/oOpMB) by Samuel F. Angrick-Johanns (Oneironauticus) is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Realistic Trunk" (https://skfb.ly/onBpH) by AlvaroLF3D is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Medieval Wooden Chest [Draft]" (https://skfb.ly/pzFEz) by AspectStudios is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Small rocks" (https://skfb.ly/opoO8) by DJMaesen is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Rolled Parchment" (https://skfb.ly/6WSty) by SM5 by Heledahn is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Ancient Egyptian Jewelry" (https://skfb.ly/6VV8s) by Mayantique is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Tomb Wall" (https://skfb.ly/onMqt) by BigGamerClaire is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Egyptian pottery" (https://skfb.ly/oysKK) by Kristiyan Marinov is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- "Torch Simple" (https://skfb.ly/6RWGE) by Psychloor is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
- “Piedistallo per bilancia e cassa contenente la piuma” modellato da Sara Quadrio, CC-BY-4.0.
- “Serratura con dischi” modellato da Sara Quadrio, CC-BY-4.0.
- "Simple Chest" (https://skfb.ly/opIJv) by vendaar is licensed under Creative Commons Attribution-NonCommercial (http://creativecommons.org/licenses/by-nc/4.0/).
- "Scan of Egyptian Stele - Cairo Museum" (https://skfb.ly/6STBH) by riccardogiorato is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
Texture
- Tappeto, Gemini AI
- "Mosaic Mural - Elusive Egyptian Hall" - Image courtesy of Mozaico (SKU: MS608) Source: https://it.mozaico.com/products/mosaics-designs_ancient-mythology_mosaic-mural-elusive-egyptian-hall_ms608 Used for educational/non-commercial purposes.
- "Eye of Horus" Source: Creepy Folklore Wiki on Fandom (https://creepy-folklore.fandom.com/wiki/The_eye_of_providence) License: CC-BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/)
- Simboli egizi, ChatGPT
- “Flame” by Pisut Tardging @Vecteezy
- "Pergamena Indizi" di Xuxiaojian su Pngtree, licenza gratuita Pngtree
- "Gold Coins Material" di chrisg4919 su Sketchfab, licenza CC BY 4.0.
- “Pergamena” di Mickele Ponce Canizares, licenza CC-BY 4.0
- “Meta Quest 3 controllers” di dika3d su Superhive Market, licenza Royalty Free
- “Egyptian UI buttons” generato da Gemini AI.
Suoni
- keys-unlocking-door.aiff by ftpalad -- License: Creative Commons 0
- fire_embers_large_campfire.aiff by dynamicell -- License: Attribution 4.0
- dropping_aluminum_ingots3.flac by wjoojoo -- License: Creative Commons 0
- rockburst5 vasi canopi.wav by cheddababy -- License: Attribution 4.0
- rotating-switch.wav by vsokorelos -- License: Attribution 4.0
- hit-metallic-01.wav by anthousai -- License: Creative Commons 0
- metal-hit.wav by benjaminnelan -- License: Creative Commons 0
- torch.wav by danielvega -- License: Attribution 4.0
- moving-the-grave-stone3lrsmltprcssng.wav by newlocknew -- License: Attribution 4.0
- metallic-hit.wav by cdonahueucsd -- License: Creative Commons 0
- open-treasure-sound.wav by metkir -- License: Attribution 4.0
- paper5.wav by florian_reinke -- License: Creative Commons 0
- squelching-sfx-6.wav by sounddesignforyou -- License: Creative Commons 0
- stick-hitting-stick-2.wav by hankof -- License: Creative Commons 0
- paper_jiggle.wav by sholecoltis -- License: Attribution 4.0
- coin_misc_05.wav by valenspire -- License: Creative Commons 0
- treasure-chest-open.mp3 by steprock -- License: Attribution 4.0
- denim_and_cloth_step_foley_16.wav by blondpanda -- License: Creative Commons 0
- keyfound-03.mp3 by mokasza -- License: Creative Commons 0
- button-release.ogg by highpixel -- License: Attribution 4.0
- game-sound-chime.mp3 by gh0stfounder -- License: Creative Commons 0
- audio_caverna_dark_ambient.wav by Mickele -- License: Project Proprietary
- audio_caverna_noise.wav by Mickele -- License: Project Proprietary
- a_big_wood_chest_opening__variation4.wav by Firefly_audio -- License: Asset Store EULA