我想更改被查看器隐藏的元素的材质 (THREE.MeshPhongMaterial)。默认隐藏元素仍然可见,但我想更改它们的透明度和颜色。
这是示例代码。我尝试更改主题颜色和材料,但没有成功:
viewer.hideById(dbId);
var color = 0x0000ff; // blue color
viewer.setThemingColor(dbId, color, viewer.model);
var instanceTree = viewer.model.getData().instanceTree;
var fragmentList = viewer.model.getFragmentList();
instanceTree.enumNodeFragments(dbId, function (fragId) {
fragmentList.setMaterial(fragId, new THREE.MeshPhongMaterial( { opacity: 0.5 } ));
});
viewer.impl.invalidate(true);
但是,更新隐藏元素的材质后没有任何变化。如何解决。我想要具有不同颜色和透明度的自定义隐藏元素。