[DLL] GMAssimp

Gex, Dll, DyLib, Js e ogni tipo di estensione per GameMaker
Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Piccolo test per vedere se i pesi vengono caricati correttamente:
Immagine
Cambiando osso ovviamente si illuminano le altre parti del corpo :metalgo:
Quindi mancano solo:
-Complete the material proprieties
-mesh primitive types
-animations
Di cui la seconda è praticamente inutile e facile da fare (devo capire il suo funzionamento proprio per la sua inutilità)
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

Avatar utente
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: [DLL] GMAssimp

Messaggio da civic71 »

Bello :D
mesh primitive types
Serve per convertire una mesh in un primitivo ?

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

civic71 ha scritto:Serve per convertire una mesh in un primitivo ?
No, serve solo a dire quali tipi di primitiva ci sono nella mesh (point, line, triangle, polygon)
Essendo abbastanza inutile l'ho tolto dalla lista, al massimo lo rimetterò più avanti.
Per la modifica della mesh ci sono i bellissimi post process al momento dell'importazione.
Ad esempio nello script all in one (e nella versione semplificata di LoadScene che ha gli stessi all'interno della dll) uso:
GMA_PP_CALC_TANGENT_SPACE //calcola le tangenti (necessarie per il bump mapping)
GMA_PP_TRIANGULATE //triangolizza la mesh, ofni faccia sarà un triangolo quindi ricavare una trianglelist sarà semplicissimo
GMA_PP_JOIN_IDENTICAL_VERTICES //semplice ottimizzazione che fonde i vertici uguali, non molto utile con game maker
GMA_PP_GEN_SMOOTH_NORMALS //se il modello non ha normali le genera (smoothate, cè anche la versione non smooth ovviamente)
GMA_PP_CONVERT_TO_LEFT_HANDED //in genere si usa un sistema di coordinate right handed mentre directx (e quindi GM) usa left handed, ecco perchè spesso importando modelli con importer fatti in casa tipo obj cè sempre il problema di specchiamento della mesh e delle UV. Questo post process risolve automaticamente tutti questi problemi :mrgreen:
Ovviamente il left handed non è limitato alle mesh ma anche a nodi ed altro quindi è molto utile ed importante (diciamo pure indispensabile, fa quello che dovremmo comunque fare a mano)
Questo post process a dire il vero è la combinazione di altri post process, ovviamente gestibili anche separatamente.

Ma ce ne sono molti altri
http://assimp.sourceforge.net/lib_html/ ... be4f52e410

I post process hanno una corrispondenza 1:1 con assimp e pertanto si usano allo stesso modo ossia con le bitmask per combinarli:

Codice: Seleziona tutto

scene_id = GMA_LoadSceneExt(argument0,
GMA_PP_CALC_TANGENT_SPACE |
GMA_PP_TRIANGULATE |
GMA_PP_JOIN_IDENTICAL_VERTICES |
GMA_PP_GEN_SMOOTH_NORMALS |
GMA_PP_CONVERT_TO_LEFT_HANDED); 
Usando l'operatore booleano or | posso combinare i vari post process.
Nella gex sono delle costanti.
Essendo una dll ovviamente funzionerà anche con GM5 ma bisogna tramutare tutto in script.
Non è difficile ma è un lavoro un po lungo e noioso (come lo è già fare la gex)
Certo, usando GM5 cè il problema di avere un 3d limitatissimo persino più di GM8.1 quindi molte cose come il bump mapping non sono possibili... Le animazioni invece credo proprio che si possano fare :sisisi: (via software)
Sinceramente non c'ho voglia di fare la versione script perchè la gex dovrebbe funzionare da 8.0 in su se non addirittura dalla versione 7 e probabilmente te sei l'unico al mondo ancora rimasto indietro (causa suppongo lo scarso uso) ma se sarai disposto a sacrificarti per fare questo lavoro di sicuro non te lo negherò.

Ora sto pensando all'importazione delle animazioni, chiaramente le animazioni vengono importate ed i pesi pure ma tutta la matematica che sta dietro alle animazioni per vederle in atto è roba lunga e per niente facile.
Farò una libreria matematica che integrerò su lizard_api (nonchè ovviamente lizard_api) e tramite quella si potranno finalmente visualizzare ma fino ad allora nada a meno che non lo facciate voi (non ci crederò mai :asd: )
Ricordo inoltre che questa dll serve ad importare i modelli da svariati formati con tutte le informazioni possibili, tutto ciò che ne deriva, come "l'uso" delle animazioni importate, è una roba a parte. E' pensata sopratutto per conversioni a vostri formati proprietari senza preoccuparvi troppo del formato e programma di modellazione che state usando.

EDIT: :spat: Grazie a civic ho notato
aiProcess_JoinIdenticalVertices : blablabla... If this flag is not specified, no vertices are referenced by more than one face and no index buffer is required for rendering.
Quindi senza usarla mi risparmierei tutta la lettura delle facce nel superscript.
Bella roba che velocizzerà (di praticamente niente) il caricamento :mrgreen:
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

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Finalmente finita!!! :metalgo: :metalgo: :metalgo:
Ho aggiunto TUTTE le funzionalità di assimp, comprese quelle che avevo inizialmente scartato come i primitive type, ormai ero alla fine perchè non mettere quelle 4 robe rimanenti.
Certo, sempre se non ho dimenticato qualcosa in giro.
In totale sono ben 164 funzioni e 11 enumerazioni che contengono in totale 85 costanti.
Un bel lavoro lunghetto che non si filerà nessuno ma spero che ne sia valsa la pena. Anche se per l'utilizzo che si fa di solito con GM quelle 4 funzioni di partenza erano più che sufficienti ma questa è un'altra storia.

I prossimi passi sono:
-mostrarla a GMC ed altri forum di game maker dove spero troverà finalmente un'utilizzo più completo.
-riguardare tutte le funzioni aggiungendo debug, controllo errori, file di log ecc
-fare una documentazione opportuna sia italiano che inglese, ma mal che vada meglio solo inglese che solo italiano (anche perchè basta copia/incollare molte parti dalla documentazione ufficiale con pochi ritocchi)
-fare un qualche layer delle costanti con assimp in modo da poter aggiornare la dll senza fare modifiche
-provare ad includere assimp dentro la dll per non usare la dll esterna che su gm8.1 è necessaria per ignote ragioni anche se nella gex dovrebbe essere inclusa
-fare vari esempi d'uso più belli possibile.

Adesso vedo un po sul da farsi, sicuramente mi servirà un esempio più appropriato anche se son tentato di fare anche il debug prima di rilasciarla ufficialmente visto che è abbastanza importante per evitare crash in caso di errori. Già che ci sono la rimetto nuovamente come versione 1.0 appena fatte queste cose :mrgreen:
Cè qualcuno disposto a darmi un'aiuto con il topic inglese? (al momento opportuno, intanto richiedo i volontari)
Si tratterà solo di tradurre il topic qua su GMI (che ovviamente modificherò sempre al momento opportuno)
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

Avatar utente
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: [DLL] GMAssimp

Messaggio da civic71 »

Non vale la pena farlo per GM 5 concentrati sulla altre versioni .
E' pensata sopratutto per conversioni a vostri formati proprietari senza preoccuparvi troppo del formato e programma di modellazione che state usando.
Quindi serve principalmente per importare modelli per il d3d , ma verrà integrata con Lizard ...
In totale sono ben 164 funzioni e 11 enumerazioni che contengono in totale 85 costanti.
Che dire un bel lavoro , non resta che attendere qualche esempio d'uso.

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [DLL] GMAssimp

Messaggio da Solid Snake »

:rockrock:
Jak ha scritto:-fare vari esempi d'uso più belli possibile.
Ne vogliamo 1! :asd:
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

L'esempio d'uso cè già nel download ossia gli editabili. L'oggetto e lo script sono studiati e commentati proprio per far capire come funziona questa dll. Una volta capito il principio di ragionamento i nomi sono abbastanza intuitivi e quasi totalmente corrispondenti 1:1 ad assimp quindi basta sfogliare la documentazione per vedere cosa fanno le varie funzioni, costanti ecc. Almeno fin quando non farò la documentazione.
Per chi non ha intenzione di fare effettoni e/o usare shaders bensì si è sempre limitato a quello che il d3d offre (compresi classici importer di obj e 3ds) tutte le funzioni usate nell'esempio sono più che sufficienti ed anche oltre.
L'esempio attuale è secondo me già abbastanza buono anche se non al meglio che si possa fare.
Quindi serve principalmente per importare modelli per il d3d , ma verrà integrata con Lizard ...
Esattamente.
Anche senza Lizard comunque questa dll risolve gran parte dei problemi che di solito vengono fuori usando il 3d di GM. E' comunque qualcosa di utile anche se senza lizard e lizard api non si potrà sfruttare al meglio (a meno di farsi un motore tutto vostro, cosa che purtroppo dubito qualcun'altro farà)
Ad esempio bump mapping ed animazioni su GM studio sono possibili (il bump anche facile infatti è uscito subito per il 2d) ma nessuno li ha ancora fatti perchè non sapevano come importare le informazioni come si deve. Questa dll fa risparmiare un bel po di lavoro. Per il resto è comunque utile perchè non da problemi, è affidabile e può importare moltissimi formati.

