【three】如何控制单个构件显隐?

作者站长头像
站长
· 阅读数 7

问题描述: 通过IfcLoader渲染了IFC模型后,想通过鼠标点击对点击到的构件进行显隐操作,但是怎么搞都实现不了。【three】如何控制单个构件显隐?

我说一下我的做法:

  1. 通过Raycaster获取到鼠标点击的对象(但是这个对象是楼层)
  2. 于是,通过IFC.js的方法创建一个对应的构件子集(例如:楼层的窗户,创建的过程中可以设置材质,例如高亮颜色等等)
  3. 然后,就会看到点击的构件被高亮了。
  4. 我就觉得既然可以高亮了,那应该可以控制显隐吧,结果不行。隐藏的是高亮的颜色,感觉我只是创建了一个“壳”套在构件上,并没有实际操控到构件。

真的很烦恼啊,这单个构件的获取怎么这么难啊。

回复
1个回答
avatar
test
2024-07-01
const componentSubset = IFC.createSubset(scene, model, [componentId]);
componentSubset.visible = false;  // 隐藏构件
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容