[DLL] GMAssimp

Gex, Dll, DyLib, Js e ogni tipo di estensione per GameMaker
Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: [DLL] NJAssimp

Messaggio da aironenero »

Perfetto. Gli fbx li supporta con le texture integrate?? O le devo mettere a mano?
Unity Developer
Immagine
Immagine

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

Re: [DLL] NJAssimp

Messaggio da Jak »

aironenero ha scritto:Perfetto. Gli fbx li supporta con le texture integrate?? O le devo mettere a mano?
Dovrai metterle comunque a mano dentro game maker e dovresti saperlo :roll:
Comunque si, la dll permette di conoscere il nome del file della texture ma mi sa che devo ancora aggiornare il link per il supporto ad esse. :fapensare:
Dopotutto non mi aspettavo che qualcuno usasse veramente questa dll sopratutto perchè sto facendo Lizard apposta per evitare incompatibilità e sbattimenti di testa.
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
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: [DLL] NJAssimp

Messaggio da aironenero »

Ok.........
lizard a che serv, ha la stessa funzione?
Unity Developer
Immagine
Immagine

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] NJAssimp

Messaggio da Prometeo »

senti jak, stavo riprovando per sfizio il 3d di GM con il tuo lizard... ho creato un nuovo file con la tua dll, e usando il vecchio modello del lucertolone tutto funziona, però quando ho cercato di importare un nuovo modello fatto con 3dcoat, me lo importa male... alcuni triangoli mancano e invece della texture è tutto blu con una macchia rossa... bho... io mi sono limitato a mettere nella cartella data il nuovo modello esattamente come l'ha esportato 3Dcoat, e forse è qui che ho sbagliato... non mi ricordo com'è che funzionava, dove sbaglio?
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]

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

Re: [DLL] NJAssimp

Messaggio da Jak »

Prometeo ha scritto:senti jak, stavo riprovando per sfizio il 3d di GM con il tuo lizard... ho creato un nuovo file con la tua dll, e usando il vecchio modello del lucertolone tutto funziona, però quando ho cercato di importare un nuovo modello fatto con 3dcoat, me lo importa male... alcuni triangoli mancano e invece della texture è tutto blu con una macchia rossa... bho... io mi sono limitato a mettere nella cartella data il nuovo modello esattamente come l'ha esportato 3Dcoat, e forse è qui che ho sbagliato... non mi ricordo com'è che funzionava, dove sbaglio?
Hai usato lizard o questa dll? (che non ricordo bene a quando è aggiornata, so che per lizard avevo aggiunto altre funzioni ma mai postata, dovrei riprendere in mano i progetti)
Il problema così su due piedi è difficile da capire.
Prova a scaricare questo programma:
http://assimp.sourceforge.net/main_viewer.html
E' un viewer che utilizza questa libreria, perlomeno sai se è assimp a dare qualche problema (o, molto più probabilmente, l'exporter del programma di modellazione) oppure se è la mia dll.
Non ricordo inoltre come gestisce eventuali mesh multiple, è possibile che non vengano importate tutte le mesh quindi usando varie mesh o materiali (i quali splitteranno le mesh) si potrebbero avere problemi.
Per quanto ricordo dll e lizard sono funzionanti ma molto grezzi e con moltissime limitazioni, finchè non li decentizzo non so fino a che punto possano essere utili (anche se mi sembrava che questa dll avesse tutto il minimissimo indispensabile per essere usata)
Eventualmente prova a mandarmi il modello, come ben sai esportare/importare file tra vari programmi di modellazione è sempre un casino anche con i formati più semplici, assimp non è esente da problemi simili.
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] NJAssimp

Messaggio da Prometeo »

ho riprovato riesportando e adesso funziona, forse il primo export era buggato, non so... l'unico problema è che la rotazione degli assi è sballata, ma questo c'era anche col lucertolone ed è facilmente risolvibile con una rotazione col codice... ho usato lo stesso codice e la stessa dll che avevo nel file dei lucertoloni, ricordi? quello dove respirano... ho cancellato tutto tranne codice e dll, c'ho buttato dentro un nuovo modello (fatto per unity, ma che volevo provare con GM) e adesso funziona... mi chiedevo se la dll del file dei lucertoloni che respirano (file che ti ho spedito ultimamente e che dovresti avere) contiene la versione più aggiornata di lizard, se così non fosse, dove posso scaricarla?

