【three】如何控制单个构件显隐?
问题描述: 通过IfcLoader渲染了IFC模型后,想通过鼠标点击对点击到的构件进行显隐操作,但是怎么搞都实现不了。
我说一下我的做法:
- 通过Raycaster获取到鼠标点击的对象(但是这个对象是楼层)
- 于是,通过IFC.js的方法创建一个对应的构件子集(例如:楼层的窗户,创建的过程中可以设置材质,例如高亮颜色等等)
- 然后,就会看到点击的构件被高亮了。
- 我就觉得既然可以高亮了,那应该可以控制显隐吧,结果不行。隐藏的是高亮的颜色,感觉我只是创建了一个“壳”套在构件上,并没有实际操控到构件。
真的很烦恼啊,这单个构件的获取怎么这么难啊。
回复
1个回答
test
2024-07-01
const componentSubset = IFC.createSubset(scene, model, [componentId]);
componentSubset.visible = false; // 隐藏构件
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容