G60 G60
Páginas: [1] 2 3 4   Ir Abajo
  Imprimir  
Autor Tema: Proyecto: LLuvia dinámica en cabina 3D  (Leído 48464 veces)
0 Usuarios y 1 Visitante están viendo este tema.
01 Marzo, 2010, 15:09:25
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Proyecto: LLuvia dinámica en cabina 3D

Hola a todos.

Ayer, inspirado por el fabuloso proyecto de Japo http://www.x-plane.es/modules/smf/index.php?topic=2452.0 y su vídeo sobre la lluvia en cabinas 3D, algo que nadie, salvo el, había estudiado -hasta donde llega mi conocimiento- y dado que tenía algo de tiempo me decidí a analizar este fenómeno atmosférico y como podría implementarse en X-Plane de forma realista.

Varias son las ideas -vagas- que llegué a concebir, como por ejemplo lo expuesto aquí: http://www.x-plane.es/modules/smf/index.php?topic=2452.msg38126#msg38126 y aquí:
http://www.x-plane.es/modules/smf/index.php?topic=2452.msg38173#msg38173

Sin embargo, la idea es conseguir el efecto sin la abrumadora necesidad de usar complicadas APIs gráficas en las cuales yo no tengo experiencia.

El presente hilo pretende ser, pues, un marco de estudio y desarrollo –ensayo podríamos decir- de una posible solución al problema anteriormente mencionado. Aquí aportaré mi idea inicial, podremos comentarla entre todos y llegar a una aplicación práctica. Quizá sirva hasta como aprendizaje sobre la realización de plugins. Simplemente es mi deseo haceros partícipes activos de este proyecto, nada más y nada menos que conseguir lluvia realista en cabinas 3D,  de forma general. Tened en cuenta que todo esto podrá o no funcionar en último término, quizá recorramos mucho trecho para llegar a ningún lado, pero algo habremos aprendido por el camino, los unos de los otros, o eso espero.

Primero pretendo realizar una exposición teórica, lo que se podría denominar un análisis funcional –los que sepáis de programación me habréis entendido perfectamente-, para luego pasar a la práctica, a implementar mediante código aquello que es teórico. De modo que este hilo va a ser una especie de historial desde la concepción de una posible solución hasta su ejecución y su éxito o fracaso, porque, a priori, no se puede saber si lo expuesto aquí funcionará ni con qué inconvenientes nos podemos encontrar. No he visto en ningún foro un hilo como el presente, no sé si es una buena idea o no, vosotros, con vuestros comentarios, me diréis.

De todo lo que se me ocurrió he salvado una idea que, ni se cimenta en la filosofía del constructor de aviones virtuales que no tiene conocimientos de programación ni tampoco en el programador que no tiene conocimientos de creación de aviones virtuales. La idea final está a caballo de las dos porque, requiere el uso de modelado y texturizado y también programación, pero no de un nivel que, a priori, asuste.

Procedo pues a exponer mi idea de como implementar todo esto. Ni que decir tiene que podéis comentar, consultar o criticar lo que queráis. Pasemos pues a la exposición.

En cualquier momento hay un número finito de gotas en un parabrisas, por ejemplo. Porque a medida que algunas resbalan y desaparecen, otras impactan y quedan pegadas. Por otro lado las gotas resbalan normalmente hacia abajo, pero en realidad eso depende del ventor de inercia del vehículo, si aceleramos, resbalarán a los lados, siguiendo la curvatura del cristal, si caemos hacia abajo, incluso subirán, es decir, su movimiento depende de la fuerza G.

Pues bien, la intención es simular todo ello de la forma más realista que se pueda, con las lógicas limitaciones, claro. A priori no se que PC se requerirá para mover esto con soltura, aunque no creo que sea mucho, y siempre será adaptable a nuestras necesidades.

Mi idea consiste en un sistema multi-capa de transparencias de visibilidad variable junto con un sistema dinámico de simulación del movimiento de las gotas, cuando éstas resbalan. ¿Suena complicado? No lo es tanto, o ya veremos.

El sistema está dividido pues en dos partes bien diferenciadas e independientes, que pueden implementarse por separado.


1.- Sistema multi-capa

He pensado que se podrían implementar 4 planos (polígonos rectangulares) sobre la ventanilla, texturados con una imagen de gotas de lluvia, con transparencia. Las texturas para cada uno de estos planos deben ser distintas y bien diferenciadas, de modo que se evite la apreciación de gotas idénticas entre las del mismo plano y entre las de un plano y otro.

