Estoy intentando adjuntar una imagen simple en una Malla PlaneGeometry pero parece que no funciona.Three.js insertar imagen
window.onload = function(){
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// camera
var camera = new THREE.PerspectiveCamera(95, window.innerWidth/window.innerHeight, 1, 1000);
camera.position.y = -250;
camera.position.z = 400;
camera.rotation.x = 45 * (Math.PI/180);
// scene
var scene = new THREE.Scene();
var img = new THREE.MeshLambertMaterial({
map:THREE.ImageUtils.loadTexture('img/front.jpg')
});
// plane
var plane = new THREE.Mesh(new THREE.PlaneGeometry(200, 200),img);
plane.overdraw = true;
scene.add(plane);
// add subtle ambient lighting
var ambientLight = new THREE.AmbientLight(0x555555);
scene.add(ambientLight);
// add directional light source
var directionalLight = new THREE.DirectionalLight(0xffffff);
directionalLight.position.set(1, 1, 1).normalize();
scene.add(directionalLight);
// create wrapper object that contains three.js objects
var three = {
renderer: renderer,
camera: camera,
scene: scene,
plane: plane
};
renderer.render(scene,camera);
};
Este es mi archivo javascript completa con un lienzo de 580x300
sólo veo un cuadrado negro cuando lo ejecuto. ¿algunas ideas? ¡Gracias!
aquí es mi referencia para aquellos que lo necesitan:
http://www.html5canvastutorials.com/webgl/html5-canvas-webgl-texture-with-three-js/
La imagen aún no está cargada, de hecho. Pero al agregar esa pieza de código, va a pedir la misma imagen dos veces al servidor. –
Parece que 'THREE.ImageUtils.loadTexture' ha quedado en desuso en favor de' new THREE.TextureLoader(). Load'. –
Funciona en mi entorno gracias. Pero mejor agregar doble lado para un propósito de visualización más fácil –