PS: carino AssimpView, ma ho cercato e credo che non possa spostare-ruotare gli assi del modello :cry:
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]

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

Re: [DLL] NJAssimp

Messaggio da Jak »

Prometeo ha scritto:mi chiedevo se la dll del file dei lucertoloni che respirano contiene la versione più aggiornata di lizard,
Al massimo è il contrario, lizard usa la dll. Fatto sta che era tutta una brodaglia in lavorazione e non molto utilizzabile. Per la dll parliamo comunque di esclusive aggiunte nelle funzionalità. Lizard ha lo scopo di non usare tipi di file esterni bensì .d3d o un'eventuale formato proprietario (per offrire compatibilità senza dll quindi qualunque piattaforma) e quindi di conversione ed aggiustamento dei modelli. NJAssimp invece è la dll che uso per importare i vari modelli, con la venuta di lizard la sua esistenza sarebbe stata pressochè inutile, uno dei motivi per cui non ho più pensato ad aggiornarla e mi sono limitato a fare roba ad hoc per lizard.
Dovresti comunque avere i file più aggiornati, al massimo prova con lizard ad esportare in .d3d ma ricordo che senza interfaccia e tutto era un casino da utilizzare con tasti un po a random.
Come ho detto per come sono messe le cose ora è una cosa un po oscena da usare.
Dai che mi rimetto a fare lizard.
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] NJAssimp

Messaggio da Prometeo »

Jak ha scritto:Al massimo è il contrario, lizard usa la dll. Fatto sta che era tutta una brodaglia in lavorazione e non molto utilizzabile. Per la dll parliamo comunque di esclusive aggiunte nelle funzionalità. Lizard ha lo scopo di non usare tipi di file esterni bensì .d3d o un'eventuale formato proprietario (per offrire compatibilità senza dll quindi qualunque piattaforma) e quindi di conversione ed aggiustamento dei modelli. NJAssimp invece è la dll che uso per importare i vari modelli, con la venuta di lizard la sua esistenza sarebbe stata pressochè inutile, uno dei motivi per cui non ho più pensato ad aggiornarla e mi sono limitato a fare roba ad hoc per lizard.
Dovresti comunque avere i file più aggiornati, al massimo prova con lizard ad esportare in .d3d ma ricordo che senza interfaccia e tutto era un casino da utilizzare con tasti un po a random.
Come ho detto per come sono messe le cose ora è una cosa un po oscena da usare.
Dai che mi rimetto a fare lizard.
ho capito, ho fatto confusione tra Lizard e la dll... cmq rimango con l'ottima dll, semplifica veramente tutto, mi basta esportare con 3Dcoat, spostare il file .obj senza ritoccarlo nella cartella data, eil gioco è fatto... anche perchè con tutti i link in questo argomento non saprei dove scaricare Lizard.
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]

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

Re: [DLL] NJAssimp

Messaggio da Jak »

Prometeo ha scritto:rimango con l'ottima dll, semplifica veramente tutto, mi basta esportare con 3Dcoat, spostare il file .obj senza ritoccarlo nella cartella data, e il gioco è fatto...
Già, è uno dei motivi per cui avevo comunque tenuto la dll come progetto a parte, l'altro motivo è quello di fare da tramite per non dare limitazioni tramite programmi come lizard e simili che sono appunto limitati da quanto cose permetto di fare, usando la dll direttamente uno può benissimo fare praticamente tutto (anche se ora come ora si può fare ben poco)
In realtà il progetto finale era ancora più grande ossia fare una "lizard api", una grande serie di script, che combinati con lizard ti permettevano facilmente di gestire modelli e tutto stile ogre, unity ecc. Mettere il modello in una cartella è semplice, mettere un file scena in una cartella e questo ti importa tutta un'intera room di roba con animazioni materiali texture e tutto... lo è di più :mrgreen:
Il progetto di lizard è bello grosso e mi stai facendo venire voglia di riprenderci mano (per quanto stia odiando la yoyo per come ha ridotto GM mi sento comunque in dovere di fare questo progetto), mo mi ci metto (anche se non attivissimamente)
Prima di tutto riprendo la dll che va comunque sviluppata, faccio un sistema di binding degli oggetti così da velocizzare il caricamento (e facilitarne l'uso IMHO, almeno a basso livello, senza usare la funzione "faccio tutto io") e magari ci metto un po di controlli antibug ed un file log.
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][GEX] GMAssimp

