top of page
Foto del escritorBraulio Madrid

Cómo crear mariposas sin código




Esta es la continuación del tutorial anterior de como optimizar partículas, vamos a hacer distintas especies de mariposas que aletean sus alas mientras se mueven, sin usar una sola línea de código, como he dicho en anteriores ocasiones, los programadores tendemos a inventar la rueda una y otra vez y a veces el exceso de código implica más posibles errores, mas revisiones, más trasnochos y más tiempo perdido, como se dice en la industria de los videojuegos, un buen arte salva vidas. lo que quiere decir es tal vez un buen truco de un artista puede dar la misma ilusión que si fuera hecho en código. Sin más dilación procedemos a preparar el lienzo.


Creando la textura



Lo primero que vamos a hacer es buscar por internet o a pintar varias especies de mariposa, tienen que estar dispuestas como se muestra en la imagen de la izquierda, vistas desde arriba, no sirve vistas lateralmente como lo muestra la imagen del título.



Nota: en mi caso encontré una imagen que contenía una colección de mariposas en la web de CGTextures.com, tuve la suerte en encontrarlas de esta forma, así evito tener que adivinar el tamaño real entre ellas. te dejo el link Aquí





Cuando tengamos varias de estas y más o menos calculando la cantidad de mariposas que queremos para nuestro juego, las acomodaremos en un lienzo en photoshop, ya sea de 256X256 o de 512x512 píxeles, todo depende de la cantidad y de la resolución que quieras.

recortamos cada mariposa, dejándolas que estén en un fondo transparente.


Como vemos que las mariposas son simétricas, cortamos la mariposa a la mitad y si están levemente giradas corregimos su rotación. y las añadimos al lienzo como objetos inteligentes para que no pierdan calidad.


En mi caso hice un pequeño espacio en la super textura que estoy aplicando a los árboles. pero les dejaré el link en la siguiente imagen, para que no tengan que hacer todo ese trabajo.


guardamos y abrimos el archivo dentro del programa de modelado que usemos.




Creando la malla para unity


Abrimos nuestro programa de modelado favorito, en mi caso Blender, y tal como se vé en la imagen anterior, creamos un Quad, pero lo subdividimos en el centro.

ahora le hacemos un despliegue de maya para editar sus coordenadas UV, abrimos el apartado de edición UV, y ubicamos nuestro Quad en la imagen de la mariposa que queremos representa, dejando el centro en el cuerpo de la mariposa y los extremos los juntamos hacia las alas.


Como nuestro Quad esta plano, debemos seleccionar los bordes de las alas y las subimos hasta que nos de una forma en V de 45 grados aproximadamente. Dejando el pivote en todo el centro, en el cuerpo de la mariposa.

Este punto es muy importante porque de esta formación en V es que nos aprovecharemos para hacer el movimiento de las alas, sin usar codigo de programacion.


Por último recuerda nombrar la maya con un nombre que puedas recordar fácilmente y poderlo localizar dentro de unity sin contratiempos.


Implementación en Unity


Abrimos unity y creamos una escena, y le agregamos un objeto particle System en la jerarquía, le damos Create/Particle System. y ubicamos este a una altura de metro y medio del suelo.

ahora creamos un material para incluir nuestra textura, en mi caso yo estoy usando el mismo material del tutorial anterior de partículas.


Dentro del objeto particle system, nos iremos al apartado renderer, en la opción render mode y seleccionamos mesh, y seleccionamos la maya que hicimos en el programa de modelado y el material que contenga la imagen.

ahora en el apartado Shape, seleccionamos circle a 10 o 20 metros de radio y arco a 360°, emitiendo desde el borde, la idea es que usaremos varios círculos de distintas mariposas que se intercepten entre ellas.

máxima cantidad de partículas 10, a un rate de 2, sin afectación por la gravedad, sin velocidad ni rotación inicial. y un tiempo de vida por partícula de 10 segundos.


Ahora en el apartado de rotación sobre el tiempo de vida, aplicamos una constante de rotación de 90°  en el eje Z, y en el apartado de velocidad sobre el tiempo de vida jugaremos con las curvas para hacer que revolotean en círculos.

ahora el efecto del modelado de la mariposa en V, tiene aplicación en el apartado de tamaño sobre tiempo de vida.

haremos una curva como se muestra más abajo en el eje X o el eje Z, esta curva tiene valores de 0 a 1, donde 0 hace que la mariposa quede con las alas extendidas y 1 en la forma de V que tiene originalmente.

el sistema no es perfecto pero toqueteando algunas opciones podemos darle un efecto más creíble.

te dejaré mis resultados en la demo de árboles que subiré próximamente en esta página.



Conclusiones 

  • Las mariposas son insectos en via de extincion, asi que cuidalas, no fumigues tus cultivos con venenos o ya no tendremos de donde sacar texturas de mariposas en el futuro.

  • Ya vemos que unas cuantas curvas nos pueden dar un efecto interesante, como si hubiéramos hecho un script. esto también nos pone a reflexionar, que si algo ya viene hecho, debemos usar al máximo los recursos que vienen por defecto.

  • Cómo hemos aprovechado las texturas de las hojas de los árboles en conjunto con las mariposas, nos hemos ahorrado un material.

  • Te he salvado de pagar 2 dólares por un efecto cutre, con este fabuloso fabuloso truco.

32 visualizaciones0 comentarios

Comentarios


bottom of page