autodesk-viewer - 如何在 Autodesk-viewer 中设置元素的透明性?
问题描述
我正在尝试设置模型元素的透明度,但我做不到。我正在寻找一种可以做到这一点的方法,但是我尝试过的方法不起作用。
解决方案
Viewer 并没有真正提供任何本机/内置功能来执行此操作,但 THREE.js 在图形操作方面始终是您的朋友,只要您可以在 Viewer 中引用目标元素的材料(通过其 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
}
推荐阅读
- python - 使用 Boto3 以有效的方式将项目行添加到 DynamoDB
- macos - 通过 brew 安装时 gcc 配置选项的权衡
- django - Django中的强制模型字段
- python - Code Wars 中的数组交换和反转问题
- python - Python Google Cloud Function 不会安装 Pandas
- java - java Stack作业将数字放在堆栈上
- javascript - 如何左连接两个外部 JSON url
- linux - 无法连接到在 droplet 中运行的 neo4j,但使用 lynx 导航到 localhost:7474 有效,配置了 ufw 和数字海洋防火墙
- java - Java 和 MySQL - “无法识别的语句”
- python - 如何在 Flask 中处理意外的 url 参数