Alguien a usado three-js y opencollada antes?
Hola. Soy un diseñador 3D que está haciendo su primer juego en thre.js y me gustaría tener alguien que me pueda ayudar. Estoy usando OpenCollada plugin para poder hacer que mis escenarios exportados funcionen, pero soy bastante nuevo en este tema, y me gustaría alguien que sea familiar con el proceso que me pueda ayudar a importar todos los modelos correctamente para qué pueda usarlos correctamente en Thre.js. Gracias de antemano.
Alguien a usado three-js y opencollada antes?
La explicación de la carga del modelo esta incluida en los comentarios del código:
<script type=text/javascript src=js/jquery-1.8.2.min.js></script>.
<script type=text/javascript src=js/threlast.js></script>.
<.--Cargamos el Loader de Collada -->.
<script type=text/javascript src=js/ColladaLoader.js></script>.
<script type=text/javascript>.
Var grados = 0;.
Var ancho = 800.
Alto = 600;.
Var ángulo = 30.
Ratio = ancho / alto.
Cerca = 0.1.
Lejos = 10000;.
Var escenario = $(#escenario);.
Var miRender = new THRE.WebGLRenderer();.
Var miCámara = new THRE. PerspectiveCamera(ángulo, ratio, cerca, lejos);.
Var miEscena = new THRE. Scene();.
MiRender, shadowMapEnabled = true;.
MiCamara, position.x = 0;.
MiCamara, position, y = 400;.
MiCamara, position, z = 400;.
MiRender, setSize(ancho, alto);.
Eje = new THRE. AxisHelper();.
Eje, scale, set(100,100,100);.
Escenario, append(miRender, domElement);.
Var material = new THRE. MeshLambertMaterial({color: 0xebebeb});.
/* SUELO */.
Var suelo = new THRE. Mesh(new THRE. CubeGeometry(400, 20, 400), material);.
Suelo, position.x = 0;.
Suelo, position, y = 0;.
Suelo, position, z = 0;.
Suelo, castShadow = suelo, receiveShadow = true;.
/* MODELO */.
Var modelo;.
//Creamos el objeto ColladaLoader.
Var cargador = new THRE. ColladaLoader();.
//ConvertUpAxis corrige la orientación del modelo usando el plano XZ.
//como base, en lugar del XY que por defecto usa Collada.
Cargador, options, convertUpAxis = true;.
//El método load recibe dos parámetros: la url del modelo y una función.
//que hace de callbak una vez cargado.
Cargador, load(./models/laevatein, dae.
Function(collada){.
Modelo = collada, scene;.
//Ajustamos la escala del elemento.
Modelo, scale, set(0.1,0.1,0.1);.
//Ajustamos la posición.
Modelo, position, set(0,0,0);.
//Lo añadimos a la escena.
MiEscena, add(modelo);.
//Enfocamos la cámara hacia él.
MiCamara, lokAt(modelo, position);.
$(.cargando), hide();.
//Animamos la cámara.
Animar(new Date(), getTime());.
});.
/* LUZ */.
Var luzAmbiental = new THRE. AmbientLight(0x444444);.
Var luz = new THRE. SpotLight(0xF);.
Luz, position.x = 0;.
Luz, position, y = 400;.
Luz, position, z = 400;.
Luz, castShadow = true;.
MiEscena, add(eje);.
MiEscena, add(luz);.
MiEscena, add(luzAmbiental);.
MiEscena, add(miCamara);.
/* Esta función sólo realiza un movimiento de.
Rotación de la cámara alrededor de nuestro modelo */.
Function animar(t){.
Grados += 1;.
Rad = grados * Math. PI/180;.
Var _x = Math, sin(rad) * 400;.
Var _z = Math, cos(rad) * 400;.
MiCamara, position.x = _x;.
MiCamara, position, z = _z;.
MiRender, render(miEscena, miCamara);.
MiCamara, lokAt(modelo, position);.
window.requestAnimationFrame(animar, miRender, domElement);.
}.
</script>.
- Se more at: http://www.Antonionavajas.com/blog/c... AFH9bGdS.dpuf.
Alguien a usado three-js y opencollada antes?
Genial, muchas gracias, me pondré a ello.