Ora sto lavorando(anzi praticamente finito) al layer delle costanti, praticamente inutile ma che "nell'eventualità" permette di aggiornare facilmente la dll ad una nuova versione di assimp senza ricontrollare tutto.
Un lavoraccio lunghissimo ma almeno potrebbe evitare errori di qualche genere.
In pratica ora le costanti GM hanno lo stesso identico valore di quelle di assimp, con questo layer faccio si che se assimp dovesse cambiare i valori delle sue costanti in una futura versione (cosa praticamente impossibile) avrebbero comunque la giusta corrispondenza. Permette anche di personalizzare le costanti di GM a piacimento ma anche questo è abbastanza inutile.
L'unico vantaggio concreto è che ha un'aria più professionale mettendo la flessibilità prima di tutto.
Il passo successivo sarà il debug/log che eviterà i crash in caso di errore e permetterà di scoprire eventuali problemi di caricamento.
civic71 ha scritto:Non vale la pena farlo per GM 5 concentrati sulla altre versioni.
Infatti volevo scaricare a te l'eventuale onere proprio per questo motivo :asd:
Quindi faccio la gex e basta, dovrebbe comunque essere perfettamente supportata da gm8.0 in su.
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

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Aggiunto il layer per le costanti e controllo antibug in tutte le fuznioni!!! :metalgo:
L'unico difetto è che cè stato un grande lavoro di copia/incolla con parti che andavano spesso cambiate quindi cè la possibilità che abbia commesso qualche errore e che le funzioni non fanno quello che dovrebbero realmente fare anche se la probabilità è minima. Inoltre ho comunque verificato le funzioni più basilari.
Per ora comunque non cè alcun messaggio di errore bensì restituisce solamente valori standard (quasi sempre 0 o stringa vuota) questo permetterà di evitare errori dentro GM anche se chiaramente nascondendo il problema rende più difficile il debug.
In una versione futura potrei fare un log (leggibile anche tramite GM)
Ovviamente uno o più if su ogni funzione, anche le più banali, rallenterà i caricamenti ma per ora non sento la differenza (non si sentono nemmeno i caricamenti da quanto sono veloci) e rispetto a GM e la chiamata a dll non è molto significativo quindi direi che piuttosto di un crash ci sta.
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

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

