Friday, August 23, 2013

[Tutorial] Tutorial de antorcha

En este tutorial se pretende presentar el acabado de una antorcha para sus juegos en Unity3D, el siguiente video muestra el cómo se realiza una antorcha low poly, desde su modelado, texturizado hasta su acabado final. 

(Solo los primeros 9 minutos y medio contienen el tutorial, por un problema con Youtube el resto del tiempo es solo un fondo negro)



Puedes descargar los archivos de la antorcha aquí: Torch Files

El siguiente video muestra el acabado final con el fuego y el humo en la antorcha.




Para ver cómo crear el fuego y el humo, revisen los tutoriales de Sycmasters en los siguientes links.


[Tutorial] Efecto humo en partículas

Hola a todos esta es la segunda parte del tutorial de partículas de efectos para antorchas dentro de Unity3D, en el primer tutorial que podemos encontrar aquí (http://thebloodyshadowslan.blogspot.com/2013/08/tutorial-efecto-de-fuego-con-particulas.html), tenemos ya una llama como la de una antorcha, ahora el fuego de la antorcha quema la madera de tal (en caso que estemos usando una antorcha de madera) lo cual crea humo, en este tutorial veremos cómo hacer que el humo salga de la llama.

Recordemos que uno de los elementos más importantes es la textura, y como en el anterior tutorial, aquí les dejare la textura correspondiente al efecto de humo.



Ahora, haremos lo mismo y crearemos un material para las partículas las cuales vamos a usar para crear nuestro humo, vamos a la ventana de Project y vamos a Create > Material y vamos a nombrarlo Smoke, después en el inspector cambiamos el Shader de Diffuse a Particle > Additive y en el main texture pondremos nuestra textura.

Ahora que ya tenemos nuestro material listo vamos a GameObject > Create Other > Particle System y en la escena tendremos la misma lluvia de partículas blancas y redondas.

Ahora en el inspector podemos ver el sistema de partículas (Shuriken), iremos a la parte de abajo del inspector bajando hasta el Renderer de las partículas, y cambiaremos el material por nuestro material Smoke, podremos ver como nuestros puntos blancos cambiar a la forma de nuestra textura.



Ahora hasta este punto es igual que el tutorial de fuego, pero cambia en la forma y transparencia gracias a nuestra textura, ahora lo que haremos es cambiar algunas configuraciones para que luzca más como humo, puede parecer que algunas configuraciones son muy parecidas a la del fuego, empecemos!

Particle System




Emision and Shape




Color over Lifetime



1 = Color (RGB: 200), Alpha (15).
2 = Color (RGB: 21), Alpha (0).


Size over Lifetime



Renderer



Bien, pues ahora tenemos el humo, este humo está listo para ponerlo por encima de nuestro efecto de fuego, podemos poner el humo dentro del fuego haciendo que parezca que sale del mismo.

Espero que les haya servido este tutorial, cualquier duda no duden en comentar y pronto estaremos viendo más efectos en próximos tutoriales, chau!

Sycmasters




Thursday, August 22, 2013

[Tutorial] Efecto de fuego con particulas

En este tutorial veremos cómo crear efectos especiales dentro de nuestros juegos, lo dividiremos en dos partes, empezando con cómo crear fuego mediante el sistema de partículas creando un efecto de fuego para antorchas y la segunda parte será como crear efectos de humo igualmente con partículas.

Para empezar lo que tienes que saber es que lo más importante o el factor más influyente en un efecto como el de fuego usando el sistema de partículas (Shuriken) en Unity, es la textura, podemos cambiar los parámetros de nuestros efectos y hacer que luzca como nosotros queramos, pero si no tenemos una buena textura que defina el diseño de nuestro efecto, no se verá bien por más que queramos.


Dicho esto procederemos, lo primero y más importante es como ya habíamos dicho es tener una textura bien definida. Nosotros usaremos esta en este tutorial pueden descargarla para usarla y seguir este tutorial. 



O pueden crear la textura que quieran, en otro tutorial enseñare como crear una textura para las partículas en Unity.

Ahora crearemos un material para las partículas las cuales vamos a usar para crear nuestro fuego, vamos a la ventana de Project y vamos a Create > Material y vamos a nombrarlo Fire, después en el inspector cambiamos el Shader de Diffuse a Particle > Additive y en el main texture pondremos nuestra textura.

Ahora que ya tenemos nuestro material listo vamos a GameObject > Create Other > Particle System y en la escena tendremos una lluvia de partículas blancas y redondas.


Ahora en el inspector podemos ver el sistema de partículas (Shuriken) todas las opciones para modificar nuestras partículas, para empezar iremos a la parte de abajo del inspector bajando por las opciones hasta encontrar  el Renderer de las partículas, y cambiaremos el material por nuestro material Fire, podremos ver como nuestros puntos blancos cambiar a la forma de nuestra textura, pero ¿todavía no se ve como fuego verdad? Pues bien, aunque nuestra textura es lo más importante, no solo con eso obtenemos nuestro efecto, para eso tenemos que cambiar la configuración de nuestras partículas.



Vamos a poner las siguientes configuraciones para nuestra partícula de fuego.

Particle System



Emision and Shape



Color over Lifetime



1 = Color (Blanco), Alpha (0).
2 = Color (R: 255 - G: 202 - B: 25), Alpha (255).
3 = Color (R: 111 - G: 0 - B: 0), Alpha (255).
4 = Color (Negro), Alpha (0).


Size over Lifetime



Renderer



TIP: si queremos saber para qué sirve cada opción de las partículas simplemente pondremos el mouse sobre la opción sin moverlo y nos aparecerá un cuadro a la par con la explicación.

Ustedes pueden cambiarlo a gusto de ustedes pero esas configuraciones fueron las que me sirvieron más, ya el resto pueden modificarlo a gusto, color, tamaño, textura, la imaginación es el límite!


Bueno espero les haya gustado y servido, vamos a ver otros tipos de partículas y efectos en otros tutoriales, chau!
Sycmasters



Friday, August 9, 2013

[Info] Introducción Básica: Entrada a la Programación

Hola gente, en este post quería dirigirme hacia esas personas que quieren empezar en este mundo de la programación, no estoy tratando de impresionar a nadie o decir que soy el más experimentado programador que van a encontrar, sino que intento esparcir la oportunidad a las personas que tienen un mal momento tratando de entender esto, así que quiero dejarlo lo más simple posible.

También supongo que si estás leyendo esto es porque quieren aprender, y han decidido estudiar este asunto y por lo menos han hecho un poco de investigación por la web sobre cosas muy básicas y algunos significados, dicho esto, vamos a proceder. Voy a empezar algunas cosas muy básicas que pueden encontrar en este blog y puedan preguntarse sobre que es o su significado, cosas como Clases, variables, funciones y cosas así.

Clase: Una clase, poniéndolo en una forma simple, podemos decir que es una plantilla de algún tipo de objeto, que contiene estado descriptivos, datos y funcionalidad de algo que queremos realizar y así poder usarlo después. Este concepto es un poco complicado de entender al principio, así que no se preocupen si no lo entienden ahorita mismo, ya lo veremos después mucho.
Variable: Las variables son un lugar en la memoria donde guardamos algún tipo de dato (Interger, Float, Boolean, String), un ejemplo de esto puede ser una caja, donde guardamos facturas por ejemplo, cuando necesitemos la factura y su información por algún motivo, podemos usar la caja para buscar dicha información.
Constante: Es prácticamente lo mismo que la variable, la diferencia yace en el valor, una variable (como el mismo nombre lo indica) pude cambiar su valor a lo largo del script o el código, pero una constante nunca va a cambiar su valor después de haber sido declarada.
Función: Hay determinados procesos o cálculos que por alguna razón repetimos varias veces, y puede tornarse un poco tedioso el repetirlas una y otra vez, ahí es donde (las súper) funciones vienen a salvarnos, son trozos de código que encapsulan un montón de declaraciones que podemos usar después (mediante un nombre establecido) tantas veces como queramos.
Estructura Condicional: Un script o más complejo aún, un programa, es una tarea complicada, para mantenerla limpia y fácil de manipular, tiene que ser estructurada, pero no puede solamente componerse de operaciones y cálculos exactos, mayormente en videojuegos, nos vamos a encontrar en un punto u otro, una condición que tenemos que llevar a cabo para realizar alguna funcionalidad, dependiendo en un cierto calculo, podemos buscar más de estas estructuras: IF y ELSE.


Creo que esto cubre lo básico por ahora, así no estemos perdidos en algún tutorial cuando lleguemos a estas definiciones, no se preocupen por cosas más complejas que estas por ahora, ya que “aprenderemos en el camino” como siempre digo ;) Aprenderán otras cosas a través de otros tutoriales y posiblemente van a encontrar esto útil y simple. 

