viernes, 29 de abril de 2011

Crear un GIF en Unity3D

Cómo sabemos Unity3D no tiene compatibilidad con flash (no es algo de preocuparse) aunque sería muy bueno sin tener que usar códigos raros.
Podemos crear texturas animadas sin tener que poner videos (cuando se usa la versión Indie).

El código es el siguiente:

-----------------------------------------------------------------

var frames : Texture2D[];
var framesPorSegundo = 10.0;
function Update () {
var index : int = Time.time * framesPorSegundo;
index = index % frames.Length;
renderer.material.mainTexture = frames[index];
}

-----------------------------------------------------------------

Copia y pega el código en un nuevo Js.
Al agregar a nuestro objeto tendremos las siguientes variables:

En frames:
-Size: Aquí aumentamos el número de fotogramas, por ejemplo 5.
-Aplicaremos cada gráfico en su orden correspondiente a los Elements.

-Frames por segundo: Éste será la velocidad de reproducción.

Funciona muy bien para objetos animados como luces que parpadean o chispas de electricidad, circuitos, caras de personajes etc. y es más fácil de realizar que con un sprite.

martes, 26 de abril de 2011

Descargar objetos en Unity3D con MeshSerializer2



Bien pues ahora resolveré una de las dudas que tenían mis alumnos al querer descargar modelos en tiempo real desde Unity3D.
Lo primero que necesitamos será descargar el siguiente package: http://www.unifycommunity.com/wiki/images/3/31/MeshSerializer2.zip

Vámos por pasos:
1.-Importamos el package en unity importando todo su contenido en una carpeta nueva.
2.-Agregamos el script "SaveMeshForWeb.js" a nuestro objeto
3.-Cambiamos desde el Inspector el nombre "SerializedMesh.data" por "tuobjeto.data" (respetando la extensión .data).
4.-Ponemos Play y notaremos que se ha creado un nuevo asset en nuestro proyecto llamado "tuobjeto.data".

Listo, este nuevo objeto lo subiremos a nuestro servidor quedando algo así:
(ejemplo) http://www.tupagina.com/tuobjeto.data

Ahora para leer haremos lo siguiente:

1.-Creamos un espacio de descarga como un box común y corriente.
2.-Le asignaremos el script "LoadMeshFromWeb.js".
3.-Cambiaremos la url del script a la dirección de tu objeto: http://.........../tuobjeto.data
4.-Dejaremos la opción "MeshRenderer" activada en el box, sólo se verá en el editor pero al descargar el modelo se cambiará automaticamente por el objeto descargado. Es importante que la escala del box sea: 1,1,1. También puede que tengamos que darle vuelta.

Ahora bien, el objeto se visualizará con un material gris, lo cual no nos sirve.
Previamente tendremos que realizar mapeo UV de nuestro objeto con una sola textura (no importa el tamaño). Y deberemos colocarla en el servidor quedando algo así:
http://www.tupagina.com/mapasuv.jpg

Seleccionamos nuestro box y agregamos también el siguiente código en un nuevo Js:


---------------------------------------------------------------------------------

//descargar texturas///////////////////////
var url = "http://www.tupagina.com/mapasuv.jpg";
function Start () {
var www : WWW = new WWW (url);
yield www;

renderer.material.mainTexture = www.texture;
}


---------------------------------------------------------------------------------

Esto me dió resultado a mí pero experimentar no cuesta nada.

sábado, 23 de abril de 2011

Crear un video OGV en Unity3D

Despues de buscar por todas partes (y sin encontrar la respuesta exacta) me dí a la tarea de investigar la forma más sencilla de pasar un video adaptado a juegos de video, es el formato llamado OGV de Vorbis. Este formato ocupa muy poco espacio y tiene muy buena calidad.
Lo primero será enviar el video al programa "Format Factory" (recomiendo este ya que otros se traban):

Cuidando el formato a transformar "*.Mov", de preferencia no modificar la calidad, despues se hará esta parte.



Importar el nuevo *.Mov a los assets de nuestro proyecto en Unity.



Seleccionar la película y en el menú "Assets" seleccionar "Export Compressed Audio File" (no importa que diga audio, finalmente lo reconoce como video).



Y listo, ya tendremos un video en formato OGV, sólo queda importar éste a la carpeta del proyecto y eliminar el Mov anterior.

Ahora si, al importar el nuevo OGV podremos modificar su calidad disminuyendo el peso, yo normalmente lo dejo en O ó 0.01 cuando no se mostrarán a pantalla completa y que solo son parte de mis objetos como televisiones o celulares etc.


viernes, 22 de abril de 2011

Leer txt en Unity3D desde internet