De estos 4 planos uno puede ser continuamente visible, y los otros 3 ir cambiando su estado de visibilidad de forma cíclica, con el paso del tiempo, de modo que siempre habrá dos únicos planos visibles, el fijo, llamémosle 1 y otro de los otros 3. Sirva de referencia la siguiente figura:



De los últimos 3 planos, a cada ciclo de la simulación, hacemos visible el siguiente plano e invisibles los otros 2. La frecuencia con la que se pasa a activar visiblemente el siguiente plano podemos hacer que dependa, directamente, del DataRef de X-Plane rain_percent de este modo simulamos que el cambio sea más agresivo –parezca que caen gotas más frecuentemente o menos- a medida que la intensidad de la lluvia aumenta o disminuye. Pensad en este sistema como un conjunto de transparencias con las gotas dibujadas, una de las transparencias es fija y las otras 3 van alternando su visibilidad, de modo que se crea una especie de animación de aparición de gotas de lluvia. Comentar que conviene que las gotas de la capa fija, las de la 1, sean de mayor tamaño en general que las de las otras tres.


2.- Sistema dinámico de gotas

Adicionalmente al sistema de capas de gotas fijas, podemos implementar un sistema en el que simularemos N gotas en movimiento. Para ello se pueden modelar N rectángulos, de pequeño tamaño, los cuales situaremos inicialmente fuera del área del cristal, todos en la misma posición, entre las dos superficies del fuselaje, por ejemplo, para que inicialmente no sean visibles desde la cabina. O bien se puede probar a hacerlos visibles solo cuando los DataRefs tomen el valor adecuado –esto ya lo veremos más adelante-.

Cada uno de estos pequeños rectángulos se textura con la imagen de una única gota de agua, haciéndolos de distinto tamaño, según la imagen de la gota a representar. Se pueden aprovechar las mismas texturas que para los planos del 1 al 4 solo que mapearemos por UV solo una gota a estos N polígonos.

Se crean dos animaciones para cada polígono de gotas dinámicas. Uno representará la posición de la gota en X, el otro en Y, unos custom DataRefs de X-Plane, que nosotros crearemos y gestionaremos por plugin marcarán los valores de referencia para esos ejes y cada gota de agua. Recordemos que las gotas dinámicas, inicialmente, estarán situadas fuera del área del cristal sobre el que se van a desplazar, es decir, los valores de sus DataRefs X e Y estarán fuera del rango del área del cristal –esta circunstancia podemos aprovecharla para que sean objetos invisibles cuando estén fuera del área del cristal, es decir, su visibilidad o no dependerá de los valores de sus DataRefs X e Y-.

Nuestro plugin, a cada ciclo de la simulación, para cada gota de las N que esté fuera del área, del cristal generará valores aleatorios para los DataRef X e Y, de modo que las gotas irán apareciendo en posiciones aleatorias en el cristal, como si hubieran caído en esa posición. También a cada ciclo de la simulación los valores de esos DataRefs X e Y, para cada gota se incrementarán proporcionalmente al vector de inercia, es decir, el movimiento de las gotas dependerá de la G y su vector. Cuando una gota, de las N, salga del límite del cristal, se le volverá a asignar una nueva posición distinta y aleatoria, de modo que se consiguen nuevas gotas en movimiento al reciclar los objetos que representan las que se salen por los bordes del cristal.

La siguiente figura pretende representar este sistema dinámico:



Hasta aquí el planteamiento inicial, ahora queda irlo implementando, poco a poco, que mucho tiempo no tengo. Sois libres de probarlo por vuestros propios medios si lo deseáis y publicar aquí vuestras experiencias. Yo, por mi parte, continuaré en cuanto pueda, tengo que repartir mi tiempo entre el trabajo y otro proyecto de X-Plane que tengo actualmente en marcha y del cual no he dicho nada.

Gracias por leer

01 Marzo, 2010, 16:02:42 #1
zxplane
Administrador
Superusuario
*****
Desconectado Desconectado

Mensajes: 4284




En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Supongo que el mismo principio sería aplicable también con sus variables, a la mejora del efecto en paneles 2D.
Como el tema y su desarrollo puede llevar su tiempo, lo traslado a la sección Proyectos-aviones para que no se pierda en un mar de mensajes.