So che ci tenete a questa dll ( :asd: ) ma dovrete aspettare ancora un po.
Mentre sistemavo l'esempio ho fatto qualche test che mi ha portato a scoprire che tutto sommato non è stata una bellissima idea fondere l'importer con la scena a causa di alcune limitazioni riguardanti le impostazioni.
Ciò causerà un mio aumento del lavoro che potrebbe rivelarsi abbastanza consistente.
Nulla di preoccupante ma se proprio dobbiamo fare le cose facciamole per bene. Molte cose riguardano impostazioni di importazione quindi direi che sono abbastanza importanti.
Non credo comunque che complicherà molto lato utente anzi quasi nulla, qualche riga in più da copia/incollare e comunque non vi toccherà se usate lo script magico e visto che nessuno l'avrà ancora usata a basso livello direi che nessuno noterà grandi differenze.
Il lavoro continua ma ormai è quasi finito.
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

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [DLL] GMAssimp

Messaggio da Solid Snake »

Io aspetto con ansia gli esempi :asd:
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Snake, ho già detto che l'esempio cè sempre stato. Inoltre l'esempio serve ad imparare ad usare la dll, non il 3D. Intanto vedi di imparare l'essenziale del 3D così potrai capire come si usa. Non è un tutorial per il 3D, chi usa questa dll e/o l'esempio si presuppone che il 3D lo conosca già a dovere (e son 4 cazzate alla fine)

Declassifico le vecchie versioni (ho i file sul pc ma non le metto online) a versione 0.8.x in quanto non è ancora tutto concluso ed ho cambiato qualcosina e quindi ecco a voi l'ultima versione sfornata, la 0.9.0!
google drive
MEGA

