[graphics] Quale formato di modello 3D dovrei usare?



Answers

Prima di preoccuparti di quali formati 3D vuoi supportare, penso che dovresti concentrarti su quali funzioni hai intenzione di implementare nel tuo motore. Scrivili come requisiti e scegli il formato che supporta la maggior parte delle funzionalità dall'elenco ... come vorresti mostrare il tuo motore (suppongo che tu stia pianificando che il tuo motore sia pubblicamente disponibile). Potresti anche voler stampare il tuo formato personale, se il tuo motore ha caratteristiche specifiche (che è sempre una buona cosa avere per un motore di gioco).

Successivamente, supporta il maggior numero possibile di formati popolari (.X, .3DS, .OBJ, .B3D) ... più il tuo motore è accessibile, più persone vorranno lavorare con esso!

Collada è un formato simpatico e generico, ma come menziona Nils, non è un formato ideale per la distribuzione finale.

Question

Sto scrivendo un motore di gioco e mi chiedo quale formato di modello 3D dovrei usare / caricare / esportare? Obj sembra universale e facile, ma sembra anche inaffidabile in quanto la maggior parte dei modelli là fuori contiene errori e non si memorizza da nessuna parte vicino tanto quanto altri formati.

Sembrano esserci formati specifici per giochi come MD2 / 3/5 ma non sono sicuro, io uso wings3d se modellino, e non so quali altri dettagli oltre a caricare solo ciò di cui ho bisogno e supporto dal formato Id devono implementare, come avrei bisogno di implementare IK? e posso utilizzare animazioni basate su script per pezzo piuttosto che cinematica inversa e sartiame osseo?




Collada è fantastico, ma vive di più sull'aspetto delle applicazioni 3D. vale a dire è meglio utilizzato per trasferire dati 3D tra applicazioni, non caricare dati 3D da un motore di gioco. Hai guardato in Lua? È ampiamente utilizzato nei giochi perché è un linguaggio di scripting incredibilmente rapido (perfetto per i giochi) e molto flessibile (può essere utilizzato per rappresentare tutti i dati necessari per il tuo motore).




+1 per Collada. Si può anche volere un formato binario nativo personalizzato per un caricamento veramente veloce (di solito solo un dump binario di dati del buffer di vertice / indice, oltre a dati su materiale e scheletro e dati di collisione, se appropriato).

Una delle tendenze nel settore dei giochi consiste nel supportare il caricamento di un formato come collada nella build sviluppatore del motore, ma anche una toolchain che esporta una versione ottimizzata per il rilascio. La versione per sviluppatori può aggiornare la mesh in modo dinamico, così come gli artisti salvano le modifiche, il file viene automaticamente ricaricato consentendo loro una (quasi) istantanea vista WYSIWYG del loro modello, ma fornendo comunque un formato di rilascio completamente ottimizzato.




Links