我正在尝试设置模型元素的透明度,但是我不能这样做。我正在寻找可以做到这一点的方法,但是我尝试的方法不起作用。
答案 0 :(得分:1)
Viewer并没有真正提供任何本机/内置的功能,但是就图形操作而言,THREE.js始终是您的朋友,只要您可以在其中引用目标元素的材质(通过其dbid / nodeid)即可。查看者:
var fragList = viewer.model.getFragmentList();
var fragIds = []
model.getData().instanceTree.enumNodeFragments(
dbid, (fragId) => {
fragIds.push(fragId)
});
fragIds.forEach((fragId) => {
//grab the material
var material = fragList.getMaterial(fragId);
if(material) {
//set transparency
material.opacity = 0.5;
material.transparent = true;
//mark for update
material.needsUpdate = true
}
})
});
viewer.impl.invalidate(true, true, true) //notify renderer to update
}