とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

Unity z軸に関係なくダメージを最前面に出したい

ダメージをz軸に関係なく最前面に出したいとおもって
SortingLayerを弄っていたのですが、うまく行かず。。

結局カメラを追加する形になりました。

やりたいこと

f:id:raharu0425:20150827105747p:plain

これをこうしたい。

f:id:raharu0425:20150827105840p:plain

z軸に関わらず前面に表示されるレイヤーを作成する

FrontObjという名前で作成しました

f:id:raharu0425:20150827110002p:plain

カメラを作成する

FrontObjCameraという名前で作成します

f:id:raharu0425:20150827110222p:plain

注意点

Clear FlagsをDepth Onlyにしないといけません。

もともとあったはずのMainCameraをDepth0
新しく追加したFrontObjCameraをDepth1にします

いらないコンポーネントは外しておきましょう

カメラのマスクレイヤーを設定する

Main Camera

f:id:raharu0425:20150827110828p:plain

FrontObjCamera

f:id:raharu0425:20150827110727p:plain

カメラを増やして2つとも全部描画させるともちろんポリゴン数も頂点数も2倍になります。
マスク設定がかぶらないようにします。

これで期待通りの描画になりました。

f:id:raharu0425:20150827111341p:plain

もともSortingLayerがz軸を無視して描画順序を変更してくれるとばかり思っていたのですが、
うまくいきませんでした。
シェーダーをかける人はシェーダーでなんとでもできるかもしれません。

他の方法やご意見マサカリとう歓迎しております!!