2015-11-27 4 views
0

У меня есть несколько 3D-объектов, импортированных в json-формате, которые были сложены, чтобы отвечать как один объект. Есть ли способ осветить этот объект NO NO тенями? Я просто хочу, чтобы объект был видимым пользователем, так же чистым, как и он. Вот код:Three.js - Поворот теней при освещении

function initMesh(x, y, z) { 
group = new THREE.Object3D(); 
var loader = new THREE.JSONLoader(); 
loader.load('vasi.js', function(geometry, materials) { 
    mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    mesh.scale.x = x; 
    mesh.scale.y = y; 
    mesh.scale.z = z; 
    mesh.opacity=1; 
    var model = new THREE.Object3D(); 
    model.add(mesh); 
    model.position.set(0,0,0); 
    //mesh.translation = THREE.GeometryUtils.center(geometry); 
    group.add(model); 
}); 
loader.load('mikrespleures.js', function(geometry, materials) { 
    mesh1 = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    mesh1.scale.x = x; 
    mesh1.scale.y = y; 
    mesh1.scale.z = z; 
    mesh1.opacity=1; 
    var model1 = new THREE.Object3D(); 
    model1.add(mesh1); 
    model1.position.set(0,0,0); 
    //mesh1.translation = THREE.GeometryUtils.center(geometry); 
    group.add(model1); 
}); 
loader.load('megalespleures.js', function(geometry, materials) { 
    mesh2 = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    mesh2.scale.x = x; 
    mesh2.scale.y = y; 
    mesh2.scale.z = z; 
    mesh2.opacity=1; 
    var model2 = new THREE.Object3D(); 
    model2.add(mesh2); 
    model2.position.set(0,0,0); 
    //mesh1.translation = THREE.GeometryUtils.center(geometry); 
    group.add(model2); 
}); 
scene.add(group);} 

function initLights() { 
var light; // A light shining from the direction of the camera. 
light = new THREE.DirectionalLight(); 
light.position.set(0,100,10); 
group.castShadow = false; 
group.receiveShadow = false; 
scene.add(light); 

}

Спасибо!

ответ

1

Вы можете установить для параметра castShadow и receiveShadow значение false.

function initMesh(x, y, z) { 
group = new THREE.Object3D(); 
var loader = new THREE.JSONLoader(); 
loader.load('vasi.js', function(geometry, materials) { 
    mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    mesh.scale.x = x; 
    mesh.scale.y = y; 
    mesh.scale.z = z; 
    mesh.opacity=1; 
    mesh.castShadow = false; 
    var model = new THREE.Object3D(); 
    model.add(mesh); 
    model.position.set(0,0,0); 
    //mesh.translation = THREE.GeometryUtils.center(geometry); 
    group.add(model); 
}); 
loader.load('mikrespleures.js', function(geometry, materials) { 
    mesh1 = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    mesh1.scale.x = x; 
    mesh1.scale.y = y; 
    mesh1.scale.z = z; 
    mesh1.opacity=1; 
    mesh1.castShadow = false; 
    var model1 = new THREE.Object3D(); 
    model1.add(mesh1); 
    model1.position.set(0,0,0); 
    //mesh1.translation = THREE.GeometryUtils.center(geometry); 
    group.add(model1); 
}); 
loader.load('megalespleures.js', function(geometry, materials) { 
    mesh2 = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
    mesh2.scale.x = x; 
    mesh2.scale.y = y; 
    mesh2.scale.z = z; 
    mesh2.opacity=1; 
    mesh2.castShadow = false; 
    var model2 = new THREE.Object3D(); 
    model2.add(mesh2); 
    model2.position.set(0,0,0); 
    //mesh1.translation = THREE.GeometryUtils.center(geometry); 
    group.add(model2); 
}); 
scene.add(group); 
} 

function initLights() { 
var light; // A light shining from the direction of the camera. 
light = new THREE.DirectionalLight(); 
light.position.set(0,100,10); 
group.castShadow = false; 
group.receiveShadow = false; 
scene.add(light); 
} 
+0

Hello Shreyas благодарит за ваши усилия! То, что вы мне сказали, не работает в моем коде. Я пересмотрел свой вопрос, чтобы вы могли помочь мне найти то, что я делаю неправильно. –

+0

Я думаю, что вы должны применять линии выше не к группе, а к сеткам внутри этой группы. – kaigorodov

+1

Изменили свой ответ, чтобы включить ваш код. – Shreyas

Смежные вопросы