Messaggio da Jak »

Aggiornamento!
-Tutta oggi che ci lavoro.
-Cambiate e riscritte molte funzioni cambiando sistema di utilizzo, ora è più semplice (a basso livello) e più veloce nei caricamenti (in teoria, non ho fatto dei test con modelli particolarmente pesanti) in quanto si evita di riscrivere continuamente gli stessi argomenti che non cambiano quasi mai a favore di un sistema a stati (bindo la mesh quindi tutte le funzioni collegate ad essa useranno la mesh attualmente in uso, ovviamente cambiabile in qualunque momento)
-Aggiunte un po di funzioni che possono essere utili come le uv di tutti i texture stages ed i colori dei vertici, nonchè colore del diffuse del materiale ed il nome della diffuse texture legata ad esso (filename senza estensione, utile per caricare texture esterne)
-Cambiato nome in uno più opportuno che ha meno a che fare con me e più a che fare con GameMaker.
-Ufficializzato questa versione alla 1.0
-Creata la gex, attualmente è disponibile SOLO in versione gex.
-Esempi per gm8.1 e gmstudio.
-Download tramite gdrive e mega e istruzioni d'uso, tutto quanto nell'open post.

Spero che Prometeo qualcuno gioirà del mio lavoro. :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

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][GEX] GMAssimp

Messaggio da Prometeo »

Jak ha scritto: Spero che Prometeo qualcuno gioirà del mio lavoro. :cappa:
bhè almeno uno l'hai fatto contento, non so se basterà a farti guadagnare un posto in paradiso, ma se dipendesse da me ti riserverei la suite imperiale... sei un mito jak, appena posso la provo. :metalgo:
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 »

Quando farò in 3D userò questa dll. :rockrock:
♥♥♥♥♥♥
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 »

Aggiornati link alla versione 1.0.1!

-Poichè organizzare le risorse con game maker è un macello ed il numero di funzioni veramente elevato ho usato un file vuoto che, all'interno di gmstudio, farà da "cartella" delle varie costanti. Per le funzioni non cè soluzione (così come lo stesso ordine di esse, per cambiarlo dovrei rifare tutto da 0 :furioso: ) ma visto che prevedo un grande numero di costanti per enumerare e quindi gestire facilmente gli argomenti delle varie funzioni come GMA_LoadScene() che richiede svariati parametri di loading (tutti impacchettati in un'unico argomento grazie alle bitmask)
-Aggiornata la funzione CreateModelFromFile(), ora non usa più trucchetti bensì passa i parametri corretti a GMA_LoadScene per caricare modello in directx style (left-handed)
-Aggiunte funzioni per i dati della mesh, ora si possono ottenere nome della mesh, le tangenti e le bitangenti (indispensabili per il bump/normal mapping)
-Aggiunte funzioni per i parametri dei materiali, tutte le proprietà più importanti dei materiali possono ora essere lette (ambient/diffuse/emissive/specular color, shininess, wireframe, culling ecc)
Come al solito i nomi sono intuitivi e per ciò che non sapete la documentazione di assimp dovrebbe essere più che sufficiente.
Ma per ora me ne sbatto visto che tanto nessuno farà di più di usare CreateModelFromFile()
Ancora qualche aggiunta dopo mi metto a fare un'esempio col bump mapping e magari posterò il progetto sui forum inglesi (GMC? Non so nulla dei forum di game maker esteri ne tantomeno qual'è quello ufficiale della yoyo, non ci bazzico mai)
Dopo aver fatto ciò passerò a integrare più funzioni possibili fino ad arrivare ad un livello dove si importa praticamente tutto, a quel punto partirà lizard e lizard api per sfruttare a dovere tutte le varie features (una delle più ambite: il supporto alle animazioni)

