我需要能够强制1个或2个元素在场景的其余部分上绘制,而不管它们与相机的实际距离如何。

使用CSS3DRenderer时,有什么方法可以控制渲染顺序?

我试过在创建CSS3DObjects的dom元素上使用zIndex和z-index无效。

object.renderDepth似乎没有作用。

我没有尝试使用重叠的场景,因为这很复杂,并且我认为由于CSS3DRenderer的工作原理以及在dom内部清除的原因,这将无法工作。

如果这提供了简单的解决方案或(不太可能)使事情复杂化,我也会使用jquery。

最佳答案

使用CSS3DRenderer时,可以通过将元素添加到第二个场景并渲染到第二个画布中来强制在顶部渲染。

renderer = new THREE.CSS3DRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );

renderer2 = new THREE.CSS3DRenderer();
renderer2.setSize( window.innerWidth, window.innerHeight );
renderer2.domElement.style.position = 'absolute';
renderer2.domElement.style.top = 0;
document.body.appendChild( renderer2.domElement );

scene.add( object );
scene2.add( object2 );


然后,在动画循环中:

renderer.render( scene, camera );
renderer2.render( scene2, camera );

09-25 18:38