Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Agua, Fuego, Explosiones

Iniciado por Degiik, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Degiik

                                Buenas, necesito ayuda sobre como crear el efecto de agua, fuego y explosiones, la verda es que no tengo ni idea y no se por donde empezar, estoy descolocado, así que acudo al foro.

Gracias.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

BeRSeRKeR

                                Ahí van unas pistas...

Fuego: sistemas de partículas.

Explosiones: pues también sistemas de partículas pero en esta ocasión depende de qué tipo de explosión. Si te refieres a un cuerpo saltando en pedazos, pues podrías tener una serie de despojos :riendo: (vease cabeza, brazos, piernas, intestinos, etc) que seguirían la física de un sistema de partículas. Además puedes añadir partículas que simulen la sangre.

Agua: pues una malla poligonal más o menos densa con un movimiento que simule oleaje (todo depende del agua que quieras...si está revuelta o en calma). Además, después tienes que tener en cuenta una cosa. ¿Utilizarás los efectos que te ofrecen las GPU de última generación o prefieres mirar hacia atrás?. En este último caso la solución para dar un toque de "realismo" al agua es meter una textura a esa malla (mírate por ejemplo las de quake3) y aplicarle algún tipo de turbulencias y scroll a nivel de coordenadas de textura. Además cabe la posibilidad de añadirle un faked environment mapping para simular la reflexión del entorno (simular muy malamente, aunque da su resultado). Si, por el contrario, miras hacia adelante (o al presente :sonriendo:) pues tenemos que puedes alcanzar un realismo mucho mayor. Por ejemplo utilizar cube environment mapping para reflejar el entorno del agua, bump mapping para resaltar las depresiones del agua e incluso podrías crear un efecto de refracción para distorsionar los objetos que hubiesen dentro del agua. Evidentemente esto depende de donde vayas a aplicar estos efectos. Si es una demo podrías hacerlo pero en el caso de un juego, en estos momentos, se me antoja un poco exagerado. Con menos cosas se puede obtener un buen resultado visual sin afectar demasiado la velocidad del juego...

Saludos
                               
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Degiik

                                Ooopss, se me olvido decir que soy un rook, por lo que mucha terminologia que empleas me suena a chino, supongo que es un poco dificil, explicar cosas como las que pido. Así pues si alguien me puede facilitar alguna URL que hable sobre cualquiera de los temas se lo agradecera muchisimo. Así vendria al foro con dudas mas directas.

Gracias.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

NeLo

                                Google

Quizás haya algo en GameDev o flipCode.

Si no encuentras nada dilo, e intentaré buscar en mi directorio de favoritos, pero vamos, GameDev es buen sitio para empezar a buscar.

Saludos.

_________________
"I have never let my schooling interfere with my education."
Mark Twain

[ Este Mensaje fue editado por: NeLo el 2002-09-06 22:14 ]                                
Drowning deep in my sea of loathing

Emotion

                                tambien hay otros sitios como http://www.gametutorials.com, romka.demonews.com, nehe.gamedev.net, y alguna pagina mas que ahora mismo no recuerdo... onde hay muchas cosas de agua, fuego, sistemas de particulas en general, animacion por huesos, efectos visuales, y mas cosas, eso si... esta en perfecto inglispitinglis, asi que no se como andas con el idioma, pero vamos, que es sencillito y los sitios merecen la pena

espero que esto te pueda servir de ayuda...

un saludo                                
G3: Get the Power!

Nekorash

                                Hombre, yo también soy un novato, pero creo que te puedo ayudar. Para conseguir el efecto del fuego necesitas una paleta de degradados de rojo (por ejemplo). Dibujas la llama, y haces un filtrado bilineal, que consiste en hacer que cada pixel tome el valor promedio de los pixels adyacentes (los pixels de arriba, abajo, izquierda y derecha). Con esto, si tienes una paleta degradada contínua, el color de los pixels se difumina y queda muy chulo. Ejemplo:

Pixel=(Pixel_arriba + Pixel_abajo + Pixel_izquierda + Pixel_derecha) / 4

Puedes meter a la vez un blur motion (creo que se llama asi), dividiendo en vez de entre 4, entre 4.005 De esta manera la imagen se difumina y se esfuma. Queda realmente bien.

Para el agua puedes hacer lo mismo, pero con una paleta de azules (aunque no queda tan bien...)

Si me he equivocado, me corrijan. Un saludo mu gordo.

Nekorash                                

BeRSeRKeR

                                No te has equivocado pero me parece un poco lento si se trata de hacer el efecto de fuego de las antorchas (por ejemplo) en un juego ya que habría que bloquear la textura y actualizar los pixels...todo eso cada frame.

Otra solución, además de la de los sistemas de partículas, sería lo que hacen muchos juegos; crean dos polígonos en cruz y le meten como textura una secuencia de imágenes que simula el fuego...

De todas formas, no sé ahora mismo (ya que no soy un experto en el tema), pero es posible que llegue un momento en que, el método del que hablas, se pueda realizar con un pixel shader, con el consiguiente aumento de velocidad...

