2017-08-04 21 views

回答

1

首先,您引用的three.js示例中的“物理灯光”指的是基于物理的光强度单位和基于物理的光线衰减。它注意到你看到的文物。

由于光影相机的平截面的近平面被设置为其默认值0.5,因此存在伪像。

默认情况下,在three.js中,阴影由对象的背面投射。所以一旦灯光的位置距离阴影投射墙的背面接近0.5个单位,你就会看到你所指的工件。

three.js所r.86

+0

所以如果我想将光源附加到墙上,这个值应该小于壁厚。我对么?我应该为此改变什么样的财产? – jonarya

+0

1.是的。 2.'light.shadow.camera.near'。它必须大于0。 – WestLangley

2

它看起来像第二壁不接受阴影......请你展示的代码?最重要的是,如何创建灯光和墙壁。

+0

我已经添加了链接(例如threejs_physical_light)。我没有运气就像你说的那样。 – jonarya

+0

在这个特定的例子中,你链接你需要这样做: 'boxMesh.receiveShadow = true;在将其添加到场景之前,需要输入“ ”。 – Scharnvirk

+0

它不起作用,我用这个创建了一个jsfiddle。 https://jsfiddle.net/jonarya/71jyhfsq/1/ – jonarya