Non capisco perché l'illuminazione non funzioni nel mio codice. Ho scaricato un OBJ semplice. file per testare OBJLoader ma il modello non è interessato. Prima di modificare l'illuminazione di più, almeno l'illuminazione ambientale funzionava. Forse l'OBJ. il modello ha bisogno di una trama?Perché l'illuminazione non funziona in Three.js?
var container, stats;
var camera, scene, renderer, controls;
init();
animate();
function init() {
container = document.createElement('div');
document.body.appendChild(container);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 1, 2000);
camera.position.z = 2.5;
scene.add(camera);
controls = new THREE.TrackballControls(camera);
controls.rotateSpeed = 2.0;
controls.zoomSpeed = 1.2;
controls.panSpeed = 0.0;
controls.noZoom = false;
controls.noPan = true;
controls.staticMoving = true;
controls.dynamicDampingFactor = 0.3;
controls.keys = [ 65, 83, 68 ];
controls.addEventListener('change', render);
var ambient = new THREE.AmbientLight(0x020202);
scene.add(ambient);
directionalLight = new THREE.DirectionalLight(0xffffff);
directionalLight.position.set(1, 1, 0.5).normalize();
scene.add(directionalLight);
pointLight = new THREE.PointLight(0xffaa00);
pointLight.position.set(0, 0, 0);
scene.add(pointLight);
sphere = new THREE.SphereGeometry(100, 16, 8);
lightMesh = new THREE.Mesh(sphere, new THREE.MeshBasicMaterial({ color: 0xffaa00 }));
lightMesh.scale.set(0.05, 0.05, 0.05);
lightMesh.position = pointLight.position;
scene.add(lightMesh);
var loader = new THREE.OBJLoader();
loader.load("originalMeanModel.obj", function (object) {
scene.add(object);
});
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
}
function animate() {
requestAnimationFrame(animate);
controls.update();
}
function render() {
camera.lookAt(scene.position);
renderer.render(scene, camera);
}
Puoi condividere il file obj si sta cercando di caricare? – mrdoob
È l'illuminazione che non funziona affatto? O solo ombre? Puoi avere un'illuminazione direzionale senza ombre reali proiettate dagli oggetti. –