Per chi volesse usarle questa dll consiglio di aggiornarla a questa versione in quanto fixa in automatico problemi di uv posizioni e quant'altro inoltre cè quel minuscolo controllino che evita di crashare con file non contenenti le UV.
Semplicemente non importa il modello, per ora almeno, in futuro farò che carica il modello in base alle informazioni che ha a disposizione.
Per chi ha gm8.1 ovviamente vi toccherà reinstallare la gex, basta fare la stessa procedura dell'installazione e dare l'ok quando vi chiede di sovrascrivere la gex attuale. Per gmstudio dovrebbe essere sufficiente eliminare l'estensione e reimportarla. Non ho provato a vedere se cè qualche opzione per l'aggiornamento ma visto che parliamo di gmstudio non mi fiderei.
In entrambi i casi aggiornate anche la funzione CreateModelFromFile()
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 »

Cavolo non pensavo fosse così facile raggiungere la 1.0.2!
E dire che ho anche perso tempo a riscrivere le nuove funzioni più volte perchè ho cambiato idea riguardo a come utilizzarle (più simili ad assimp)
-Cambiata la funzione per leggere il nome della texture, ora sono supportati tutti i tipi di texture (dal diffuse al light mapping, dal bump al displacement) e se ne possono avere varie per ogni "tipologia", bè anche la tipologia unknown se uno si inventa strana brodaglia non esistente.
Il codice del main_object è cambiato in una riga ma tanto sono sicuro che nessuno di voi avrà perso tempo ad usare la dll quindi molto semplicemente non usate i vecchi esempi con la nuova gex. La funzione più famosa invece è rimasta uguale quindi non avrete problemi.
-Aggiunte tutte le funzioni riguardanti le luci, non che siano molto utili senza tutto il sistema di gestione della scena ma per ora mi accontento. Con questo direi che posso terminare il mio ciclo iniziale e passare a creare degli esempi più belli tra i quali uno che userà il normal mapping (solo gmstudio), una volta fatto mi affaccierò al mondo esterò obbligando qualcuna delle vostre deboli menti sottomesse al mio volere ad aiutarmi nell'impresa e poi riprenderò con l'aggiunta delle funzionalità.

Link aggiornati nell'open post.
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 »

Jak ha scritto:Cavolo non pensavo fosse così facile raggiungere la 1.0.2!
E dire che ho anche perso tempo a riscrivere le nuove funzioni più volte perchè ho cambiato idea riguardo a come utilizzarle (più simili ad assimp)
-Cambiata la funzione per leggere il nome della texture, ora sono supportati tutti i tipi di texture (dal diffuse al light mapping, dal bump al displacement) e se ne possono avere varie per ogni "tipologia", bè anche la tipologia unknown se uno si inventa strana brodaglia non esistente.
Il codice del main_object è cambiato in una riga ma tanto sono sicuro che nessuno di voi avrà perso tempo ad usare la dll quindi molto semplicemente non usate i vecchi esempi con la nuova gex. La funzione più famosa invece è rimasta uguale quindi non avrete problemi.
-Aggiunte tutte le funzioni riguardanti le luci, non che siano molto utili senza tutto il sistema di gestione della scena ma per ora mi accontento. Con questo direi che posso terminare il mio ciclo iniziale e passare a creare degli esempi più belli tra i quali uno che userà il normal mapping (solo gmstudio), una volta fatto mi affaccierò al mondo esterò obbligando qualcuna delle vostre deboli menti sottomesse al mio volere ad aiutarmi nell'impresa e poi riprenderò con l'aggiunta delle funzionalità.

Link aggiornati nell'open post.
LOL, mi costringi scaricare per la terza volta, ma mi sembra di capire che per la prossima versione passerà un pò di tempo, quindi ci siamo, è definitiva almeno per un pò.

Posso usare il bump e il displacement? in GM? stai scherzando?... se così fosse sei un genio, ma mi chiedevo se questo non farà che appesantire il modello generando nuovi poligoni col displacement... sto provando a creare modelli molto low, ho fatto un omino con poco più di 400 triangoli, non vorrei che col displacement mi raddoppiassero.

Una cosa super-super-super utile sarebbe la normal map, ma vedo che la farai soltanto per studio, perchè?... stavo pensando di non comprare studio per dirottare totalmente su Unity, ma se non fai la normal map per 8.1 forse lo compro.
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]

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 »