02 Marzo, 2010, 14:56:27 #2
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Hola,

Ayer decidí probar algo. ¿Que tal si se pueden sustituir los 4 planos de gotas de lluvia por dos generic rotarys?. El generic rotary es muy flexible, tanto que sus capacidades exceden a su nombre. Con este cotrol es posible animar cualquier superficie, es decir, a base de tener N imagenes diferentes es posible secuenciarlas de modo que parezca una animación. Además, como es un instrumento genérico, su transparencia, si lo configuramos como del tipo cristal transparente, es variable mediante un rheostato. Eso combinado le hace, en principio, un buen candidato para animar la textura de las gotas estáticas en el cristal. Se trataría de sustituir los 4 planos texturados por uno solo y mapear por UV el generic rotary a ese único plano 3D en el OBJ. La animación se realizaría "automáticamente" al variar el DataRef asociado al generic rotary.

Bueno, esa era la idea para, quizá, evitarnos el uso de los 4 planos y tener que gestionar su estado de visibilidad. Probé lo del rotary y en la cabina 2D, perfecto, se podía cambiar de fotograma símplemente variando el DataRef, pero lo que vi en la cabina 3D no me gusto nada. No se si fué por no tener definido aún ningún polígono ni mapeado por UV el rotary, pero éste control, en la cabina 3D se comportó como si fuese de tipo cristal, en lugar de cristal transparente. Es decir, en la cabina 2D se vuelve transparente su textura con el uso del rheostato, pero en la cabina 3D se vuelve totalmente negro... Ignoro ahora si es error mío o un bug, seguiré probando.

Lo de querer que la testura de gotas de lluvia podamos hacerla transparente es por crear el efecto de eliminación de gotas cuando pasa el limpia-parabrisas. Pero si en la cabina 3D no funciona el rotary como debería...bueno...habrá que buscar otras formas.

Los archivos de ejemplo los tengo que colgar en algún sitio para que el que quiera se los baje. ¿Alguna sugerencia?

03 Marzo, 2010, 11:52:11 #3
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Por lo que he podido experimentar con el generic rotary, para permitir animaciones de texturas transparentes en el cristal de la cabina, me he topado con el mismo problema que al intentar poner un HUD en la cabina 3D. Raro es el avión que tiene HUD en su 3d cockpit, y la razón es esa. Mi experiencia hasta ahora ha sido constatada al buscar información por Internet, resulta que para que los controles se dibujen en el polígono 3D, como textura -ignoro ahora mismo si pasa con todos o no, pero con el generic rotary si ocurre, igual que con los instrumentos del HUD- estos controles deben posicionarse en un área de la textura del panel 2D que no sea completamente transparente.

Esta tarde probaré distintos niveles de transparencia en la textura del panel, justo donde he situado el generic rotary -bajo él- para ver como se comporta X-Plane con esta configuración. Si no consigo nada positivo con esto, supongo, deberé volver a la idea inicial de usar los 4 polígonos a modo de capas para las gotas de lluvia. Sería una lástima, porque tenía pensado un sistema que creo que hubiese quedado my bien para la eliminación de gotas al pasar por ellas el limpia-parabrisas, si tengo que optar por el uso de los planos no quedará tan bien como había ideado, pues no puedo establecer la intensidad de la transparencia por medio de DataRefs, salvo que use un generic rotary, claro.

04 Marzo, 2010, 13:26:35 #4
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Bueno. Como comente en mi aportación anterior he estado haciendo pruebas para poder tener texturas animadas transparentes en el cockpit 3D, allá donde se deseen. Publico aqui pues el resultado de las mismas.

Para la prueba lo que he hecho es crear una textura de panel (Panel.png) con distintas áreas y distintas transparencias para cada área.


Esta es la textura en sus canales RGB, sin ver el efecto del canal alpha para transparencia


Este es el canal alpha de la textura, se puede ver que cada área tiene un nivel distinto -distintos tonos de gris- en donde negro es completamente transparente y blanco completamente opaco.
Las transparencias probadas han sido al 100%, al 25%, al 50% y al 0% de transparencia, de izquierda a derecha


Este es el resultado de la combinación de la textura con su canal alpha

