Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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
Javascript Three.js-平面溢出不透明度_Javascript_3d_Three.js_Webgl_Mesh - Fatal编程技术网

Javascript Three.js-平面溢出不透明度

Javascript Three.js-平面溢出不透明度,javascript,3d,three.js,webgl,mesh,Javascript,3d,Three.js,Webgl,Mesh,我试着把两架飞机放在同一个(或尽可能近的)位置上 当两个不同材质和颜色的平面位于同一位置时,取决于摄影机位置和视角,前平面的不透明度不是完全的,并且允许您至少部分地看到后平面(基本上是它的三角形) 我尝试的是制作一个网格,网格上有不同颜色的不同区域 我不知道问题是混合还是什么 我试过材质.depthTest和材质.depthWrite但没有解决它。 对不起,我的解释(非常简短),但这是一个项目,我的客户不希望我透露太多 threejs.org编辑器上的一个示例如果只使用平面,可以先渲染到纹理,然

我试着把两架飞机放在同一个(或尽可能近的)位置上

当两个不同材质和颜色的平面位于同一位置时,取决于摄影机位置和视角,前平面的不透明度不是完全的,并且允许您至少部分地看到后平面(基本上是它的三角形)

我尝试的是制作一个网格,网格上有不同颜色的不同区域

我不知道问题是混合还是什么

我试过
材质.depthTest
材质.depthWrite
但没有解决它。 对不起,我的解释(非常简短),但这是一个项目,我的客户不希望我透露太多


threejs.org编辑器上的一个示例

如果只使用平面,可以先渲染到纹理,然后在最大平面上使用该纹理。在“渲染到纹理”阶段,可以使用非常接近的“近”和“远”值,也可以禁用深度检查。

当平面位于同一位置时,是否尝试隐藏这些平面?通过限制相机的“近”和“远”剪裁,可以获得更好的效果。这当然会限制你的远近视野,但我认为对于像你这样的近景物体,它会获得更好的精确度。另外,我建议您阅读three.js和深度排序等内容。另外,您可以在Blender或任何其他内容创建软件中相当快速地创建此类网格,但限制视图范围可能有助于您的情况。进一步阅读请参见此处:如果将两个平面放置得非常近,则很难解决此问题。我建议你在后平面上打个洞,这样你就不用担心了。另一个选择是使用纹理给你的平面上色。实际问题是什么?