~ Sycmasters



[Info] Programación en Unity: Unity JS vs C#

Hola a todos, este post tiene como objetivo el hacer una introducción a ambos de los lenguajes más usados cuando estamos programando en el motor de juegos Unity3D, todos sabemos (y si no ahora si lo sabemos) que Unity nos permite manipular código en tres lenguajes diferentes de programación: Boo (la cual es una referencia a Python), C# y Javascript (conocido también como Unityscript).

En este pos como dijimos antes, solo vamos a ver ambos de los lenguajes más populares, C# y Javascript, así como se ha visto en diferentes foros, sitios web y así, esos son los más usados.

Primero que todo vamos a hablar sobre Javascript, cuando hablamos de Javascript o Unityscript, no nos estamos refiriendo a el mismo lenguaje web exactamente, pero no vamos a detenernos mucho a reflexionar sobre esto, dicho esto, cuando apenas están usando Unity, esta puede ser su mejor opción para empezar, por qué? Les dejo unos puntos del por qué deberían usar Javascript cuando están apenas empezando:

1)      Es más flexible: si están más relacionados en un ambiente de programación, saben que hay diferentes tipos de variables para diferentes usos, en Javascript cuando declaran una variable puedes o no declarar el tipo de variable que estamos usando, entonces a como el código se va extendiendo, Unity, va a descifrar por sí mismo para nosotros, así que si estamos haciendo algo mal, Unity, no va a ser una molestia e incluso var a averiguar la forma correcta de arreglar cualquier cosa que esté mal.
 2)      Es un poco más fácil de entender y manejar: Ya que no es tan estricto (como en el caso de C#) podemos seguir una línea más entendible en nuestro código, a esto se le llama Tipado Dinámico, el único problema es que podría correr un poquito más lento ya que Unity tiene que descifrar dinámicamente todas las cosas que dejamos en blanco.
 3)      Más soporte en la Guía de codificación: Cuando vemos la guía o referencia de código que viene con Unity, todo bien ejemplificado con Javascript como predeterminado (coincidencia?) pero podemos cambiarlo a ya sea C# o Boo, pero cuando nos adentramos más profundamente en la referencia podemos notar que hay algunas cosas que solo vienen documentadas en Javascript.