Y ahora os pongo un pequeño vídeo de la prueba realizada con una cabina muy simple, que consta de dos planos mapeados por UV al Panel.png y al panel de instrumentos de X-Plane. En el video se puede apreciar como al variar un generic rotary los frames de otros 4 varían en consecuencia. Cada uno de ellos consiste en 4 fotogramas con los números del 1 al 4 en grande y color rojo. Así mismo, al variar un rheostato podéis ver como varía tambien la transparencia.

<a href="http://www.youtube.com/v/7znis3R4va4&rel=1" target="_blank">http://www.youtube.com/v/7znis3R4va4&rel=1</a>

Estas dos circunstancias, el poder variar el fotograma a voluntad y la transparencia, hacen de este control uno de los sistemas de elección para implementar la lluvia en particular y animaciones -aunque cortas- en general. El funcionamiento en el ejemplo es manual, mediante otro par de instrumentos, pero se pueden variar los DataRefs correspondientes desde un plugin y animar automáticamente las imagenes, haciendo que el paso de un fotograma al otro sea todo lo rápido que necesitemos.

Al final no se si implementaré la lluvia mediante este sistema, o bien solo mediante la capa de gotas dinámicas. Si al final no opto por usar animaciones del rotary, entonces necesitaré más objetos 3D, es decir, más gotas independientes, eso aún lo estoy evaluando.
« Última modificación: 04 Marzo, 2010, 19:03:46 por kha29096335 »

04 Marzo, 2010, 18:39:24 #5
jorduran
Superusuario
*******
Desconectado Desconectado

Mensajes: 9959



WWW
En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Genial, pero al mismo tiempo veo lo cazurro que soy con la informática  Sonreir Sonreir Sonreir y con otras cosas  Gi&ntilde;ar


Un buen aterrizaje es el que sales andando.
Un gran aterrizaje es cuando el avion puede seguir volando.

Telefonica ha cerrado mi WEB sin preaviso.
PHOTOBUCKET A CORTADO LAS FOTOS
04 Marzo, 2010, 19:05:53 #6
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Genial, pero al mismo tiempo veo lo cazurro que soy con la informática  Sonreir Sonreir Sonreir y con otras cosas  Gi&ntilde;ar

¿Por qué dices eso compañero?, aqui cada uno tiene sus fuertes. Yo soy un tocho dibujando, por ejemplo.

04 Marzo, 2010, 19:10:06 #7
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Supongo que el mismo principio sería aplicable también con sus variables, a la mejora del efecto en paneles 2D.

Si, pero en el panel 3D no se puede echar mano de una capa de gotas dinámicas que se muevan y resbalen según la G a la que estén sometidas, cosa que de salir bien en la cabina 3D puede quedar espectacular.

Me corrijo a mi mismo. Si es posible sacar el objeto 3D del cockpit 3D en la vista 2D, entonces, creo que sí. También podría servir.
« Última modificación: 04 Marzo, 2010, 20:29:11 por kha29096335 »

05 Marzo, 2010, 00:12:14 #8
qumake
Usuario Habitual
******
Desconectado Desconectado

Mensajes: 1239




En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

No termino de ver hasta donde puede llevarte este proyecto:... (bueno sí... a simular lo más fielmente posible las gotas de lluvia)

-Este proyecto ¿es especifico para un avión o general? (tipo plugin)... para todo el X-Plane ...lo digo por saber como casará esto con el METAR de turno, Real Weather... y la propia generación de lluvia por parte del X-Plane.
-Las gotas serán transparentes... ¿habrá refracción?
-Se verán influenciadas por el limpia-parabrisas ¿les afectará la curvatura/geometría del cristal?... ¿y las inercias? ¿el viento?
-¿son objetos en 3D (con volumen) o planos con textura sobre el cristal?

 Girar ojos... a ver si me puedes aclarar estas dudas.

Saludos... y ánimo en este ingente proyecto

P.D.: sé que ahora estás empezando... es por saber si algunas cosas que pregunto están en el ideario de tu creación.
« Última modificación: 05 Marzo, 2010, 00:15:50 por qumake »


05 Marzo, 2010, 02:20:40 #9
Japo32
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 951


En el hangar construyendo aviones


WWW
En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Acabo de ver el tema... Me cago en la leche!! como no se me ocurrió lo de los rotaries para animar la textura. No solo una textura sino varias!!! Es qeu así podría hacer la lluvia en movimiento por el aire. Aunque para el CRJ no puedo ahora ya que para hacerlo por rotaries debería utilizar el panel.png y lo tengo llenito. Pero para futuro vale

