Próbuję dołączyć prosty obraz na siatce PlaneGeometry, ale wygląda na to, że nie działa.Obraz wkładki Three.js
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);
};
To mój pełny plik JavaScript z płótnie 580x300
widzę tylko czarny kwadrat ilekroć go uruchomić. jakieś pomysły? Dzięki!
tutaj jest mój odniesienia dla tych, którzy jej potrzebują:
http://www.html5canvastutorials.com/webgl/html5-canvas-webgl-texture-with-three-js/
Obraz nadal nie jest załadowany. Ale dodając ten fragment kodu, poprosimy o serwer dwa razy ten sam obraz. –
Wygląda na to, że 'THREE.ImageUtils.loadTexture' został przestarzały na rzecz' new THREE.TextureLoader(). Load'. –
Działa w moim środowisku dzięki. Ale lepiej dodać podwójną stronę dla łatwiejszego celu oglądania –