我试图简单地在Autodesk Forge中更改模型的颜色。我正在使用以下代码。
创建材料
var material = new THREE.MeshPhongMaterial
({
color: new THREE.Color("rgb(255, 0, 0)"),
transparent: false
});
将其添加到材料列表中
materials.addMaterial(
'NewMaterial',
material,
true)
实际设置材料的代码行
fragList.setMaterial(fragId, material);
这几乎完美。模型的颜色应变为红色,但是当您移动视图时,看起来模型的底层灰色似乎正像通过某些区域的红色一样通过红色显示。
我经历过https://threejs.org/docs/#api/materials/MeshPhongMaterial并迷惑了材料的一堆特性,尽管它们改变了材料的外观,尤其是照明特性,但是没有什么能阻止灰色的修剪。关于可能导致此现象或外观的任何建议将不胜感激
答案 0 :(得分:1)
不确定使用此方法是否有缺点,但我使用了复活节代码示例中演示的setThemingColour。 https://forge.autodesk.com/blog/happy-easter-setthemingcolor-model-material
SE
更改了颜色,没有通过叠加层等其他模型显示,也没有出现剪裁问题。
答案 1 :(得分:0)
从Autodesk forge使用此扩展名,而不是直接在three.js上工作。
这很简单,您只需要写几行:
viewer.loadExtension('Autodesk.ADN.Viewing.Extension.Color');
viewer.setColorMaterial([objectIds],colorcodes);