Otra cosa sería que se implementara la animación de textura.

de todas formas ahora que pienso.. en un panel.png mediante un rotary.. si no ocupa todo el panel.png (que no lo ocupará nunca) no se puede repetir la textura.. por lo que se vería la repetición. Siempre solucionable con distintas capas.. eso si.

bueno.. no me he leido todo el tocho ya que lo acabo de ver y es tarde ya.. pero lo haré!!!

bueno.. ya he trabajado bastante por hoy.


Aviones para X-Plane:
http://www.jrollon.com/

05 Marzo, 2010, 09:14:37 #10
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

No termino de ver hasta donde puede llevarte este proyecto:... (bueno sí... a simular lo más fielmente posible las gotas de lluvia)

-Este proyecto ¿es especifico para un avión o general? (tipo plugin)... para todo el X-Plane ...lo digo por saber como casará esto con el METAR de turno, Real Weather... y la propia generación de lluvia por parte del X-Plane.
-Las gotas serán transparentes... ¿habrá refracción?
-Se verán influenciadas por el limpia-parabrisas ¿les afectará la curvatura/geometría del cristal?... ¿y las inercias? ¿el viento?
-¿son objetos en 3D (con volumen) o planos con textura sobre el cristal?

 Girar ojos... a ver si me puedes aclarar estas dudas.

Saludos... y ánimo en este ingente proyecto

P.D.: sé que ahora estás empezando... es por saber si algunas cosas que pregunto están en el ideario de tu creación.

Hola,

El proyecto se va a intentar que sea general, es decir, no se trata de implementar la lluvia para el avión X que yo esté desarrollando, mas bien es crear las bases, las técnicas para poder implementarla en cualquier avión. De hecho la idea no es dar el qué, si no el cómo. No es dar el trigo, si no enseñar a plantarlo. Esto lo hago así por varias causas, primero, porque si se sabe cómo, se pueden aportar ideas propias y mejorar el sistema, segundo, porque aquél que tenga más habilidad gráfica que yo podrá aprovecharla y sacarle partido.

EL proyecto, por razones obvias, deberá apoyarse en un plugin que gestione la dinámica de las gotas, es decir, su aparición, movimiento, etc. El plugin será del tipo FAT basado en el SDK 2.0 de X-Plane y desarrollado en C.

La aparición y cantidad de las gotas tengo pensado tratar de sincronizarlas con el parámetro de X-Plane que define -creo, lo tengo que verificar y probar- la cantidad de lluvia que esta cayendo, es decir, que supongo se sincronizará con el real weather sin tener que hacer nada especial, porque la lógica del plugin ya tendrá en cuenta el DataRef correspondiente, bueno, esa es la idea.

Las gotas, efectívamente, serán transparentes. En cuanto a la refracción, según la mano del artista que las dibuje y su experiencia, se podrá simular, pero no será una refracción real, que cambie según el entorno, si no simulada. Para simularla es más sencillo de lo que parece, se renderiza la parte de la cabina apuntando la cámara hacia los asientos, eso en el programa 3D que estemos usando para crear el avión, con las texturas puestas y la iluminación deseada y correcta. Ese único fotograma renderizado (sería una foto sintética de la cabina mirando hacia los pilotos) se escala y adapta para cubrir a la gota en el programa de dibujado 2D con el que hagamos las gotas. Sería pues una refracción fija, como la que a veces se implementa en el parabrisas de los aviones.

Las gotas tengo pensado que si, que se vean influenciadas por el limpia-parabrisas, tengo ideadas varias técnicas que habrá que probar, esperemos que el resultado sea bueno.

La curvatura del cristal tengo pensado que sí, que también las afecte, aunque esto es más complicado, pero se va a intentar crear esa característica física. La fuerza G también tengo pensado que les afecte, de modo que, en vuelo invertido, resbalarán hacia la parte superior del cristal. En cuanto al viento, eso no lo habia pensado, pero todo es combinar en un único vector las fuerzas que queramos contemplar, luego ese vector se descompone en incremento de movimiento en X e Y para cada gota.

