您是否愿意举例说明将带纹理的材质设置到无纹理的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)
}