Ahora vamos con C#, ok?

C# es un lenguaje muy conocido más que todo en software como el Visual Studio, donde lo usamos en plataforma Microsoft, es prácticamente la misma cosa y es más fácil de usar cuando queremos usar las librerías MSDN (para las personas que están más acostumbradas a estos ambientes), si estamos más involucrados en la programación previamente podremos usar como mejor opción C#, vamos a ver algunos puntos:

1)      Menos flexible pero más características: Con C# podemos manipular mucho más datos  que en  Javascript (cosa que se ha estado mejorando últimamente) y podemos usar características más llamativas usando esto como un puente para comunicar algún tipo de dato externo en el cual no se podría usando Javascript.
 2)      Más estricto pero más exacto: Como C# es más estricto, y tenemos que escribir todas los tipos de variables y funciones, no hay oportunidades para el error, todo error de escritura o errores funcionales en el código se nos van a advertir antes de que empecemos a correr nuestro código, por ejemplo, cuando intentamos convertir un tipo de variable a otro y lo hacemos mal, nos va a dar un mensaje en la consola diciéndonos que es lo que estamos haciendo mal.
 3)      Más acceso al System tools: Este punto es más para personas que están ya involucradas con la programación, podemos tener acceso a características más avanzadas, como se había dicho antes, para comunicarnos con cosas externas a Unity.


