Здравствуйте! Вот, учился управлять источниками света. Все очень просто, надо сделать так, что тень с куба падала на поверхность, но вот не выходит.... cube.receiveShadow = true; cube.castShadow = true; этими методами я по идее заставляю куб отражать свет и отбрасывать тень, вот код:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 0.1, 10000);
camera.position.z = 400;
camera.position.y = 10;
var light = new THREE.SpotLight();
light.position.set(-1000,300,0);
light.castShadow = true;
scene.add(light);
/*var plane = new THREE.Mesh(new THREE.PlaneGeometry(400,200,100,100), new THREE.MeshLambertMaterial({color: 0x008cf0}));
plane.position.y = -85;
plane.receiveShadow = true;
scene.add(plane);*/
var geometry = new THREE.PlaneGeometry(400,200,100,100);
var material = new THREE.MeshLambertMaterial({color: 0x008cf0});
var plane = new THREE.Mesh(geometry, material);
plane.position.y = -85;
plane.rotation.x = -Math.PI/2;
plane.receiveShadow = true;
scene.add(plane);
var geometry1 = new THREE.CubeGeometry(45,45,45);
var material1 = new THREE.MeshLambertMaterial({color: 0x00ff00});
var cube = new THREE.Mesh(geometry1, material1);
cube.position.y = -60;
cube.receiveShadow = true;
cube.castShadow = true;
scene.add(cube);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
renderer.ShadowMapEnabled = true;
var render = function () {
requestAnimationFrame(render);
cube.rotation.y+=0.01;
renderer.render(scene, camera);
};
render();
Никак не могу понять, почему же нет тени???