Cambiamenti:
-Modificato il suo utilizzo, per offrire più possibilità (che non sapevo ci fossero e/o ritenevo inutili) ho separato l'importer dalla scena (anche se sono comunque strettamente collegati)
Le differenze si riferiscono sopratutto a questa cosa quindi niente di problematico, qualche cambio di nome, qualche cambio di argomenti, robe così che tanto nessuno ha usato quindi non sto nemmeno ad elencare.
-Modificato l'esempio basandosi su questi cambiamenti
-Aggiunta la versione "simple" dell'oggetto giusto per far capire che se volete non vi serve imparare tutto ma usare quello script magico. Sarebbe come usare la dll nella maniera più semplice possibile ossia quasi identico alla importazione classica di modelli .d3d

Per chi l'hanno già scaricata non cè molto da dire, gli esempi vecchi non funzionano più per via del cambio di alcune funzioni principali.
Se avete fatto un nuovo progetto vi basterà aggiornare/reinstallare la gex con questa nuova e copiaincollare la nuova versione dello script all_in_one che è sicuramente l'unica cosa che al massimo avrete usato.

A meno di problemi dall'alto questo dovrebbe essere l'ultimo cambiamento ufficiale. Le funzioni sono tutte sistemate ed il sistema d'uso ormai definitivo (sempre a meno di scoperte scoinvolgenti) quindi le prossime versioni cambieranno solo come aggiunte a livello di gex. La gex sarà l'unica cosa da cambiare e non modificherà in alcun modo altre parti del codice quindi se volete utilizzarla ora dovreste andare sul sicuro. Le ultime cose mancanti sono solo aggiunte e quindi completamente indipendenti dal resto.
Una volta aggiunte tutte le funzioni passo al ricontrollo ed a sfornare la VERA 1.0 che, a meno di problemi e bugs (possibili dopo i vari cambiamenti che ho fatto e qualche intricamento a livello di logica) sarà finalmente quella finale, mancante solo della opportuna documentazione.
Da decidersi il fatto se la documentazione si limiterà a spiegazioni e note sul suo utilizzo e quindi riferirsi poi alla documentazione ufficiale di assimp, oppure aggiungere anche tutte le varie funzioni.
La seconda non è da scartare, un po più lunga ma per la maggior parte si tratta di copiaincollare il funzionamento delle funzioni aggiungendo giusto qualche nota di differenza agli argomenti passati o a cosa restituiscono. Sarei più tentato per farla intera come si deve ma vedrò a tempo debito se avrò sufficiente voglia.

Mi son ricordato che la yoyogames sta programmando di fare l'extension store
http://help.yoyogames.com/entries/22906648
Anche se prevedo che la 1.4 verrà fuori tra parecchio tempo non mi dispiacerebbe mettere questa estensione nello store a pochi spiccioli giusto per ricavarci il contentino. :fapensare:
Magari rilascio su gmc una versione free limitata giusto per invogliare.
Questo sempre se esce in tempi decenti, chiaro che poi si vedrà il da farsi a tempo debito, posso sempre accontentarmi di un tasto donazione che forse è fin da ora la soluzione migliore.

Ovviamente per gli iscritti a GMI sarà sempre 100% gratuita :mrgreen:

Vabbè, inutile pensare a ste cose adesso. Godetevela :cappa:
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

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [DLL] GMAssimp

Messaggio da Solid Snake »

Jak ha scritto:Snake, ho già detto che l'esempio cè sempre stato. Inoltre l'esempio serve ad imparare ad usare la dll, non il 3D. Intanto vedi di imparare l'essenziale del 3D così potrai capire come si usa. Non è un tutorial per il 3D, chi usa questa dll e/o l'esempio si presuppone che il 3D lo conosca già a dovere (e son 4 cazzate alla fine)
Io intendevo quelli avanzati... Per esempio quello delle animazioni (ho capito male io? :confuso: ), So usare il 3D, non è un problema.
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

EEEEHHHHH. Quello delle animazioni è parecchio avanzato e non si può fare su due piedi senza farsi una qualche serie di script cazzuti che non farò prima di moooolto tempo (e comunque di certo non come esempio a questo progetto)
E l'avevo pure detto qualche post fa. :roll:
Bisognerà aspettare lizard e lizard_api per quel genere di cazzutaggini.

L'esempio di normal mapping è ancora acerbo (anche se perfettamente funzionante) e tutto sommato non c'ho molta voglia di decentizzarlo.

