Three.js 三道物理光越过墙

Three.js 三道物理光越过墙,three.js,Three.js,我刚接触三个js。尝试实现物理照明,我尝试了这个例子 我的问题是,为什么光会越过砖墙?我怎样才能防止这种情况?(在该示例中,我更改了墙的大小) 看起来第二堵墙不接受阴影。。。请出示密码好吗?最重要的是,灯光和墙是如何创建的。首先,您提到的three.js示例中的“物理灯光”指的是基于物理的灯光强度单位和基于物理的灯光衰减。它与您看到的工件无关 之所以存在瑕疵,是因为灯光阴影摄影机的平截头体的近平面设置为其默认值0.5 默认情况下,在three.js中,阴影由对象的背面投射。因此,一旦灯光的位置距

我刚接触三个js。尝试实现物理照明,我尝试了这个例子

我的问题是,为什么光会越过砖墙?我怎样才能防止这种情况?(在该示例中,我更改了墙的大小)


看起来第二堵墙不接受阴影。。。请出示密码好吗?最重要的是,灯光和墙是如何创建的。

首先,您提到的three.js示例中的“物理灯光”指的是基于物理的灯光强度单位和基于物理的灯光衰减。它与您看到的工件无关

之所以存在瑕疵,是因为灯光阴影摄影机的平截头体的近平面设置为其默认值0.5

默认情况下,在three.js中,阴影由对象的背面投射。因此,一旦灯光的位置距离阴影投射墙的背面小于0.5个单位,您将看到所指的瑕疵


three.js r.86

我在示例中添加了链接(threejs_physical_light)。我按照你说的做了,但运气不好。在这个特定的例子中,你链接了,你需要这样做:
boxMesh.receiveShadow=true添加到场景之前。它不起作用,我用它创建了一个JSFIDLE。老实说,我不知道这有什么问题。我做了一把小提琴,更准确地说明了这个问题。。。因为阴影通常有效,除非光源离物体太近。奇怪。所以,这似乎是一个错误。不是吗?OP的小提琴:工作版本,所以如果我想把光源连接到墙上,这个值应该小于壁厚。我说得对吗?我应该换什么样的房子。对2. <代码>灯光.阴影.摄像头.近
。它必须大于0。