【发布时间】: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