【问题标题】:Three.js - Planes overflow opacityThree.js - 平面溢出不透明度
【发布时间】:2014-06-23 04:40:09
【问题描述】:

我正在尝试将两架飞机放在相同(或最近的)位置。

当两个不同材质和颜色的平面在同一个位置时,根据相机位置和视角,前平面的不透明度是不完全的,让你看到后平面,至少部分(基本上是三角形的它)。

我正在尝试制作一个网格,上面有不同颜色的不同区域。

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

我已经尝试使用 material.depthTestmaterial.depthWrite 没有解决它。 抱歉我的(非常简短的)解释,但这是一个项目,我的客户不希望我透露太多。

threejs.org 编辑器上的示例here

【问题讨论】:

  • 当它们在同一位置时,您是否尝试隐藏它们?
  • 您可以通过限制相机的远近剪辑来获得更好的效果。这当然会限制您在远近的视野距离,但会在我认为的情况下对近距离物体实现更好的精度。另外,我建议您阅读three.js 和深度排序等内容。另外一点,您可以在 Blender 或任何其他内容创建软件中相当快速地创建此类网格,但可能限制视图范围有助于您的情况。进一步阅读请看这里:stackoverflow.com/questions/19695934/…
  • 如果两架飞机非常靠近,这个问题很难解决。我建议你在背板上打一个洞,这样你就不用担心了。
  • 另一种选择是使用纹理为您的飞机着色。
  • 真正的问题是什么?

标签: javascript 3d three.js webgl mesh


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 2012-07-19
    • 2019-10-12
    • 2017-07-05
    • 2012-06-25
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多