El sistema lo estoy ideando como un sistema mixto, en el que una capa serán gotas fijas y otra serán las dinámcias que aparecen, resbalan y desaparecen. Bueno, a lo largo del desarrollo del proyecto esto puede sufrir muchas variaciones claro. Las gotas no serán objetos con volumen, serán planos con textura transparente y semitransparente, la carga de trabajo para X-Plane se me antoja que será alta y cada objeto lo ideal es que sea lo más sencillo posible. Al contemplar la curvatura habrá que realizar también corrección de perspectiva por cada gota, para que parezca que cáda una es planar respecto de la superficie del cristal. La idea es tener un conjunto de N gotas dinámicas. Probaré con varios valores, desde 50 a 200, por ejemplo, y ver como se comporta el sistema, a más número de gotas, mejor saldrá el efecto, eso sí. A priori no se que maquina o maquinón se necesitará para mover esto, el algoritmo será complicado, porque no quiero basarlo en bucles dentro del ciclo de simulación, quiero que el propio ciclo de la simulación sea el bucle, es decir, que en lugar de gestionar el plugin las, por poner un número, 200 gotas en cada ciclo se simulación, lo cual lo retrasaría todo, quiero que cada ciclo gestione una gota, para qeu se me entienda, que a los 200 ciclos de la simulación se habrían gestionado las 200 gotas, algo así, o una combinación de este sistema con pequeños bucles gestionando loque se mueve, pero no lo que no se está moviendo.

No todas las gotas se moverán, ni tampoco las que se muevan serán las mismas, todo será aleatorio, unas se moverán a un ritmo, otras a otro.

El proyecto lo he pensado como una especie de Open Source. A lo que me refiero es que aqui no voy a publicar símplemente el resultado, si no como lo he hecho y por qué. Espero que sea un proyecto abierto, en el que todos podamos participar, aportando ideas, enjuiciando otras, probando el que quiera cosas, aprendiendo el que no sepa, yo aprendiendo del que sepa más y todos aprendiendo de todos. Al final, según como se desarrolle el asunto no será mi proyecto, será el proyecto de X-Plane.es, desarrollado aqui, con el que quiera participar. Yo tengo la idea general, las soluciones las tengo hilbanadas en mi cabeza. Si hay una cosa que pueda decir de mi es que cuando trabajo en el paso A ya estoy pensando en el F y dándole vueltas.

Todo esto tiene un peligro, eso sí. Las cosas en teoría pueden parecer muy bonitas y funcionar, y luego en la práctica no salir bien o ser imposibles de implementar o perfectamente posibles, pero por problemas de rendimiento requerir el ordenador de la Nasa. Como esto es algo vivo, será cambiante. Bueno, ya veremos a ver como se va desarrollando.

Gracias por vuestro interés.

05 Marzo, 2010, 09:25:41 #11
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Acabo de ver el tema... Me cago en la leche!! como no se me ocurrió lo de los rotaries para animar la textura. No solo una textura sino varias!!! Es qeu así podría hacer la lluvia en movimiento por el aire. Aunque para el CRJ no puedo ahora ya que para hacerlo por rotaries debería utilizar el panel.png y lo tengo llenito. Pero para futuro vale

Otra cosa sería que se implementara la animación de textura.

de todas formas ahora que pienso.. en un panel.png mediante un rotary.. si no ocupa todo el panel.png (que no lo ocupará nunca) no se puede repetir la textura.. por lo que se vería la repetición. Siempre solucionable con distintas capas.. eso si.

bueno.. no me he leido todo el tocho ya que lo acabo de ver y es tarde ya.. pero lo haré!!!

bueno.. ya he trabajado bastante por hoy.

Hola Javier,

El generic rotary es como la navaja suiza de los instrumentos...vale para todo. Jajaja.

Si que llevas mucha razón en el problema de las dimensiones de las texturas. Al ser el Panel.png finito, el área del gráfico del rotaty es limitada, por lo que si lo que se hace es poner un solo rotary mapeado varias veces a varias áreas del plano 3D en la cabina, se notaría la repetición, si. Y si lo que se hace es mapearlo una única vez, pero abarcando un área mayor, bueno, entonces se verían las gotas borrosas, con dientes de sierra, y muy grandes si no hemos tenido esto en cuenta a la hora de dibujarlas -y posiblemente deformadas, además-.

Igual hay que plantearse ya el uso de paneles a 2048x2048...no se...como cada vez queremos más cosas en los aviones... así podríamos poner varios rotarys y combinarlos. Tambien puedes mapear un UV al derecho y otro al revés, para crear un área x2 de la real del rotary.

