对于Forge 3D查看器中的某些材料颜色,覆盖网格是透明的

问题描述 投票:1回答:1

我正在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 Viewer 7.14.0版本。

编辑

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

three.js autodesk-forge autodesk-viewer forge
1个回答
0
投票

这是偶然发生的,因为默认情况下,混合着色器通过是否在覆盖层中通过其色相来确定是否应将透明度(例如,添加到选定的节点上……)>

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

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

请参见现场演示here

© www.soinside.com 2019 - 2024. All rights reserved.