Bien ahora que hemos visto ambas con algunas pocas características, algunos de ustedes se preguntaran cosas como es C# más estricto que Javascript y cosas como declaraciones y cosas así, vamos a ver unos ejemplos:




Lo primero es que podemos ver en la ventana de C# (arriba) que hay una “Clase” escrita y visible ahí y que en la ventana de  JS (abajo) no está, eso es porque Unity automáticamente crea una clase escondida usando el mismo nombre del script, al contrario de C# donde tenemos que declarar dicha clase, eso nos puede dar una mala pasada para mucho de los nuevos usuarios por que por eso, no podemos usar un script que tenga un nombre diferente que el nombre de la clase que declaramos dentro (así que olvidémonos de copiar y pegar un script entero sin recibir ningún error ;) ).

Otro ejemplo es en las funciones que vemos ahí, podemos notar que en C# tenemos primero que escribir el tipo de valor retornado por la función, por ejemplo vacío o void (significa que no nos regresa ningún valor) o el de Bool, después de esto escribimos el nombre de la función (y lo mismo para el parámetro de adentro). Pasa exactamente lo mismo con las variables, pero en Javascript podemos ver que para crear una variable solamente tenemos que escribir la palabra “var” y no es necesario escribir el tipo de variable que estamos declarando (como lo hemos hecho con la variable “started”).

Otra diferencia es que en Javascript el tipo de variable predeterminado es una variable “pública”, eso significa que podemos ver el valor de la variable en el inspector de Unity y usarlas mediante otros scripts, para hacerla privada (que solo sea usada en este script y esconderla del inspector) tenemos que escribir “private var”, al contrario de C# donde el predeterminado es una variable privada en vez de pública, y tenemos que escribir la palabra “pública” seguido del tipo de valor que estamos usando.

Entonces para terminar este post, hagámonos una pregunta: Debería elegir Javascript o C# como lenguaje de programación?

Bien, no hay una respuesta correcta para esta pregunta, pero lo que puedo sugerir es que si solo están empezando en todo esto de la programación, Javascript, puede ser mucho más fácil para empezar, y no significa que no puedan empezar con C# solo es una sugerencia y mi punto de vista para facilitar más las cosas. Y si ya tienen el conocimiento o están más adentrados en esto de la programación y quieren lograr efectos más avanzados y llamativos, sugiero que intenten con C# pero la mejor práctica que pueden realizar es tomar un script y traducirlo de un lenguaje a otro, como si fuera de Ingles a Español y viceversa.

Bien, espero que esto haya sido de ayuda para ustedes y puedan encontrar su camino para empezar a programar en Unity3D, sigan visitando este blog para encontrar más ayuda (esperemos) en otros tipos y guas para ustedes. 

~ Sycmasters


[Noticia] Bienvenidos al mundo oculto entre las sombras

Este es un nuevo intento de ingresar al mundo de los videojuegos desde una perspectiva que puede ser diferente a otras, o puede ser igual, es un secreto total! Somos las personas detrás de las sombras, gamers, desarrolladores, geeks, todas las personas que puedan entrar en la descripción pasada.

Nosotros disfrutamos de los videojuegos y todo lo relacionado a ellos, disfrutamos al jugarlos, haciéndolos, probándolos y mucho más. Podemos revelar mucho material en este sitio, mucho de lo cual se ha visto ya, otro tal vez pueda ser la luz que ilumine nuestra mente. Pero odiamos ser tan técnicos sobre estas cosas, hemos revisado otros blogs, sitios y cosas así que son hechas para las personas que están más adentradas en los juegos más que en las personas casuales que pueden estar queriendo entrar en este mundo, así que preferimos simplificar las cosas.


Dicho eso, lo único que queda ahora es empezar con este blog esperando que puedan encontrarlo útil o por lo menos muy divertido para pasar el rato, ahora mejor tomen asiento porque esto puede ponerse un poco sangriento!

~ Sycmasters