【问题标题】:PointLight affecting only one model, and not all the scenePointLight 只影响一个模型,而不是所有场景
【发布时间】:2014-06-25 17:02:04
【问题描述】:

我在场景中放置了一些点光源,并添加了一些墙壁(从搅拌机导出)(迷宫类型)以及地板和天花板(两者都从搅拌机以与墙壁相同的方式导出,并以与墙壁相同的方式在 three.js 中编码);问题是灯光只影响墙壁,天花板是黑色的,没有任何光线。我错过了什么吗?有人可以解释为什么我会出现这种奇怪的行为吗?

谢谢你的答案,但问题不在于双面(或者我设置错误)。这是天花板和地板的代码,也许可以帮助找出问题所在(天花板是黑色的,没有任何现有光源的迹象,地板都是用相同的光线纹理化的,好像有一个ambientLight):[另一方面,墙壁上的照明效果很好,很好,灯光位置有点乱,但它可以工作,所以我稍后再处理]

function initCeiling () {
    var loader = new THREE.ColladaLoader();
    loader.options.convertUpAxis = true;
    loader.load( 'models/ceiling.dae', function ( collada ) {
        var colladaCeiling = collada.scene.children[0]
        colladaCeiling.name = "ceiling";
        colladaCeiling.material.needsUpdate = true;
        colladaCeiling.material.side = THREE.DoubleSide;
        colladaCeiling.material.wireframe = false;
        colladaCeiling.position.set(0,2.5,0);
        colladaCeiling.scale.set(2,2,2);
        scene.add( colladaCeiling );
        } );
    }

function initFloor () {
    var floorTexture = new THREE.ImageUtils.loadTexture( 'textures/floor.jpg' );
    floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping; 
    var floorMaterial = new THREE.MeshBasicMaterial( { map: floorTexture, side: THREE.DoubleSide } );
    var floorGeometry = new THREE.PlaneGeometry( 45, 44.5 );
    var floor = new THREE.Mesh( floorGeometry, floorMaterial );
    floor.position.x = 6;
    floor.position.y = -2;
    floor.position.z = -22.25;
    floor.rotation.x = Math.PI / 2;
    scene.add( floor );
    }

【问题讨论】:

  • 对Skatox、spencer7593、RyPeck:你只能批评别人?我并不愚蠢,我知道在第一个评论(乔尔的)之后,我的回答不应该已经存在。而不是帮助(因为这是 StackOwerflow 的目的),你只是想批评并且不做任何建设性的事情。应该禁止像您这样的人访问此类网站

标签: three.js


【解决方案1】:

默认情况下,three.js(和 webgl)中的表面不是双面的。因此,您必须小心在场景中放置灯光的位置和方式。但也要注意,场景中放置的灯光越多,渲染所需的时间就越长。

话虽如此,您要么将模型的表面更改为双面(通过将side: THREE.DoubleSide 添加到您的材质中轻松完成),要么在场景中添加更多灯光。

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多