r61与r58中的意外three.js渲染顺序

时间:2013-09-28 15:26:21

标签: three.js rendering

下面说明了我想要获得的两个平面几何的渲染顺序:

http://jsfiddle.net/Axy2F/8/

这在r58下工作正常,但在r61下,无论我如何构建场景图,红色方块都会被遮挡。我不清楚这是否是r61中的一个错误,或者我是否在r58中做错了事情,只是碰巧正常工作。

我是否正确地认为behind.add(child)应该足以让红色方块位于场景图中的靛蓝之下,并因此呈现在它之上?

如果没有,通过控制场景图的构造(与r61一起使用)来建立渲染顺序的正确方法是什么?我想避免明确设置renderDepth。请注意,将rendered.sortObjects设置为false无效。

1 个答案:

答案 0 :(得分:1)

前面的物体是最靠近相机的物体。生孩子与此毫无关系。

您的对象的位置都为( 0, 0, 0 ),因此距离相机的距离相同。

这会导致z-fighting,CanvasRendererWebGLRenderer更糟糕。

更改孩子的位置以将其呈现在前面。例如,

child.position.z = 1;

仅供参考,r.61与r.58有不同的平局规则。这就是r.61中渲染不同的原因。