javascript - Three.js - 开启照明阴影

标签 javascript three.js light

我有几个以 json 格式导入的 3D 对象,这些对象已被分组以作为一个对象进行回答。有什么办法可以让这个物体完全没有阴影吗?我只是希望用户看到的对象尽可能干净。 这是一些代码:

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);   

}

谢谢!

最佳答案

您可以将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);   
}

关于javascript - Three.js - 开启照明阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33956515/

相关文章:

javascript - 如何在模态对话框中设置 'select' 列表 - Meteor?

javascript - 由于 jQuery 问题,实现 Disqus 插件时出现问题

android - 通知已触发时显示灯

c++ - OpenGL:一个简单的过剩立方体没有光

c - 如何在勒克斯和曝光值之间进行转换?

javascript - 使用点击事件在控制台日志中显示响应

javascript - 对于不区分大小写的 jQuery :contains selector?,有什么方法可以加快此解决方案的速度

javascript - 如何在三个JS中显示球形网格助手

three.js - Cannon JS Collision 检测力的大小

Three.js 对象在纹理加载之前是黑色的 - 我可以更改此行为吗?