Saludos
                               
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

                                berserker estas demasiado flipado con shaders ;-PPPP

Para el efecto agua estaria bien usar un heigthtmap q fuera calculado con perlin noise o con la suma de varias funciones trigonometricas de distinta frecuencia y distinta fase (parecido  a perlin noise).
Yo hice un efecto agua con perlin noise ->
http://www.multimania.com/minasdenatla/tmp/icl.exe
(compilado con intel c++) por si quieres verlo

Saludos                                

NeLo

                                ethernet los shaders son el futuro. Es más, son el presente xD.

Con los lenguajes de alto nivel ya no hay excusa para no exprimir una GPU al máximo.

He leido muy amenudo aquí a gente que se hace sus propias rutinas en asm porque gana velocidad... ¿Y después está mal usar Cg o cualquier otro lenguaje para ganar varios FPS y crear efectos espeluznantes?
                               
Drowning deep in my sea of loathing

NeLo

                                Por cierto ethernet, muy bonita la demo del agua :riendo:
                               
Drowning deep in my sea of loathing

ethernet

                                Estoy deacuerdo contigo y no estoy en contra de los shaders ni de ninguna cosa q aporte nuevas cosas. Con lo q no estoy deacuerdo es empezar la casa por el tejado, creo q primero hay q aprender cosa basicas y despues ya le meteras cañaa shaders y cosas de ese tipo.
El comentario para berserker era una coña ;)) ;*                                

CordayUK

                                Un sistema de fuego que he visto hace poco y esta bastante chulo, en el "FreekStyle" de EA Sports para la play2 lo podeis ver en accion :sonriendo: utilizan un sistema de particulas pero con unas texturas que simulan una llama mas o menos, cambiando el color desde el origen hasta el final con rojo, amarillo y negro. El truco esta en jugar mucho con el alpha de la textura para que a medida que la la textura va "subiendo" se va haciendo transparente, cuando tienes esta misma textura repetida muchas veces con diferentes tamanaos y rotando parece un fuego real... la tecnica en si es sencilla pero hay que jugar mucho con la textura y los vertex color.                                

Degiik

                                Buenas!

Primero disculparme, he tenido un par de movidas y no he podido estar por el foro. Tambien agradecer a todos los que os habeis pasado para ayudarme y habeis dejado un post. Me sacais mucha ventaja utilizando tecnicismos que se me escapan, así que os pediria que me dierais direcciones directas a tutoriales, articulos ( sobre agua, fuego, explosiones ) para un rook como yo. algunas direciones que me habeis pasado son muy genericas y no encuentro lo que busco. Necesito que me encamineis a algún sitio donde poder y tirando de el hilo hasta que me aclare. Yo por supuesto pongo las ganas y horas que hagan falta para analizar lo que me digais para mirar.

Os agradezco la atencion a todos. :sonriendo:


[ Este Mensaje fue editado por: Degiik el 2002-09-12 20:29 ]                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

CordayUK

                                el efecto de fuego y explosiones se consigue normalmente utilizando un sistema de particulas. Lo mas sencillo es tener un array de "billboards" que se va reciclando constantemente. Cada uno de estos billboards cuando los creas tienen valores mas o menos aleatorios como vida, velocidad, etc... pero todos nacen en un mismo sitio, y mueren al cabo de un rato. Imaginate unos fuegos artificiales... Bueno pues simplemente jugando con los diferentes parametros puedes hacer desde unos fuegos artificiales, hasta una fuente de agua, o un humo, o una explosion, o fuego, etc... la tecnica es la misma. solo cambian los parametros y las texturas de los billboards. Un billboard es simplemente un cuadrado con textura que siempre mira a la camara. Imaginate por ejemplo el sol, que siempre mira hacia ti, nunca puedes rodearlo.

lo primero seria crearte un sistema de particulas sencillito y luego ir poniendole mas cosas para hacer efectos mas logrados.
estos son algunos links:

este esta bueno para hacerte tu propio sistemade particulas...
http://nehe.gamedev.net/projects/particle/particle.asp

mas avanzados...
http://www.cs.unc.edu/~davemc/Particle/
http://www.mysticgd.com/misc/AdvancedParti...icleSystems.pdf

lo del efecto de agua es algo mas complicado, basicamente es una malla que vas moviendo simulando ondas, despues ya le pones mas cosas para que parezca agua :sonriendo:

aqui tienes otros links a efectos de agua, fuego, etc..
http://www.gamedev.net/reference/list.asp?...p?categoryid=72

espero te sirva, suerte! :sonriendo:
                               

Degiik

                                mmm, bien creo que empiezo a captar la idea, fantastico!!! voy a meterme a ello ahora mismo. Ire poniendo los avaces que haga y las dudas.

De todas formas si alguien mas quiere dejar direciones de interes o realizar comentarios, perfecto :ojo:.

Gracias.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.