Errrr...lo de animar la textura realmente...bueno, eso se puede hacer, pocas cosas hay imposibles en informática, y menos con las excelentes posibilidades de expansión de X-Plane y su SDK, pero para eso hay que saber OpenGL, que no se aprende en un día.

C ya sabes que lo estoy enpezando a usar ahora, cosa que no creo que sea problema por la experiencia en programación que ya tengo en otras áreas, pero OpenGL... eso ya es otra cosa. Mi trabajo nunca ha consistido en realizar aplicaciones 100% gráficas con DirectX u OpenGL. Que más quisiera yo que implementar la animación de texturas en X-Plane.
« Última modificación: 05 Marzo, 2010, 09:31:26 por kha29096335 »

05 Marzo, 2010, 10:36:28 #12
Japo32
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 951


En el hangar construyendo aviones


WWW
En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

si.. yo ya empiezo a usar paneles 2048. En el CRJ no lo pensé y no sabía como modificar la cámara.. cuando era una chorrada. Ahora echaría en falta un poco más de espacio.. pero bueno.. Bien está así.
Pero tranqui.. con rotarys se puede hacer. Vamos.. yo lo mio sin rotarys ni leches... a pelo. Sin programación ninguna.
en cuanto a la reacción de las texturas con respecto a la gravedad o viento... ya lo veo más complicado.

Una forma de hacerlo.. sería mediante partículas con reacción de colisión frente al parabrisas... pero bueno.. los de Laminar siempre están unos años atrás de la última tecnología. Ya llegarán (implementaron los normal maps hace nada... y esto ya estaba desde tiempos del Doom3)


Aviones para X-Plane:
http://www.jrollon.com/

10 Marzo, 2010, 22:15:16 #13
kha29096335
Usuario Frecuente
*****
Desconectado Desconectado

Mensajes: 664



En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Hola,

Símplemente para comentaros por donde va la investigación en este momento.

Ahora mismo estoy estudiando cómo realizar la textura de gotas de agua sobre el cristal. Estoy partiendo de una técnica que como base obtengo texturas de esta apariencia:



Aparte del propio dibujado del agua, el proceso continua con la animación de la misma, dado que habrá varias capas de rotaries semitransparentes para animar el agua, con varios fotogramas por rotary, aparentando escurrir. Estoy barajando varias formas de hacerlo, aqui os puedo presentar unos breves ejemplos de por dónde van las cosas.

En el primer ejemplo -cuya imagen no usa una técnica tan complicada como la mostrada en la primera imagen- simulo el impacto de una gota al estilo "cabina 2D de X-Plane". En el segundo intento representar el escurrir de gotas de mayor superficie, aunque no está la animación completa. Todas las animaciones están hechas a mano, por lo que podréis imaginar la paciencia que hay que invertir. Os dejo las animaciones:

La gota simple


El escurrir del agua


Estas animaciones, como estarán pre-dibujadas, de implementarse finalmente algo así, no se podrán animar según los vectores G y de viento. Lo único que pretendo que esté animado con esos vectores es la capa de gotas dinámicas, cuyo movimiento trataré que sea consistente con las fuerzas que influírian en las gotas.

Espero vuestras opiniones y consejos, y agradezco el interés que algunos me habéis mostrado.

Un saludo.

10 Marzo, 2010, 23:46:25 #14
zxplane
Administrador
Superusuario
*****
Desconectado Desconectado

Mensajes: 4284




En línea
Re: Proyecto: LLuvia dinámica en cabina 3D

Respecto a la animación siguiendo la trayectoria del viento:

Las gotas caen por efecto de la gravedad pero en un vehículo en movimiento están ascienden  o hacen una trayectoria lateral por efecto aerodinámico que las arrastra sobre el cristal.
Bien, imagina que la textura en vez de estar fija, está sobre una superficie totalmente transparente (algunos efectos 3D utilizan este recurso) que gira en función de la velocidad, la otra media superficie lo haría de forma simétrica para seguir la curvatura. Este radio de giro podría estar ligado a algún dataref como por ejemplo, el que mueve la cinta que llevan algunos gliders en el cristal pero atenuado.
Todo esto es la teoría, realizarse en X-Plane no se si es posible, pero por aportar alguna idea.


Tags:
Páginas: [1] 2 3 4   Ir Arriba
  Imprimir  
 
Ir a:  

www.x-plane.es.
Página creada en 0.062 segundos con 18 queries.