2

我在使用 Three.js 渲染精灵时遇到问题,为了使问题进一步复杂化,我正在使用游戏引擎voxel.js来管理实例。

示例:http ://christopherdebeer.com/sandbox/voxeljs/

我试过搞乱深度{write|test}:

material = new game.THREE.SpriteMaterial({
  map: spriteB, 
  useScreenCoordinates: false,
  alignment: game.THREE.SpriteAlignment.bottomCenter,
  color: 0xffffff,
  fog: true,
  depthWrite: true,
  depthTest: false
});

对于示例左侧的半透明网格。

我需要的是一个透明的网格或体素,以在该位置显示 2d 精灵的同时为一定体积的空间提供一些物质。

我该如何解决这个问题,或者我做错了什么?

4

2 回答 2

2

这几乎是您需要它的一年后,但@WestLangley 描述了精灵是如何最后渲染的,因此不能很好地与透明对象配合使用。他提供了一些解决此问题的技巧。

three.js - 无法通过具有透明度的网格查看精灵?

于 2014-03-15T16:25:37.053 回答
1

这似乎是我缺少的 alpha 测试:尝试将参数添加alphaTest: 0.5到您传递给 SpriteMaterial 的参数中,看看它是否有帮助(尝试使用depthTestset to true

于 2013-03-25T19:58:48.353 回答