Fisica avanzati e fluidi

Algoritmi, discussioni sulle possibili implementazioni, matematica, fisica e tutti gli argomenti correlati alla programmazione
Rispondi
Avatar utente
nightwish88
GMI Advanced
Messaggi: 1739
Iscritto il: 18/01/2009, 13:41
Contatta:

Fisica avanzati e fluidi

Messaggio da nightwish88 »

Metticaso che sono andato in overdose per una mezza idea che mi è venuta in mente e per realizzarla avrei bisogno di una fisica nel gioco... che strade prendere con GMStudio?

Stavo dando un occhiata alla demotech ispirata ad AngryBirds con i mici e non è malvaggia. Dovrei poter mettere un sistema simile incorporato con una gestione dei fluidi. Nello specifico ho bisogno di una simulazione di un corpo simile ad un mare in 2D laterale come il demo. In questa area ci metto un fluido e si deve comportare in modo realistico ( galleggiamento, movimento, adattamento )

Mi ricordo una demo fatta con gm8 tempo fa ma non la trovo. Forse è datata... Ovvio non voglio il codice ma potremmo un pò discutere su come fare questa fisica estendendo quella ( almeno sembra ) ottima della demotech
Immagine

Web Site: AFGames

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Fisica avanzati e fluidi

Messaggio da Tizzio »

GameMaker usa box2d come motore fisico, quindi puoi fare praticamente tutto


Questo è realizzato in gamemaker studio, è opensource ed è proprio quello che cerchi
https://www.youtube.com/watch?v=dp1Oe-rndUA

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

Re: Fisica avanzati e fluidi

Messaggio da Jak »

Ma anche no, gmstudio non offre tutte le potenzialità di box2d (o forse box2d non è tutta sta gran roba) Quell'esempio infatti sono solo vari oggetti "solidi" in quantità industriale e pertanto ignorano completamente la fisica dell'acqua.
Fare una gestione dei fluidi non è una cosa facile. Bisognerà si usare tante particelle per simularla (e con qualche algoritmo particolare generare una mesh dagli agglomerati di particelle) ma queste particelle dovranno avere una fisica appositamente studiata per i fluidi.

Farselo a mano è un po un macello, con game maker poi è ancora più complesso di quanto non lo è già quindi lo escluderei. L'unica soluzione che mi viene in mente è qualche dll studiata bene (e fregarsi la portabilità di conseguenza nonchè rischio che da un giorno all'altro facciano un'update che tolga le dll e te lo metta in cuculo :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

Avatar utente
enick
GMI VIP
Messaggi: 3749
Iscritto il: 26/06/2011, 19:34
Specialità: 39dll e 3D
Località: Sardegna
Contatta:

Re: Fisica avanzati e fluidi

Messaggio da enick »

Oppure come tutti "simuli" la fisica dei fluidi con dei solidi come negli esempi, probabilmente molti dei player non ci faranno caso .
Nicola porcu(Sardegna)
ImmagineImmagine
Immagine
Are you sleeping?
[email protected]

Avatar utente
nightwish88
GMI Advanced
Messaggi: 1739
Iscritto il: 18/01/2009, 13:41
Contatta:

Re: Fisica avanzati e fluidi

Messaggio da nightwish88 »

enick ha scritto:Oppure come tutti "simuli" la fisica dei fluidi con dei solidi come negli esempi, probabilmente molti dei player non ci faranno caso .
ottimo suggerimento... mi accontenterei di avere un effetto decente di galleggiamento o di caduta solidi, insomma un increspamento dell'acqua dovuto da fattori x come vento, pioggia, caduta sassi ecc. Cmq non saprei come realizzarlo, nemmeno a livello di idea

il video è simpatico... l'acqua è realizzata malissimo ma l'effetto globale è accettabile a mio avviso quindi in complesso va bene perchè bisogna solo studiare un sistema grafico migliore per realizzare ogni oggetto.... ma non è un sistema pesante?

Magari con un finto mare pieno, mettere una specie di vasca così limiti la dinamica del fluido solo in superficie mentre in fondo lasci perdere... :fapensare:

Se è fatto con il motore di gm... beh come usarlo? è una piccola variante degli gatti/uccelli arrabbiati oppure non c'entra una mazza?
Immagine

Web Site: AFGames

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

Re: Fisica avanzati e fluidi

Messaggio da Jak »

