Javascript ThreeJS材质侧面可见性更新

Javascript ThreeJS材质侧面可见性更新,javascript,three.js,Javascript,Three.js,我有隐藏的一面时,从后面看它是正确的,我想要什么,但我无法找到一种方法,知道它不可见的渲染器或相机 new THREE.mesh基本材质({ 地图:新, 三个.TextureLoader().load('image.jpg'), 正面:三面 }); 如果我在渲染中记录子对象,我看到的可见性为“true”,即使它未渲染(图2) 如果目标几何体面正在显示,是否有一种方法可以用三个来判断 谢谢。您的物体(或其一部分)是否从不同角度可见取决于材料的侧面属性。在您的示例中,只有正面的碎片可见(侧:三

我有隐藏的一面时,从后面看它是正确的,我想要什么,但我无法找到一种方法,知道它不可见的渲染器或相机

new THREE.mesh基本材质({
地图:新,
三个.TextureLoader().load('image.jpg'),
正面:三面
});

如果我在渲染中记录子对象,我看到的可见性为“true”,即使它未渲染(图2)

如果目标几何体面正在显示,是否有一种方法可以用三个来判断

谢谢。

您的物体(或其一部分)是否从不同角度可见取决于材料的
侧面
属性。在您的示例中,只有正面的碎片可见(
侧:三个。正面

如果您的目标是跟踪对象或其部分是否应在任何给定时间从给定角度显示,则有多种方法可供您使用

一种解决方案是简单地对该面/区域进行光线投射,并检查交点。我已经有一段时间没测试了,但不可见的面不应该返回交叉点

以及文件中的引用:

注意,对于网格,面必须指向光线的原点才能被检测;穿过面部背面的光线的交点将不会被检测到。若要对对象的两面进行光线投射,需要将材质的“侧”属性设置为“THREE.DoubleSide”


出于好奇,你为什么想知道是否有人展示了一张脸?目的是什么?基于单个平面的可见性,我想隐藏模型中更多的面。