エフェクトの描画優先コントロールの方法について

エフェクトについて以下の調整を行いたいのですが、描画優先について良い設定の方法はありますでしょうか。

  • ビルボードが壁際でめり込まないようにしたい
  • 上から描画するアクター、しないアクターを指定したい。(プレイヤーとエネミー等)

画像はエフェクトをプレイヤーとエネミーの間の座標に発生させてみたものです。エネミーが大きいとエフェクトはめり込んでしまいます。このエフェクトが地面にめり込まず、エネミーの上から描画され、プレイヤーと被らない状態が理想です。

描画順を制御したい場合はポストプロセスを使うと良いかと思います。

こちらが参考になるかと思います。
http://darakemonodarake.hatenablog.jp/entry/2014/12/23/000034

後は、背景と敵→パーティクル→プレイヤーの順番で重ねると、欲しい結果が得られると思います。
パーティクルとプレイヤーはデプスで検出すると良いです。

ありがとうございます。参考にさせていただきます。

不透明のオブジェクトは半透明より先にディファードで描画されるため、ヒットエフェクトを床や壁や敵より必ず手前、プレイヤーより必ず奥‥といったような描画優先は正攻法ではできないと思います。
無理にでもやるのでしたら、ステンシルバッファ等を使ってキャラのマスクを保持しておいて半透明の描画に利用したり、エンジンを改造してキャラはフォワードで描くようにするなどの工夫がいるのではと思います。

ただ、そもそもカメラを自由に操作できる3Dゲームでは、敵より手前に壁があったりプレイヤーが奥で敵が手前だったりと位置関係がいかようにも変化するため、描画の優先順位を決めてしまうこと自体困難ではないかと思います。

単純に壁にめり込ませたくない場合、パーティクルのブレンドモードはMaskedにせずTranslucentにしてOpacityにDepthFadeの構成を入れてやり、Camera Offsetモジュールでパーティクルを少しカメラ寄りにオフセットを与えてあげるくらいしか手立ては無いかと思います。。