nightwish88 ha scritto:
enick ha scritto:Oppure come tutti "simuli" la fisica dei fluidi con dei solidi come negli esempi, probabilmente molti dei player non ci faranno caso .
ottimo suggerimento... [...]Cmq non saprei come realizzarlo, nemmeno a livello di idea
Non per niente ho detto
Jak ha scritto:Fare una gestione dei fluidi non è una cosa facile [...] Farselo a mano è un po un macello, con game maker poi è ancora più complesso di quanto non lo è già
nightwish88 ha scritto:bisogna solo studiare un sistema grafico migliore per realizzare ogni oggetto.... ma non è un sistema pesante?
L'ho provato e mi pesa un casino con abbastanza poche particelle. Più per una questione grafica che per la fisica in se. Provandolo in prima persona è molto peggio di quanto sembra nel video a livello di qualità della fisica.
nightwish88 ha scritto:Magari con un finto mare pieno, mettere una specie di vasca così limiti la dinamica del fluido solo in superficie mentre in fondo lasci perdere... :fapensare:
Bella idea, però sei limitato ad un mare "pieno" appunto, hai poca flessibilità. Mi piacerebbe sapere cosa vuoi fare più nel dettaglio per darti consigli più utili e concreti.
nightwish88 ha scritto:Se è fatto con il motore di gm... beh come usarlo? è una piccola variante degli gatti/uccelli arrabbiati oppure non c'entra una mazza?
E' come fossero decine e decine di barili, uno per ogni "chiazza" d'acqua (più piccolo della chiazza però in modo da farle sovrapporre)
I fluidi sono comunque ancora oggi una grande sfida a livello di qualità e prestazioni. Non sono una cosa facilissima da fare specialmente in realtime.
Magari questo ti può aiutare:
http://mmacklin.com/pbf_sig_preprint.pdf
Spoiler
Si come no :asd:
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
nightwish88
GMI Advanced
Messaggi: 1739
Iscritto il: 18/01/2009, 13:41
Contatta:

Re: Fisica avanzati e fluidi

Messaggio da nightwish88 »

hai presente world of goo? esiste, la loro gestione della fisica/fluidi è perfetta e vorrei realizzare qualcosa di simile.

Stavo pensando ad un remake di shin sub, quindi la nave da guerra vorrei farla muovere lungo una linea con sopra il cielo e sotto il mare ma questa volta rendere il mare più realistico. Onde derivanti da vento ed esplosioni, e un minimo di ondulazione da parte della nave. Se cade un oggetto dentro al mare si crea un minimo di effetto grafico che ricorda quello reale, niente di assurdo
Immagine

Web Site: AFGames

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

Re: Fisica avanzati e fluidi

Messaggio da Jak »

Cercando a proposito di world of goo ho trovato questo che sembra interessante
http://www.patrickmatte.com/stuff/physicsLiquid/
Si direbbe facilmente fattibile dalla fisica di gm (dipende comunque dalla complessità di quel che vuoi fare) eccetto per la questione grafica che ovviamente richiederà surface e primitive. Ma se ci riescono sti qua in html5(o forse è flash? boh) senza cali di framerate non vedo come potrebbe essere problematico.
Con gli shader della 1.2 sarà anche piuttosto veloce fare una cosa simile.
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
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Fisica avanzati e fluidi

Messaggio da Tizzio »

AHHH ma il mare non è composto da particelle, allora avevi spiegato male nell'openpost...

Genera semplicemente dei vertici nel punto alto dell'acqua, e li muovi seguendo moto ondoso e fai altri effetti in base alle cose che accadono (che so, arriva una bomba nell'acqua e fa uno schizzo)

Nell'area sotto le onde, applichi una forza globale che spinge verso l'alto in base alla massa degli oggetti

if(y>tot) physics_apply_force... roba del genere..

Avatar utente
nightwish88
GMI Advanced
Messaggi: 1739
Iscritto il: 18/01/2009, 13:41
Contatta:

Re: Fisica avanzati e fluidi

Messaggio da nightwish88 »

l'idea base di jak mi sembra assai buona... almeno potrei simulare in un qualche modo qualche fenomeno di galleggiamento e cose simili :D
Immagine

Web Site: AFGames

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

Re: Fisica avanzati e fluidi

Messaggio da Jak »

Si ma se non ti serve una vera e propria fisica ma solo un qualche ondeggiamento a livello più che altro grafico e qualche schizzo qua e la mi sembra un po uno spreco di tempo e fatica. Sicuramente più semplice la soluzione di tizzio ossia primitive e schizzi via particelle o sprite.
Oltretutto anche per il moto delle onde sarebbe tutto più semplice (potrei provare a fare qualcosa :fapensare: ) senza usare la fisica che renderebbe anche meno realistico.
(bè blur più alpha test non è che sia complicatissimo in effetti)
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

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti