autodesk-forge - 覆盖 Forge Viewer 上元素的不透明度
问题描述
我遵循互联网上的一些教程并尝试覆盖查看器上元素的不透明度/透明性。这就是我得到的,但它仅适用于平板和楼梯等少数元素。对于其他元素,如柱、梁……什么都没有发生。有什么不对 ?预先感谢。
const nodeIdToFragIds = (model, nodeId) => {
var instanceTree = model.getData().instanceTree;
var fragIds = [];
instanceTree.enumNodeFragments(nodeId, (fragId) => {
fragIds = [...fragIds, fragId];
});
return fragIds;
}
const overrideOpacity = (model, dbIds) => {
const fragList = model.getFragmentList();
dbIds.forEach((dbId) => {
const fragIds = nodeIdToFragIds(model, dbId);
fragIds.forEach((fragId) => {
const material = fragList.getMaterial(fragId);
if (material) {
material.opacity = 0.5;
material.transparent = true;
material.needsUpdate = true;
}
});
});
this.viewer.impl.invalidate(true);
return true;
};
解决方案
推荐阅读
- python - Pygame Collidepoint 函数未按预期工作
- java - Kakfa consumer.poll 不返回 2.4.0 的记录
- c++ - 我希望两个循环并行运行
- javascript - 当用户关闭移动浏览器窗口时如何采取行动?
- android - Android Studio - Flutter 项目 - “构建失败并出现异常”
- android - 如何从android手机上的网页获取xpath?
- go - 关闭完成通道后 goroutine 缺少打印
- python - 是否可以将一个类的方法导入 Python 中的另一个类?
- javascript - 在 javascript 中不使用 push() 更新数组
- javascript - 正则表达式 | 检测字符串中 < 10 的数字(日期表示)