2

Three.jsを使用してスプライトをレンダリングする際に問題が発生しました。問題をさらに複雑にするために、ゲームエンジンvoxel.jsを使用してインスタンスを管理しています。

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

私はdepth{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

これは、必要になってからほぼ1年後ですが、@ WestLangleyは、スプライトが最後にレンダリングされる方法を説明しているため、透明なオブジェクトではうまく機能しません。彼はこれを回避するためのいくつかのヒントを提供します。

three.js-透明度のあるメッシュを通してスプライトを表示できませんか?

于 2014-03-15T16:25:37.053 に答える
1

それは私には欠けているアルファテストのようです:alphaTest: 0.5SpriteMaterialに渡すパラメーターにパラメーターを追加してみて、それが役立つかどうかを確認してください(にdepthTest設定して 試してくださいtrue

于 2013-03-25T19:58:48.353 に答える