【问题标题】:ar.js - Flickering with loaded GLTF modelar.js - 加载的 GLTF 模型闪烁
【发布时间】:2020-08-04 23:29:32
【问题描述】:

我目前使用的是 ar.js 3.1.0。 我正在加载一个 GLTF 模型并且我正在使用多个标记,但是我对模型的“闪烁”有很大的问题。看起来好像深度检查无法正常工作并且不断在彼此靠近的多边形之间跳跃,尤其是。在边缘。如果我用旧版本 (r92) 替换包含的three.js 版本,那么问题就消失了,模型看起来很干净。此外,如果我在这里加载 (https://gltf-viewer.donmccurdy.com/) 一切看起来都很好。谁能给我一个提示我做错了什么?

【问题讨论】:

  • 您有机会向我们展示该问题的演示吗? stackoverflow.com/help/minimal-reproducible-example
  • 标记有点困难,但这里有两个视频显示了问题:billmaker.de/ar/included_threejs.movbillmaker.de/ar/r92_threejs.mov
  • 看起来车身是z-fighting,后面有元素。您相机的.near.far 属性是什么?当使用相距很远的值时,您可能会失去深度图中的精度,并且彼此靠近的面会发生 z-fight。例如,不要使用0.00001 - 100000,而是使用更小的范围,例如0.1 - 100
  • 据我了解,相机是由ar.js框架设置的。我不明白为什么它使用旧版本的three.js?我不是改ar.js框架,只是在框架内切换了three.js版本。

标签: three.js ar.js


【解决方案1】:

在渲染器中开启对数深度缓冲区解决了这个问题。

var renderer = new THREE.WebGLRenderer({
  logarithmicDepthBuffer: true
});

【讨论】:

猜你喜欢
  • 2018-07-13
  • 1970-01-01
  • 2020-05-31
  • 2015-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-30
  • 2019-11-24
相关资源
最近更新 更多