Threejs:glb文件反映环境但不反映自身

Threejs: glb file reflect the environment but not itself

在threejs中,我成功导入并显示了一个房子的glb文件(房子有两层,每层有各种物体,其中有椅子,一些桌子,厨房等,如真正的房子)。我的问题是我能够让房子和它的物体反射环境光,但我不能让房子的物体反射它们自己。我的最终目标是实现一些实时光线追踪,但在这一点上我很乐意只生成一些实时反射,除了环境光之外还反射房子的其他物体。与阴影相同。

我还没有在网上找到任何关于这种反映的信息。有谁知道从哪里开始的好地方?或者如果您遇到过类似的挑战,您是如何解决的?

您需要使用 CubeCamera 来渲染场景和环境,包括要在反射中的对象。然后将生成的纹理传递给 .envMap 属性 传递给要显示这些反射的对象。唯一的问题是,如果您有许多对象在反射中显示其他对象,您将需要大量的 cubeCamera 渲染,每个渲染都来自该对象的位置。

See this working demo,如上所述,它只从球体的位置捕获一个反射通道。你可以看到结有自己的倒影,这不真实,但不是很明显。这是一个权衡。

如果你只有几个平面作为镜像,你也可以复制the mirror demo