poi’s tech blog

3D多人数同時接続型球体アクション成人向けゲーム開発のためのアイデア、ナレッジ

Unlit/Transparentの描画順がおかしい

この球体モデルはそれぞれ独立した目、頬、紅潮メッシュを球体上に薄ーく浮かしてアルファテクスチャで透過させることによって顔を表現している。

紅潮メッシュより目メッシュのほうが手前にあるためBlender上は問題なく描画されるが、Unityの通常のTransparent系シェーダではデプスバッファに書き込みをしない(?)らしく描画順がUnityの気分次第(?)のため何らかの対処が必要。

f:id:poipoipoip:20190323174126p:plain
紅潮が目の手前に描画される

Render Queueで描画順の設定が出来る。

「カメラの位置に応じて紅潮を手前に描画したい」とかの要件じゃない限りは常に紅潮より目が手前に描画されるよう設定してあげれば良さそう。

f:id:poipoipoip:20190323174150p:plain
目マテリアルのRender QueueをTransparent+1(3001)に設定

f:id:poipoipoip:20190323174224p:plain
なおった!