如何在伪造查看器组件上初始化UV以影响纹理材料

时间:2019-06-03 18:40:27

标签: autodesk-forge autodesk-viewer

您是否愿意举例说明将带纹理的材质设置到无纹理的Forge查看器组件的示例?我使用以下代码在图层上的组件上设置自定义纹理材料。如果组件已经具有纹理材料,则可以正常工作,但是如果组件具有简单的彩色材料,则纹理定制材料将看起来像纯色。原因是因为在翻译过程中未初始化UV。因此,将问题归结为如何在给定dbId的情况下对Forge组件执行基本UV初始化。预先感谢。

async setMaterialByLayer (layer, material) {

    const model = this.viewer.model

    const dbIds = await getNodesByLayers(
      model, layer)

    const fragIds = await getFragIds(
      model, dbIds)

    const fragList = model.getFragmentList()

    fragIds.forEach(fragId => {
      fragList.setMaterial(fragId, material)
    })

    this.viewer.impl.sceneUpdated(true)
  }

0 个答案:

没有答案