当我在AFrame渲染器组件中设置logarithmicDepthBuffer: true;
时,text
组件的所有实例都不再渲染。
要解决此问题,我从场景中删除了所有其他实体,但文本仍未呈现。我还尝试使用包装的<a-text>
组件,尝试了alphaTest: 0.5
,设置了depthTest: true
和设置了sortObjects: false
只是看我是否可以获得任何结果,但没有发现任何结果会产生任何结果。
<a-scene renderer="logarithmicDepthBuffer: true;">
<a-text value="The quick Brown Fox Jumps over the Lazy Dog"></a-text>
</a-scene>
完全不显示文本。控制台中没有渲染产物或错误。
答案 0 :(得分:0)
尝试在渲染器周围使用[]。
<a-scene [renderer]="logarithmicDepthBuffer: true;">
<a-text value="The quick Brown Fox Jumps over the Lazy Dog"></a-text>
</a-scene>
答案 1 :(得分:0)
您应该在AFrame github上为此问题。我以前见过有人遇到过这个问题。
作为一种解决方法,我不知道框架的详细信息,但是您可以在文本材料上使用.polygonOffset来避免尝试用logarithmicDepthBuffer抵消的zfighting吗?
logarithmicDepthBuffer是一种很酷的技术,但是启用后,所有与深度交互的着色器都必须意识到这一点,而其中的某些着色器并未考虑在内。
但是,如果您要修复z冲突,则polygonOffset是较为经典的解决方案之一。