1

更改模型的颜色时,模型上会出现奇怪的阴影:

原始模型

彩色模型

我已经尝试了不同的模型,但遇到了同样的问题。任何想法这里可能有什么问题?

下面的代码:

   async foo() {

    let myMaterial = this.addMaterial(0x7CD254);

    const leafNodeIds = await this.getLeafNodes();

    this.setMaterial(leafNodeIds, myMaterial);

  }

  addMaterial(color) {

    var material = new THREE.MeshPhongMaterial({
      color: color
    });

    this.viewer.impl.matman().addMaterial(
      this.guid(),
      material);

    return material;
  }

  static async setMaterial(dbId, material) {

    var fragIds = await this.getFragIds(dbId);

    fragIds.forEach((fragId) => {

      this.viewer.getFragmentList().setMaterial(
        fragId, material);
    });
  }

编辑:不同的角度,显示这些奇怪的阴影也出现在顶部

顶视图

4

2 回答 2

1

向 Philippe Leefsma 大喊寻找正确的解决方案。

您必须通过以下任一方式关闭环境阴影选项

  • 取消选择 UI 菜单中的选项(齿轮图标)
  • 或者通过在代码中使用 viewer.setQualityLevel(bool,bool) 函数并将第一个参数设置为 false
于 2017-01-25T12:47:47.323 回答
0

为什么不换个新颜色.... material.color=new THREE.Color(0,0,0);// like this

forge 的 phongmaterial 和 ThreeJS 不一样,所以阴影会被破坏~~~

于 2019-05-06T06:33:25.917 回答