Panoramica
Il progetto Scene Editor è stato sviluppato utilizzando il framework XNA Game Studio di Microsoft (Xbox 360, Windows) per il corso di Laurea Specialistica in Informatica. Il progetto, che ha ricevuto un voto di 30L, faceva parte di un più ampio progetto di sviluppo di un videogioco di poker in 3D.
Durata del Progetto e Competenze
- Tempo di Realizzazione: 12+ mesi
- Conoscenze Acquisite:
- Approfondimenti su Game Engine
- Rendering 3D
- Sistemi di Animazione
- Sviluppo in C# e .NET
- Algebra lineare (operazioni su vettori, matrici e quaternioni)
- Proiezioni ortogonali e prospettiche
Obiettivo del Progetto
Mentre l’obiettivo finale era la realizzazione di un videogioco di poker in 3D, la mia responsabilità si è concentrata sullo sviluppo di un editor di scene completo, ispirato a 3D Studio Max. L’editor permette di:
- Importare modelli 3D
- Costruire e manipolare ambienti 3D
- Gestire la gerarchia degli oggetti tramite Scene Graph
- Salvare le scene da utilizzare nel gioco finale
Caratteristiche Tecniche
Sistema di Viewport
- 4 viewport configurabili compresa possibilità di lavorare su una vista fullscreen
- Multiple modalità di rendering e shading
- Tipi di proiezione intercambiabili:
- Proiezione ortografica
- Proiezione prospettica
Manipolazione Oggetti
- Strumenti di trasformazione completi:
- Traslazione
- Scaling
- Rotazione
- Sistema gizmo completo con:
- Picking preciso
- Movimenti tramite mouse
- Spostamento del centro di rotazione
Gestione della Scena
- Scene Graph per la gestione della gerarchia degli oggetti
- Operazioni su oggetti e gerarchie:
- Funzionalità di copia/taglia/incolla
- Clonazione di modelli
- Selezione multipla tramite:
- Picking sulla vista 3D
- Selezione tramite Box
- Allineamento lungo asse di oggetti 3D
Controlli Camera
- Funzionalità di zoom
- Camera orbit attorno ad oggetti/gruppi
- Movimenti standard della camera (top, bottom, left, right)
- Animazioni per cambio posizione camera
- Animazioni posizione viewport
Funzionalità Avanzate
- Sistema di Undo/Redo con:
- Implementazione stack per le operazioni
- Transizioni animate per le operazioni
- Supporto per tutti i tipi di trasformazione
- Shortcut da tastiera per workflow efficiente
- Metodi di selezione multipla
- Salvataggio e caricamento scene
Dettagli del Progetto
Il progetto è stato sviluppato in un team di due persone, con il mio focus sull’editor di scene. L’editor si integra perfettamente con il progetto principale del gioco di poker, fornendo uno strumento robusto per la creazione e gestione di ambienti 3D.
L’implementazione dà priorità all’esperienza utente con animazioni fluide per tutte le operazioni e un’interfaccia intuitiva ispirata ai software professionali di modellazione 3D.
Link al Progetto
- Codice e Documentazione: Scene Editor