如何为模型装饰显得更逼真生动,桌子表面贴上木质纹理的图案
希望把模型中的每一个零件都加上对应的颜色或者是纹理图案,使得模型看起来更加逼真和生动,
不知道如何通过批量的dbid、或者是树形菜单中elementId来设置她们的颜色或者是纹理。
而不是选中后的fragId
如图:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里有【如何修改构件颜色或材质】扩展库。
核心方法是:
即,需要构造一个材质(也可以是颜色)对象,然后对某个几何碎片(fragId)设置材质或颜色。
而本问题是需要对所有对象修改其材质,如果不考虑fragments的顺序,那可以依次遍历fragments,然后设置其颜色。从Forge Viewer API分析看 Viewer.model.getFragmentList()返回fragments的信息列表,其中getCount告知有多少个fragments。而fragments的id看山去是从0开始,依次直到最大序数,那应该可以依次修改需要的颜色即可。以下代码,遍历所有fragment,依次修改一个随机颜色。材质的话参考上面提到的样例替换一下即可。
如果想按照模型结构树的顺序来对构件修改材质,则可以参考【模型结构树遍历】扩展库,遍历到每个节点,得到其对应的dbId,然后用如下方法得到对应的fragment id
最后,修改材质: