在Three.js中的RunTime隐藏网格面

时间:2013-08-19 11:25:23

标签: three.js

我使用的是版本THREE.js57。我想在运行时隐藏选定的面部。这可能在three.js

谢谢&此致

1 个答案:

答案 0 :(得分:1)

确实这是可能的,你会想要查看Raycaster库,这里是高级步骤

  • 将鼠标点击坐标取消投影到3D场景中。
  • 将光线投射到场景中并返回相交的碰撞对象数组
  • 此相交的对象将具有受影响的face和faceIndex作为参数
  • 碰撞时
  • 将face @ faceIndex透明度转为0

查看这些文档页面: http://threejs.org/docs/#Reference/Core/Projector http://threejs.org/docs/#Reference/Core/Raycaster

这个例子开头: https://github.com/mrdoob/three.js/blob/master/examples/canvas_interactive_cubes.html

编辑: 好吧,好吧,然后隐藏脸,你可以在另一个SO帖子:

Can I hide faces of a mesh in three.js?

要点是你有一个多材料对象,第一种材料是你的默认材料,第二种材料是完全不透明的。然后,当您相交时,将面设置为使用第二个materialIndex。无论如何,上面的链接应该做的工作。关闭投票反应。 :)