请问有办法设置构件的透明度吗?譬如说修改构件材质或新增有透明度的材质,在用让 Viewer 去渲(Render)染他。
根据我的经验,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...
根据我的经验,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...