请问在 Forge Viewer 里要怎么改变一个构件的颜色?
viewer.addEventListener( Autodesk.Viewing.GEOMETRY_LOADED_EVENT, function (event) {
var color = new THREE.Vector4( 0/255,102/255,25/255, 1 );
viewer.setThemingColor(changeDate, color);}
)
changeDate为对应的dbid,color为想要改变的颜色。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
可以的,你可以透过
viewer.setThemingColor()
这个函数来设置,它接受的参数是一个THREE.Vector4
。Forge Viewer 用THREE.Vector4
的(x, y, z)
来表示三原色(r, g, b)
,w
代表不透明度alpha
,注意每个参数都是介于 0 到 1 之间,三原色的色码必需都除以 255。调用示例如下:结果截图,原本的绿地变成红色的了:

如果要还原构件的颜色的话,可以调用

viewer.clearThemingColors()
这个函数来清除颜色设置,结果如下: