首页 > 解决方案 > 覆盖 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;
  };

标签: autodesk-forgeautodesk-viewer

解决方案


推荐阅读