Ahora si....
Entremos de lleno con programación Js. Este código ayudará a leer un archivo txt de manera sencilla dentro de un GuiText en Unity3D:


-----------------------------------------------------


//creado por Carlos Rubio, Ngexo Sistemas en Realidad Virtual//////////////
var www : WWW;
var texto : String;
var guitt : GameObject;
var url = "http://tupagina/tuarchivo.txt";

function Start(){
www = new WWW(url);
yield www;
texto = www.text;
guitt.guiText.text = (texto);
yield WaitForSeconds (20);
guitt.guiText.text = ("");
}


----------------------------------------------------------------------------



Lo que hace: Descarga el contenido de un txt (respetando espacios), despues de 20 segundos quedará en blanco.


Instalación: Copiar código y pegar en un nuevo JavaScript, arrastrar en un GameObject, arrastrar el GuiText dentro de la variable "Guitt".

miércoles, 20 de abril de 2011

Rio de DreamWorks




Hoy tuve la oportunidad de ir al cine con una de mis mejores amigas y disfrutar de la nueva película de DreamWorks "Rio".


Sinceramente increíble hablando en animación 3D, sobre todo por los rasgos faciales en las personas, actuación, la ropa y los entornos de Brazil.


Peroooooo.... una porquería en el doblaje, me recordó a las pésimas caricaturas de el chavo animado del naco millonario de chespirito o la porquería de "la leyenda de la nahuala". Y adjunto la opinión de mi amiga: Detesto los musicales en las películas jaja.


La verdad detesto que usen palabras como "chido, carnalito, no manches, de pelos" etc. en este tipo de películas. Sólo son usadas como un refuerzo barato para hacer reír a la gente. También me recordó al pésimo doblaje de "Robots o Shark Tale".




Creo que DreamWorks debe de cuidar sus doblajes para llegar a un humor (no forzado) de pixar. Incluso Disney Animation Studios también llega a tener un humor pesado en sus películas.


No sé si el mercado infantil acepta bien este humor barato porque las películas llegan y se van sin quedar en la mente de los niños; sin embargo, películas como ToyStory o Walle se quedan.



Por otra parte se vé claramente el uso de la nueva tecnología Ptex en las texturas de los modelos. Y esperando hasta el final, en los créditos se nota el reparto de producción (que son pocos) como animadores, modeladores, iluminadores etc.

Por ahí note algún error de continuidad pero mínimo. En conclusión una película bien trabajada con buena iluminación y fotografía... Ah pero con un pésimo doblaje al muy barato estilo chespirito (detestable).















martes, 19 de abril de 2011

Iray en 3ds max 2012

Pues ahora salió una nueva tecnología en el mundo de la animación 3D, un nuevo motor de render llamado Iray adaptado en 3ds max 2012. Qué tiene de nuevo?, pues básicamente no hay configuraciones ni nada, solo la opción de decidir cuál será el tiempo de render que quieres.

Es impresionante el avance tecnológico en software pero también es repugnante para los que nos dedicamos a ésto y que hemos estudiado por años. Porque?, pues porque ya cualquier mocoso podrá realizar renders con calidad realista, cualquiera podrá ofrecer sus servicios como animador y modelador sin previos estudios.



La verdad... Autodesk se pasaron... Dejarán que cualquier escuincle de secundaria venda hiper-realismo????.


Y no tengo nada en contra de los chavos que quieren estudiar animación 3D, pero ya no tendrán la oportunidad (por flojera) de aprender lo escencial como MentalRay o iluminación global, etc etc etc.



Que alguien me explique la complejidad de ésto:

Sinceramente, me quedaba con la versión 2010.

Y por cierto... no se dice "tridimax", se dice "tridiesmax".


No me imagino (bueno si) a un chamaquito preparatoriano bajando archimodels con todo y texturas, renderizando en iray y vendiendo un proyecto profesional. PATÉTICO.

viernes, 1 de abril de 2011

Nuevo seminario en Autodesk Maya

La Universidad Cuauhtémoc en Querétaro ha sacado el nuevo seminario en Autodesk Maya en donde se ven temas escenciales para proyectos en Animación 3D. Esperemos que estos diplomados sigan creciendo para tener un mayor mercado en la industria, no sólo en videojuegos sino en proyectos arquitectónicos (los arquitectillos en Querétaro son muy chafas, no salen de sus maquetas de cartón) y no se diga en las televisoras locales. Actualmente no hay empresas que hagan series animadas (y si las hay, sepa donde están) y no me digan ---pues el chavo del 8!!!!!--- porque eso es una porquería. No hay modeladores, no hay texturizadores ni mucho menos animadores. Es buen tiempo para aprender algo diferente y tecnológico, aprovechen...