【问题标题】:Overlay mesh is transparent for certain material colors in Forge 3D viewer覆盖网格对于 Forge 3D 查看器中的某些材质颜色是透明的
【发布时间】:2020-06-28 06:25:09
【问题描述】:

我正在尝试按照this example 将自定义几何图形添加到我的锻造查看器中。它大部分都可以正常工作,除非使用某些颜色。

我正在使用以下代码添加球体网格:


        const geometry = new THREE.SphereGeometry(0.4, 32, 32)
        const material = new THREE.MeshBasicMaterial({
            color: someColor,
            transparent: false,
        })
        const sphere = new THREE.Mesh(geometry, material)

        viewer.overlays.addScene('sphere-mesh-scene')
        viewer.overlays.addMesh(sphere, 'sphere-mesh-scene')

对于someColor 的某些值,球体是透明的,对于其他值,它不是: 例如

#6b6e75#54ffff 产生一个透明球体, 尽管 #000000#988888 产生一个不透明的球体。

我需要设置任何材料属性来避免这种情况吗?或者我需要和forge的材料经理打交道吗?

我使用的是 Forge 查看器版本 7.14.0。

编辑

对于点云,我也得到了相同的结果 - 点云有许多不同的颜色,其中一些点是透明的,并且在 Forge 几何图形上得到一个“发光的轮廓”。

【问题讨论】:

  • 可以确认能够重现该问题,并将与工程部交流想法。

标签: three.js autodesk-forge autodesk-viewer forge


【解决方案1】:

这是发生的,因为默认情况下混合着色器确定是否应该通过叠加层中的色调颜色来添加透明度(例如,对选定的节点)...

当调用viewer.start/loadModel(svf,options,cb,cb,cb,initOptions) 时,我们可以通过在initOptions 中转换useIdBufferSelection 来抑制这种行为,如下所示:

viewer.loadModel(svf,null,null,null,{useIdBufferSelection:true});

观看现场演示here

【讨论】:

    猜你喜欢
    • 2021-06-12
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    相关资源
    最近更新 更多