Three.js:在带天空盒的 canvas 上显示 <div>

Three.js: displaying a <div> over a canvas with skybox

我在 Three.js canvas 上创建了一个天空盒,如下所示:

var urls = [
  'pos-x.jpg',
  'neg-x.jpg',
  'pos-y.jpg',
  'neg-y.jpg',
  'pos-z.jpg',
  'neg-z.jpg'
]
window.cubemap = THREE.ImageUtils.loadTextureCube(urls);
cubemap.format = THREE.RGBFormat;
window.shader = THREE.ShaderLib['cube']; 
shader.uniforms['tCube'].value = cubemap; 

window.skyBoxMaterial = new THREE.ShaderMaterial( {
  fragmentShader: shader.fragmentShader,
  vertexShader: shader.vertexShader,
  uniforms: shader.uniforms,
  depthWrite: false,
  side: THREE.BackSide
});

window.skybox = new THREE.Mesh(
  new THREE.BoxGeometry(1000, 1000, 1000),
  skyBoxMaterial
);

skybox.position.set(0, 0, 0);

scene.add(skybox);

我的问题是,无论我给它什么 z-index,我尝试在 canvas 上方添加的任何 'div' 都隐藏在天空盒后面。如果我不添加天空盒,它们就会出现。有人知道为什么以及如何解决它吗?

我在 HTML 正文的 Three.js canvas 标签后添加了 div,它起作用了。