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

问题描述:
通过IfcLoader渲染了IFC模型后,想通过鼠标点击对点击到的构件进行显隐操作,但是怎么搞都实现不了。
image.png

我说一下我的做法:

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

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

阅读 2.1k
1 个回答
const componentSubset = IFC.createSubset(scene, model, [componentId]);
componentSubset.visible = false;  // 隐藏构件
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题