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

SceneEditor img 1

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.