Forge 3D 查看器中的某些 material 颜色的叠加网格是透明的
Overlay mesh is transparent for certain material colors in Forge 3D viewer
我正在尝试将自定义几何体添加到我的 Forge 查看器中,紧随 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
产生一个不透明的球体。
是否需要设置任何 material 属性来避免这种情况?或者我需要在 forge 中与 material 经理打交道吗?
我正在使用 Forge 查看器版本 7.14.0。
编辑
对于点云,我也得到了相同的结果 - 点云具有许多不同的颜色,一些点是透明的,并且得到了 "glowing outline" 与 Forge 几何体的对比。
发生这种情况是因为默认情况下,混合着色器确定是否应通过叠加层中的色调颜色添加透明度(例如,对选定节点)...
我们可以通过在调用 viewer.start/loadModel(svf,options,cb,cb,cb,initOptions)
时在 initOptions
中转动 useIdBufferSelection
来抑制这种行为,如下所示:
viewer.loadModel(svf,null,null,null,{useIdBufferSelection:true});
查看现场演示 here
我正在尝试将自定义几何体添加到我的 Forge 查看器中,紧随 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
产生一个不透明的球体。
是否需要设置任何 material 属性来避免这种情况?或者我需要在 forge 中与 material 经理打交道吗?
我正在使用 Forge 查看器版本 7.14.0。
编辑
对于点云,我也得到了相同的结果 - 点云具有许多不同的颜色,一些点是透明的,并且得到了 "glowing outline" 与 Forge 几何体的对比。
发生这种情况是因为默认情况下,混合着色器确定是否应通过叠加层中的色调颜色添加透明度(例如,对选定节点)...
我们可以通过在调用 viewer.start/loadModel(svf,options,cb,cb,cb,initOptions)
时在 initOptions
中转动 useIdBufferSelection
来抑制这种行为,如下所示:
viewer.loadModel(svf,null,null,null,{useIdBufferSelection:true});
查看现场演示 here