【问题标题】:How to set opacity of each nodes如何设置每个节点的不透明度
【发布时间】:2017-10-13 22:05:18
【问题描述】:

无论如何设置模型的某些节点的不透明度?

例如,创建覆盖材质并在渲染器中为某些节点而不是整个场景使用它。

【问题讨论】:

    标签: autodesk-forge forge autodesk-viewer


    【解决方案1】:

    在加载模型时,查看器会构建其内部空间索引结构 (BVH),它考虑的因素之一是不同片段的透明度。这是为了确保在不透明对象之后渲染半透明对象。

    但是,当动态更改片段的材质时(在初始加载模型后),顺序不会更新,因为查看器无法按需重建 BVH,您可以最终会得到类似被透明对象隐藏的不透明对象...我们有一个待处理的更改请求,以添加允许开发人员重建 BVH 的 API,但遗憾的是尚未添加。

    您可以查看以下资源,例如在查看器中修改材料:

    Autodesk.ADN.Viewing.Extension.Material

    Forge Viewer Custom Shaders - Part 1

    Forge Viewer Custom Shaders - Part 2

    Custom transparent meshes with View & Data API

    希望有帮助

    【讨论】:

    • 你好,菲利普!是否有任何关于重建 BVH 的拉取请求的活动?我使用viewer v6,它的行为就像你写的一样,一些透明的部分覆盖了不透明的部分,这是一个例子:gist.github.com/mazhuravlev/c8219f49227f9737d7dc30c21ea20720
    • 不再在adsk工作,请继续提供适当的支持:)
    【解决方案2】:

    是的,当然。

    ForgeFader 应用程序在查看器中的某些节点上创建和设置覆盖材质:

    查看:

    src/client/viewer.components/Viewing.Extension.Fader/Viewing.Extension.Fader.Core.js.

    【讨论】:

    • 不幸的是,透明材料更具体一些,请参阅我上面的回复
    猜你喜欢
    • 1970-01-01
    • 2010-10-17
    • 2014-09-05
    • 1970-01-01
    • 2011-05-26
    • 2016-03-01
    • 2011-07-02
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多