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:
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.
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.
Que tal, ud es profesor o imparte clases del manejo de Unity3D ??
ResponderEliminar