我想站在各种不同高度的 VR 球体上方,但当我在 2000 米半径球体上方 500 米时,我的球体会出现丑陋的锯齿状边缘。
我在A-frame和VR网页设计方面完全是个新手。
我希望球体的边缘看起来很光滑。我试过更改 segmentsHeight 和 segmentsWidth 但这似乎没有帮助。
我也试过
<a-scene renderer="antialias: true">
但似乎也无济于事。
已知问题?有什么想法吗?
看起来像
z-buffer
问题(查看 this example),其中远点在使用线性缓冲区时难以整理距离。
来自docs:
对数深度缓冲区可以在包含非常大的比例和距离差异的场景中提供更好的排序和渲染。
您可以像这样启用它:
<a-scene renderer="logarithmicDepthBuffer: true"> </a-scene>
所以 Piotr 使用 logarithmicDepthBuffer 的答案绝对是答案
但我也想在这里为尝试拥有非常大的物体(如地球大小的球体)的 A 型框架新手留下足迹!
您需要更改相机的 far 参数的值。 不绘制超出相机远平面的对象,远值默认为 10,000。一个地球大小的球体是 6,300,000 米,因此您希望将远值设置为与该球体类型相同的球场。 1,000,000 为我工作,因为我飞得离我的球体表面很近。
<a-camera far="1000000">
</a-camera>
另外 - 如果你有一个天空集 - 它将默认为一个半径为 500 米的球体,如果你在很远的地方绘制一个大球体 - 它的一部分会从天空中伸出,你只会看到你的一部分领域。所以让你的天空有一个大半径
<a-sky color="lightblue" radius="7000000"></a-sky>