首页  >  问答  >  正文

javascript - 请问要如何修改 Node 的透明度吗?

请问有办法设置构件的透明度吗?譬如说修改构件材质或新增有透明度的材质,在用让 Viewer 去渲(Render)染他。

学习ing学习ing2663 天前1028

全部回复(1)我来回复

  • 天蓬老师

    天蓬老师2017-07-05 11:05:28

    根据我的经验,Forge Viewer 载入一个模型时会去帮模型建立它的包围层次(BVH),这时会有一个内部参数被拿来计算几何片段(fragment)的透明度,而这个参数是为了确保半透明和完全透明的构件的渲染(Render)次序,一般完全透明的构件会先被渲染。

    在我们修改构件材质透明度的时候,这个次序并不会被更新。这是因为 Viewer 不会在我们修该完后去重建 BVH,所以我们看到一些不透明构件被隐藏的现象。而且就我调试经验显示在 Viewer 里是没办法重建 BVH 的,所以目前这个问题无法解。

    不过这里还是有一些修改材质及透明度的示例供你参考:

    Autodesk.ADN.Viewing.Extension.Material

    Forge Viewer Custom Shaders - Part 1

    Forge Viewer Custom Shaders - Part 2

    Custom transparent meshes with View & Data API

    希望这对你有帮助

    参考来源:https://stackoverflow.com/que...

    回复
    0
  • 取消回复