Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Animazione .Obj (scusate per gli errori del primo topic)
Forum - C/C++ - Animazione .Obj (scusate per gli errori del primo topic)

Avatar
genni_96 (Normal User)
Pro


Messaggi: 108
Iscritto: 04/06/2010

Segnala al moderatore
Postato alle 9:04
Lunedì, 07/03/2011
Devo disegnare personaggi 3D animati e creati con 3ds Max in un programma Opengl.
Cercando su internet ho visto che i file OBJ non supportano l'animazione ma sono modelli 3D statici, allora ho pensato ad una possibile soluzione, ma prima di applicarla vorrei chiedere a qualcuno esperto il suo parere:
La soluzione che ho pensato è questa:
salvare ogni frame su un OBJ diverso, quindi se ho un'animazione di 100 frame avrò 100 OBJ.
La mia domanda è questa, se si puo fare qualcosa del genere l'animazione sarà fluida o lenta e a scatti?

PM
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Up
1
Down
V
Segnala al moderatore
Postato alle 14:12
Lunedì, 07/03/2011
questo metodo mi sembra un po macchinoso, comunque se vuoi usarlo ti consiglio caricare i vari modelli all'inizio del programma e non durante l'esecuzione altrimenti rallenterebbe troppo.
Poi a seconda del frame corrente disegni il modello corrispondente.

logicamente caricherò i file all'inizio del programma e li eliminerò dalla memoria alla fine - genni_96 - 07/03/11 21:39
un altro modo è quello di caricare ogni parte del personaggio come una mesh, cosi potrai animare ll braccio o l'avambraccio o quello che vuoi in modo indipendente, facendolo ruotare o traslandolo. - carlduke - 08/03/11 11:36
ricorda che, per esempio, per il braccio il centro sarà l'attaccatura della spalla. Comunque è meglio usare formati che supportano animazioni - carlduke - 08/03/11 11:38
PM
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Up
1
Down
V
Segnala al moderatore
Postato alle 14:54
Lunedì, 07/03/2011
un tipo di file che supporta le animazioni, ed è semplice da importare a mano, è MD2 usato in Quake 2


All'atto pratico è come avere 100 Obj però dentro lo stesso file.
In questo modo carichi un solo file e decomprimi i frames in un array, un elemento per ogni frame.
In fase di rendering manderai alla scheda video il frame corrente.

Non è molto efficiente per grosse geometrie, per fare cose complesse devi adottare un formato che supporti le animazioni scheletali.

dovendo scegliere tra OBJ e MD2, siccome come spreco di memoria siamo la, sarei piu portato a scegliere OBJ siccome ho gia iniziato a creare un loader mio perchè non mi piace usare cose gia fatte ma preferisco perdere piu tempo a creare un loader mio che utilizzarne uno gia fatto - genni_96 - 07/03/11 21:34
ora che finisco il loader provo ad animare per rendermi meglio conto, nel caso che l'animazione non sia fluida penso che dovrò usare un file con l'animazione, sapresti consigliarmi il piu facile da caricare? - genni_96 - 07/03/11 21:37
non è la fluidita dell'animazione che cambia..è diverso l'approccio - carlduke - 20/03/11 18:24
PM