Quale formato di file 3D dovrebbe utilizzare il mio motore se non voglio modificarlo in un secondo momento? [chiuso]


8

Esiste un formato di fatto per esportare un modello 3D dal software di modellazione a un motore di gioco?

So che varia a seconda del motore e della situazione, ma qual è l'idea generale che viene in mente agli sviluppatori di giochi qualificati quando sorge questa domanda?

Nella mia mente viene fuori il formato obj, ma non supporta l'animazione.

Quindi, quale potrebbe essere il miglior formato che supporta / copre più o meno tutte le funzionalità che un motore moderno può coprire? FBX? Collada?

Alcuni approfondimenti professionali sarebbero di aiuto.


Penso che il termine che stavi cercando sia "di fatto", non "De-factor".
Nicol Bolas,

@ nicol-bolas fixed
Quazi Irfan

Risposte:


8

Non esiste un "miglior formato"; ci sono solo vari livelli di fastidio.

Collada fa praticamente tutto ciò che potresti voler fare, al costo di fare tutto ciò che non vuoi fare. Questo lo rende un utile formato di interscambio, ma non qualcosa che probabilmente dovresti cercare di caricare direttamente nel tuo gioco.

FBX non è così ampiamente supportato, essendo un formato proprietario. Ed è ... un formato proprietario, ma almeno le specifiche del formato sono disponibili.

La maggior parte degli sviluppatori di giochi ha bisogno di trasferire i dati, qualunque sia il tipo, in qualcosa che il loro gioco può caricare e lanciare sullo schermo il più velocemente possibile. Pertanto, la maggior parte dei motori di gioco che supportano i formati di interscambio utilizzerà uno strumento off-line per trasformarli nei loro formati specifici del gioco.

E questo è generalmente un buon modo di lavorare. Hai una buona separazione del codice: il codice che massaggia i dati è separato dal codice che li carica nel tuo gioco. Ottieni prestazioni di caricamento veloci, pur avendo la possibilità di formattare i dati di cui hai bisogno per la massima velocità e utilizzo. E puoi ancora vedere come appaiono i dati nel tuo formato di file esportato originale, che è generalmente una specie di file di testo.


"ma non qualcosa che probabilmente dovresti cercare di caricare direttamente nel tuo gioco." perché?
Quazi Irfan,

"..utilizzare uno strumento off-line per trasformarli nei loro formati specifici del gioco." Deve essere una conversione a livello binario?
Quazi Irfan,

4
@iamcreasy: "perché?" Hai visto Collada? Vuoi davvero caricarlo, fare tante conversioni da ASCII a float e poi, dopo tutto ciò che è stato fatto, comprimere i dati nel modulo finale utilizzato dal tuo gioco?
Nicol Bolas,

2
@iamcreasy: non deve essere un file binario, ma non è neanche una cattiva idea che lo sia. In alcuni casi è possibile caricarlo direttamente come immagine di memoria. È anche possibile caricare i dati del vertice direttamente in un puntatore all'oggetto buffer mappato. I tempi di caricamento nei giochi sono abbastanza scarsi senza che qualcuno li peggiori.
Nicol Bolas,

1
@iamcreasy Essa deve essere dati binari, tutto il resto è uno spreco per un motore
Maik Semder
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.