La grafica 3D è difficile, e 2 settimane sono un po 'di tempo. Sei stato avvertito. Ma può essere fatto se sei molto dedicato e desideroso di imparare!
Per prima cosa ti servirà un motore o una libreria 3D. Per Java, il miglior motore 3D IMHO è jMonkeyEngine . Ti permetterebbe di costruire una scena posizionando e spostando gli oggetti nello spazio 3D. Ci sono un sacco di demo / codice di esempio sul sito da esplorare. Un'altra opzione è LWJGL che ti dà un accesso più diretto alle chiamate OpenGL - ma questo è più basso livello, quindi probabilmente più complicato per un primo timer.
Dovrai anche creare risorse 3D (grafici, modelli, ecc.). In realtà ritengo che questo potrebbe essere più difficile rispetto all'impostazione del motore 3D stesso, dal momento che può richiedere molto lavoro per produrre un grande volume di risorse 3D decenti. Ci sono alcuni incredibili strumenti open source disponibili come Blender - ma questo può richiedere più tempo per imparare come la programmazione 3D stessa! Tra l'altro, potresti comunque essere in grado di riutilizzare alcuni elementi grafici 2D come trame sugli oggetti 3D.
Infine, dovrai fare un po 'di codice per creare la tua interfaccia 3D. Ci saranno alcune cose da fare qui:
- Rendering nello spazio 3D piuttosto che in 2D - tutti gli oggetti avranno bisogno (x, y, z) di posizioni anziché solo (x, y)! Ma dovrai anche considerare le rotazioni, le angolazioni della telecamera ecc.
- Modifica le interazioni utente / l'interfaccia di input. In 2D, la gestione dei clic del mouse è relativamente semplice. In 3D, hai un problema un po 'più complesso per capire che cosa l'utente ha fatto clic!
- Aggiungi bei "tocchi 3D". per esempio. puoi animare i lanci di dadi in 3D
Nel complesso sembra un grande progetto - ma imparerai una quantità enorme, quindi non lasciarti scoraggiare!
Se sei preoccupato di quanto puoi ottenere, ti suggerisco di provare a replicare la tua versione 2D il più vicino possibile nel motore 3D all'inizio (vista dall'alto, oggetti quadrati piatti). Una volta che questo funziona, puoi pensare a cose più complesse (rotazione della vista, illuminazione, modelli 3D complessi ecc.)