[U3D] - LoD Chain
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
[U3D] - LoD Chain
Bazzicando un po' con U3D stavo provando a creare una LoD chain (cosa facilissima da fare) per un modello. Ma pare che non accada nulla, ovvero anche se la camera si allontana il triangle count resta lo stesso.. Ho dunque provato a fare lo stesso con un tool creato apposta per i modelli .u3d che mette a disposizione questa funzione.. E anche qui il modello non viene ridotto.. Ho provato con altri modelli ma non sembra funzionare.. Bug??
P.S. ho già guardato il forum (nonchè la documentazione) di U3D e l'unica cosa che ho trovato riguarda il numero di vertici che non deve superare un certo numero, ma i miei modelli vanno bene.. Che strano!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - LoD Chain
Magari il numero di triangoli reali visibili si abbassa ma non certo la memoria che occupano, quella è necessario che resti la stessa per contenere le informazioni originali del modello.
Fatto sta che ho aperto un modello a caso col viewer di u3d ed ho impostato un livello di dettaglio e mi funziona, appena allontano a sufficienza il modello(avevo messo molto vicino) il numero di triangoli mi è diminuito(l'ho capito perchè il modello era così lowpoly che si era deformato )
Sul viewer è segnato il numero di triangoli per ogni grado di lod quindi non posso vedere il numero di triangoli effettivi che segna u3d.
Secondo me il contatore sbaglia e non guarda le lod
Prova ad impostare la telecamera molto vicina e a dare una bassissima percentuale di triangoli, se tu vedi che le lod fungono lascia stare il contatore che tanto meno di così cè poco da fare. Uno col pc scarsissimo si arrangia.
Fatto sta che ho aperto un modello a caso col viewer di u3d ed ho impostato un livello di dettaglio e mi funziona, appena allontano a sufficienza il modello(avevo messo molto vicino) il numero di triangoli mi è diminuito(l'ho capito perchè il modello era così lowpoly che si era deformato )
Sul viewer è segnato il numero di triangoli per ogni grado di lod quindi non posso vedere il numero di triangoli effettivi che segna u3d.
Secondo me il contatore sbaglia e non guarda le lod
Prova ad impostare la telecamera molto vicina e a dare una bassissima percentuale di triangoli, se tu vedi che le lod fungono lascia stare il contatore che tanto meno di così cè poco da fare. Uno col pc scarsissimo si arrangia.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - LoD Chain
ho un modello in model viewer.. ho un modello LoD come hai detto tu e il contatore mi dice così:
Il modello però non subisce proprio nessun cambiamento..
Il modello però non subisce proprio nessun cambiamento..
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
- civic71
- GMI Advanced
- Messaggi: 2210
- Iscritto il: 23/10/2003, 17:31
- Specialità: Risotto con zucchine
- Uso: GM:Studio 1.4 Pro
- Località: Jesolo (venezia)
- Contatta:
Re: [U3D] - LoD Chain
Non credo , io l'ho utilizzato in alcuni giochi senza problemiBug??
Allora il codice deve essere messo alla fine dell' evento create .
Considera poi che la variabile di definizione è in percentuale ovvero max 100 .
CreateLODChain(100,90,400,80,600,70,800,60,1000,50);
Quindi lo script sopra indica che alla distanza di 100 (della camera dal object ) , si avrà un 90 % di poligoni-nodi visualizzati .
A 400 ( ovvero più distante di prima ) si avrà un 80% ... e così via scendendo di percentuale...
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - LoD Chain
Si lo so! ho fatto un sacco di prove! anche copia-incollando il tuo codice non succede proprio niente! Abbassando l'indice dei triangoli da 90 a 20 e la distanza da 100 a 25 non ottengo nessun risultato..
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - LoD Chain
Dal model viewer si vede che il numero dei triangoli della prima lod è praticamente identico a quello precedente. E' possibile anche che hai diviso il modello in troppe sottomesh tanto da averne pochi triangoli per ognuna e sotto un tot le lod non riducono un bel niente.
Programmi come sketchup ed anim8or sono fatti così, per modellare usano milioni di mesh anzichè modificarle a dovere quindi è possibile ti diano problemi di questo genere(ipotesi con scarsa possibilità di essere vera ma l'unica cosa che mi viene in mente per ora...)
Se mi passi il modello posso vedere se a me funge ed allora è un problema tuo, se non funge è molto probabilmente colpa del modello stesso come ho detto io...
Programmi come sketchup ed anim8or sono fatti così, per modellare usano milioni di mesh anzichè modificarle a dovere quindi è possibile ti diano problemi di questo genere(ipotesi con scarsa possibilità di essere vera ma l'unica cosa che mi viene in mente per ora...)
Se mi passi il modello posso vedere se a me funge ed allora è un problema tuo, se non funge è molto probabilmente colpa del modello stesso come ho detto io...
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - LoD Chain
ho trovato il problema.. E non è stato facile risolverlo.. Guardando alcuni topic sul forum di U3D ho notato (come dice jak) che alcuni programmi fanno un uso "particolare" delle sottomesh e delle facce. In pratica due triangoli che hanno un vertice in comune vengono presi singolarmente e il vertice che era uno solo in comune si duplica. In questo modo ogni triangolo ha 3 vertici NON in comune con gli altri triangoli.
Di conseguenza quando esporto da sketchup in .3ds (e non solo) ottengo un numero di vertici esattamente triplo a quello dei triangoli. Pare che la funzione LoD di U3D non riesca a gestire questa particolarità (vertici=3*triangoli). Ho dovuto quindi usare Lith Unwrap che oltre a creare UV Maps (davvero ottimo, altro che uvmapper ) permette di ottimizzare i modelli rimuovendo i vertici duplicati e di correggere le mesh.
Ora però viene la parte più brutta..
Una volta che ho ottimizzato il modello e lo esporto in .3ds il numero dei vertici ritorna ad essere quello originale.. L'unico formato che funziona correttamente (sempre in export) è il .lwo, che importato in anim8or e poi riconvertito in .3ds.
Solo che così perdo le textures.. E non so il perchè.. Intanto il problema delle LoD è risolto! Testato su Model Viewer!
Di conseguenza quando esporto da sketchup in .3ds (e non solo) ottengo un numero di vertici esattamente triplo a quello dei triangoli. Pare che la funzione LoD di U3D non riesca a gestire questa particolarità (vertici=3*triangoli). Ho dovuto quindi usare Lith Unwrap che oltre a creare UV Maps (davvero ottimo, altro che uvmapper ) permette di ottimizzare i modelli rimuovendo i vertici duplicati e di correggere le mesh.
Ora però viene la parte più brutta..
Una volta che ho ottimizzato il modello e lo esporto in .3ds il numero dei vertici ritorna ad essere quello originale.. L'unico formato che funziona correttamente (sempre in export) è il .lwo, che importato in anim8or e poi riconvertito in .3ds.
Solo che così perdo le textures.. E non so il perchè.. Intanto il problema delle LoD è risolto! Testato su Model Viewer!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - LoD Chain
Bè oltre all'evitare le lod in questo modo usi molta più memoria e rendi il rendering mooolto più lento(bè dai non così tanto ma i calcoli son comunque di più e necessitano di un'utilizzo maggiore del processore anzichè la scheda video). E' buona norma quindi cercare di fare "vere" mesh e non quella brodaglia che hai fatto te appunto. Non conosco quegli ottimizzatori di vertici ecc quindi non ti so dire niente a riguardo, ti so solo dire che è sempre bene cercare di evitare problemi del genere.
Anim8or riesce ad importare decentemente i materiali solo da .3ds per quello perdi le textures in giro
Devi ricrearti i materiali in anim8or.
Anim8or riesce ad importare decentemente i materiali solo da .3ds per quello perdi le textures in giro
Devi ricrearti i materiali in anim8or.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you
Chi c’è in linea
Visitano il forum: Nessuno e 34 ospiti