设置对象的颜色(Autodesk forge)

时间:2019-01-16 15:23:47

标签: autodesk-forge

这适用于没有任何颜色的模型:

 this.viewer.setThemingColor(node, red, this.model);

但不适用于带有颜色的对象的模型。

docs中,您可以阅读:

  

突出显示具有主题色的对象,该主题色与   原始对象的材料。

混合吗?这是什么意思?如果对象已经有颜色,如何设置颜色?

P.S: 查看器的Typescript类型定义确实会有所帮助。

更新

认为它与对象的类型有关。

我在同一项目上同时运行了isolatesetThemingColor(红色)。

在下面的屏幕截图中,右下角的红色门被选中: Red door selected

它有一个“实质”标题。

在此屏幕截图中,选中了它旁边的门(青绿色)。它缺少材料标题。

enter image description here

我是否需要“应用”材料或使它变色的东西?

1 个答案:

答案 0 :(得分:0)

您是否提供了THREE.Vector4对象作为颜色或第二个参数?只是深入研究代码,它不是任何类型检查逻辑,如果给出了错误的类型,则会导致您的错误。另外,请确保将正确的模型对象作为第三个参数,否则当您有多个模型时,渲染器将不知道应用哪个模型的颜色。

您可以在下面详细了解此方法的用法: https://forge.autodesk.com/en/docs/viewer/v6/reference/javascript/viewer3d/#setthemingcolor-dbid-color-model

编辑: 如果该组件缺少材料,请参见此处,了解如何添加自定义组件:https://forge.autodesk.com/blog/using-dynamic-texture-inside-custom-shaders

PS:我们正在研究Viewer和Forge SDK的TypeScript定义,它们可能很快就会发布。敬请期待!