【发布时间】:2017-05-06 06:37:43
【问题描述】:
我想更改被查看器隐藏的元素的材质 (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);
但是,更新隐藏元素的材质后没有任何变化。如何解决。我想要具有不同颜色和透明度的自定义隐藏元素。
【问题讨论】:
-
当元素被隐藏时,你希望改变什么?属性?
-
当元素被隐藏时,我可以将它排除在其他元素的选择之外。但是,我想要隐藏元素的不同颜色和透明度。它们在查看器上仍然可见,但根据其属性具有不同的颜色和透明度。
-
你的意思是改变颜色 os 透明/幽灵元素?因为当你隐藏它们时,它会被完全隐藏(没有颜色/材质可见)
-
你是对的。我想改变透明/鬼元素的颜色和不透明度。原因是将它们排除在选择集中之外,并根据它们的类别使它们看起来不同。然后我可以通过 ghost 元素来选择它的内部元素。
-
知道了,让我帮你研究一下。
标签: autodesk-forge autodesk-viewer