Son molto più invogliato a fare le ombre volumetriche con gli shader :metalgo: ma anche per questo devo pazientare e resistere alla tentazione.
Per ora finisco questa altrimenti cè il rischio che la abbandoni senza terminarlo ad un passo dalla fine.
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

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Ok scrivo solo io su sto topic, forse anche troppo spesso ma non importa.
La versione finale 1.0!!!
GDrive
MEGA
Oltre ad un eventuale bugfix che per la maggior parte verrà fatto con la creazione ed il testing di lizard manca solamente da creare la documentazione. Le funzionalità ci sono tutte e se ho qualche dubbio che in futuro mi obbligherà ad apportare cambiamenti è per una serie di funzioni che comunque non userete mai (i parametri per alcuni post process)
Finalmente finito :first:
Per chi ha la 0.9: sostituite la gex (all'interno di GM, su 8.1 dovete reinstallarla per studio eliminatela e reimportate questa nuova) fine.
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

Avatar utente
Prometeo
Membro d'elite
Messaggi: 1258
Iscritto il: 15/09/2010, 12:36
Specialità: Grafico Progammatore
Uso: GameMaker 8.1
Località: Italia
Contatta:

Re: [DLL] GMAssimp

Messaggio da Prometeo »

tranquillo jak, ti seguiamo in religioso silenzio, almeno io ho letto giorno per giorno tutta l'evoluzione con grande interesse e se non ho scritto è per non ripetere i soliti complimenti... ho già cominciato a fare una piccola prova con questa dll... grazie.
Il dolore che i limiti delle cose c'impongono, cioè a dire il mal essere del desiderio non soddisfatto, il senso del non potere tutto, ci dà il sentimento e l'idea del tutto. Il limite diventa indizio. E la più larga via verso l'infinito è il dolore. [Niccolò Tommaseo]

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [DLL] GMAssimp

Messaggio da Solid Snake »

Mi stavo chiedendo ma sarà possibile utilizzare diverse texture per un singolo oggetto?
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Solid Snake ha scritto:Mi stavo chiedendo ma sarà possibile utilizzare diverse texture per un singolo oggetto?
Questo è indipendente dalla mia dll. Come ho già ripetuto molte volte il fatto che importi le info relative a praticamente qualsiasi cosa non significa che poi queste info saranno utilizzabili all'interno di GM.
Comunque GM e gli shaders permettono di usare il multitexture. Andando ad intuito su ciò che tu vorresti chiarisco subito questo punto.
Multitexture significa combinare varie texture tra loro, miscielarne i colori, oppure utilizzare varie mappe per determinati effetti (diffusa + normalmap)
Se intendi usare più di una texture sul singolo oggetto ma che effettivamente queste due texture fossero separate... no
Non è permesso da nessun engine (UE4 a parte) di usare più materiali sulla stessa mesh fisica, è proprio controindicativo e danneggierebbe le prestazioni. Solo l'hardware di questi ultimi 2-3 anni al massimo ha meno limitazioni e permette di fare ciò con il multitexture ma è comunque complicato da gestire.

Quindi per l'utilizzo che immagino tu voglia fare... NO, non si può :cappa:
La soluzione più semplice che tutti usano è memorizzarsi una lista di coppie modello/texture e disegnarle tutte tramite uno script, nulla di più semplice.

Il bello di questa dll è che è consentito avere più mesh e relative informazioni sul loro materiale in un'unico file quindi non ci saranno problemi del tipo le classiche decine di file.
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

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [DLL] GMAssimp

Messaggio da Solid Snake »

Quindi se voglio tenere più texture per una mesh mi basta separare le parti interessate in oggetti e poi drawarli separatamente?
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] GMAssimp

Messaggio da Jak »

Solid Snake ha scritto:Quindi se voglio tenere più texture per una mesh mi basta separare le parti interessate in oggetti e poi drawarli separatamente?
Esatto, mi pare così ovvio :hum:
(anche se "oggetti" è una parola più brutta, puoi disegnare tutti i modelli in un'unico oggetti)
GMAssimp divide automaticamente le mesh in base al materiale quindi di questo non dovete preoccuparvi.
Lo gnomo armato di ascia incluso nell'esempio è composto da due mesh che usano due texture separate.
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

Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [DLL] GMAssimp

Messaggio da Solid Snake »

Jak ha scritto:GMAssimp divide automaticamente le mesh in base al materiale quindi di questo non dovete preoccuparvi.
Ancora meglio, praticamente non mi devo preoccupare di niente basta che assegno i materiali e poi GMAssimp fa tutto da solo. Perfetto! :rockrock:
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti