Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 在Forge 3D viewer中,覆盖网格对于某些材质颜色是透明的_Three.js_Autodesk Forge_Autodesk Viewer_Forge - Fatal编程技术网

Three.js 在Forge 3D viewer中,覆盖网格对于某些材质颜色是透明的

Three.js 在Forge 3D viewer中,覆盖网格对于某些材质颜色是透明的,three.js,autodesk-forge,autodesk-viewer,forge,Three.js,Autodesk Forge,Autodesk Viewer,Forge,我正在尝试向我的forge viewer添加自定义几何体,如下所示。除了使用某些颜色外,它通常工作良好 我使用以下代码添加球体网格: 常数几何=新的三个。球面测量法(0.4,32,32) 常量材质=新的三网格基本材质({ 颜色:someColor, 透明:假, }) const sphere=新的三个网格(几何体、材质) viewer.overlays.addScene('sphere-mesh-scene') viewer.overlays.addMesh(球体,“球体网格场景”) 对于s

我正在尝试向我的forge viewer添加自定义几何体,如下所示。除了使用某些颜色外,它通常工作良好

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


常数几何=新的三个。球面测量法(0.4,32,32)
常量材质=新的三网格基本材质({
颜色:someColor,
透明:假,
})
const sphere=新的三个网格(几何体、材质)
viewer.overlays.addScene('sphere-mesh-scene')
viewer.overlays.addMesh(球体,“球体网格场景”)
对于
someColor
的某些值,球体是透明的,对于其他值,球体不是: e、 g

#6b6e75
#54ffff
生成一个透明球体, 虽然
#000000
#98888
生成一个不透明球体

是否需要设置任何材质属性以避免出现这种情况?还是我需要和锻造厂的物料经理打交道

我使用的是forge viewer 7.14.0版

编辑


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

这是因为默认情况下,混合着色器决定是否应添加透明度(例如,添加到选定节点)通过叠加中的色调颜色

调用
viewer.start/loadModel(svf,options,cb,cb,cb,initOptions)
时,我们可以通过如下方式在
initOptions
中打开
useIdBufferSelection
来抑制此行为:


见现场演示

可以确认是否能够重现该问题,并将与工程部交流想法。
viewer.loadModel(svf,null,null,null,{useIdBufferSelection:true});