Prometeo ha scritto:LOL, mi costringi scaricare per la terza volta, ma mi sembra di capire che per la prossima versione passerà un pò di tempo, quindi ci siamo, è definitiva almeno per un pò.
Si, visto che l'aggiornamento è stato più svelto del previsto e che ormai ho fatto anche di più di quanto era il minimo indispensabile, ho aggiunto qualche roba meno utile a dire il vero, avrei potuto fare altre funzioni ma il discorso non cambia, nessuno le userà mai, non prima di varie release perlomeno.
Per ora mi sto concentrando sull'esempio e su fare qualche prova su come può essere utile la dll per fare determinati effetti, più per sfizio personale che per vera utilità, quindi prevedo che per un po di tempo (qualche giorno perlomeno) non rilascerò altre versioni.
Ero tentato di non postare la 1.0.2 ma non vedendoti online ho pensato "massì, tanto la 1.0.1 non l'avrà scaricata ancora nessuno"
Prometeo ha scritto:Posso usare il bump e il displacement? in GM? stai scherzando?... se così fosse sei un genio, ma mi chiedevo se questo non farà che appesantire il modello generando nuovi poligoni col displacement... sto provando a creare modelli molto low, ho fatto un omino con poco più di 400 triangoli, non vorrei che col displacement mi raddoppiassero.
Aspetta, calma calma. La dll è pensata per importare le info dei vari modelli. Se tu dal programma di modellazione crei una bump o una displacement la dll rileva correttamente di quale tipologia è quella determinata texture, non significa ovviamente che per magia game maker supporterà determinati effetti. La dll ti da tutte le info necessarie per fare ciò che vuoi, ma il "fare ciò che vuoi" è comunque limitato da game maker.
Comunque per definizione displacement = aumento di triangoli.
I reali vantaggi del displacement sono 2:
-puoi lavorare su una mesh più elementare e modificarla più facilmente dal programma di modellazione
-nuovi algoritmi dx11/gl4 come il tassellation aumentano i triangoli in tempo reale senza modificare la mesh, questo ha il vantaggio di essere più veloce (meno accessi alla memoria e altra roba hardware che non ti sto a spiegare) e facilitare il lavoro ai programmatori (puoi impostare facilmente se usare o no l'effetto senza toccare il modello)
Probabilmente su lizard/lizard api metterò qualche script per aumentare il numero di triangoli basandosi sul displacement in automatico ma vantaggi veri e propri non ci saranno su game maker per via delle sue limitazioni.
Prometeo ha scritto:Una cosa super-super-super utile sarebbe la normal map, ma vedo che la farai soltanto per studio, perchè?... stavo pensando di non comprare studio per dirottare totalmente su Unity, ma se non fai la normal map per 8.1 forse lo compro.
Bè, bump e normalmap sono la stessa cosa, la differenza è che per il calcolo dell'illuminazione è necessaria una normale quindi alla fine da qualche parte (offline o realtime) avverrà la trasformazione bump -> normal, ma questo probabilmente lo saprai già.
GMstudio standard dovrebbe costare ancora 10$ per chi ha gm 7/8.0/8.1, per quel prezzo credo che ne valga comunque la pena. Spendere di più no, passa a unity che già la free lo batte su tutti i fronti (tra poco anche nel 2d)
Il normalmap su gm8.1 purtroppo non è possibile a meno di usare dll perdendo quindi ogni senso di questa dll, tanto vale usare gmogre e via.
Gmstudio invece ha gli shaders che, per quanto per colpa di quella stupida yoyogames siano enormemente limitati ed infinitamente buggati (tanto che non mi permette di usare glsl ma solo gles e ci sono certe limitazioni odiose...), perlomeno danno comunque la possibilità di fare qualcosina in più, come il normalmap. Sono sul confine dell'accettabilità (forse anche al di sotto) ma perlomeno ci sono.
Quindi no, gm8.1 permette di fare solo ed esclusivamente quello che hai già visto finora. Se vuoi qualche chicca in più come per pixel lighting e normal mapping le potrai avere solo su gmstudio.
Qualche grande limitazione cè sempre, come le ombre che non sono riuscito ad implementarle (ma che forse con taaaaanto impegno facendomi una libreria per le matrici, potrei con qualche trick riuscire ad ottenerne di schifose e di bassa qualità ma esistenti) ma mi piace portare qualcosa ai limiti possibili, solo non aspettarti grandi cose.
Siccome so che, almeno al di fuori di GMI, cè ancora gente che non riesce o non vuole staccarsi da game maker nemmeno per il 3d, ci tengo a dargli una mano, è a loro che dedico questo progetto. Pur consigliando sempre di passare ad altro (a malinquore)
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 »

Mi son riposato fin troppo.
La settimana scorsa ho lavorato al bump mapping (riuscendoci ovviamente) ma l'esempio è comunque ancora grezzo.
Ho deciso di dedicarmi a completare la DLL e per evitare inutili perdite di tempo penso che non rilascerò una nuova versione fino a quando sarà completata (o quasi)
Di nuovo ho fatto solo:
-Aggiunte funzioni della camera
-Aggiunte funzioni per leggere i 16 quadranti di una matrice (utile per camera nodi ed animazioni dove vengono usate)
Quest'ultima ovviamente è inutile senza una libreria per le matrici all'interno di game maker (che se non cè già mi toccherà fare anche quella in futuro) ed è comunque qualcosa di utilizzabile solo con gli shader di GM studio per via delle limitazioni di GM (non posso impostare la trasformazione attuale tramite queste funzioni, posso solo passare i dati direttamente allo shader quindi senza GM in mezzo)
Per gm8.1 si avrà quindi qualche possibile limitazione ma parliamo solo per l'utilizzo di intere scene. La maggior parte delle cose dovrebbero comunque essere supportate da una buona libreria di matrici. Un'esempio fra tanti le animazioni sono fattibili via software (anche se risulteranno lente ed inutilizzabili in scene complesse visto la lentezza di GM), un'esempio di limitazione invece sono i nodi della scena, almeno usando i modelli d3d. Disegnando una mesh con le primitive ad ogni step si può fare tutto.

Le prossime aggiunte da fare sono (forse complesse ma non tantissime)
-Completare le proprietà del materiale
-Nodi (e scene node)
-mesh bone
-mesh primitive types
-animazioni

Dopodichè se non ho dimenticato nulla questa dll sfrutterà al 100% (o quasi, entro le limitazioni di gm sia chiaro) le potenzialità di assimp importando praticamente tutto.
Allegandola con una buona libreria (lizard_api, che non si cagherà nessuno, come GMAssimp) si avrà finalmente la possibilità di fare delle cose decenti col 3D di GM.
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 »

E' un raro vederti all'opera per giunta salvando questa Dll dalla vaporizzazione :rockrock: . Ma le animazioni come saranno? sara possibile usarle in GM?
♥♥♥♥♥♥
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:Ma le animazioni come saranno? sara possibile usarle in GM?
Certo che si. Per gm8.1 è possibile farle via software modificando i vertici ad ogni frame (quindi senza usare i modelli). Il risultato per via della lentezza di GM sarà chiaramente estremamente lento ed applicabile a pochi modelli da pochi vertici per volta, però è comunque possibile (e neanche particolarmente difficile)
Per GMStudio il discorso è diverso grazie agli shader. Non dovrebbe esserci nessun problema ad usare le animazioni, la dll permetterà di caricare i vari pesi dei vertici e le animazioni quindi non sarà particolarmente complesso farle a prestazioni abbastanza elevate.
Poi qualche limitazione cè, game maker ha un supporto abbastanza brutto agli shader e si ha un numero limitato di parametri non solo dall'hardware ma anche da GM stesso. Cè la possibilità che sia limitato il numero di ossa che si possono usare. Eventualmente si può sempre fare uno shader diverso in hlsl9-11 e glsl. Purtroppo gles è il più limitante ma anche l'unico che funziona su tutti i context. Se si usa gli altri bisogna farne uno diverso per ogni piattaforma che si usa (tutta colpa di quegli sfaticati)

In riassunto: possono essere veloci o lente ma... si è possibile usare le animazioni.
Chiaramente grazie agli shader si possono fare anche animazioni per frame interpolate, sicuramente più semplici da creare di quelle scheletriche ma ovviamente limitate nel loro utilizzo (non potete muovere le ossa a mano)

Chiaramente in futuro proverò a fare un'esempio che usa le animazioni, almeno via software.
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 »

Interessante! Sicuramente la userò per qualche progetto che ho in mente. :sisisi:
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti