だいぶ前からある問題点が解消されず、このせいで(いやそれだけではないが( 一一))ゲーム制作のモチベーションダダ下がりであった
ネットで検索しても、同様の事例は見つからず(大して探していないが・・( ;∀;))
そろそろあきらめて、Twitterに投稿しようか、だれか詳しそうな人に質問してみようか迷っていたところ・・・
気合で偶然解決策を見つけた (^_-)-☆
と、前置きが長くなったが、詳細を下記に載せておく
〇不具合
- プロジェクトはUniversal Rander Pipelineで描画
- BlenderからFBX形式で3DモデルをUnity Editorにインポート
- モデルにURP Litシェーダーマテリアルを設定
- マテリアル設定にて、半透明となるようにSurface OptionのSurface typeをTransparentに設定
◆Inspector上のマテリアル設定
◆Scene View
上記の設定により、オブジェクトが半透明で表示される
ところが・・・・
Game Viewでは・・・
あるはずのところにオブジェクトが表示されていない!!!!!
ということで、カメラの設定やら、マテリアルの設定やら、マテリアルを変えてみたりの試行錯誤の日々
下記のように、Surface TypeをOpaqueの透過をなくしたタイプにすると
表示される( 一一)
マテリアル自体は、消えてしまうオブジェクトの上にあるオブジェクトと共用なので、上のほうだけ表示されるのも意味不明!?
ふと、マテリアルのSorting Priorityなるもののスライダーをスライドしてみたら・・・
表示されたっ!!
Sorting Priorityを1にするだけで表示はされた
なんじゃこりゃーーーっ
〇考察
Unity Universal RP 14.0.2マニュアルより
- この設定はパフォーマンスの最適化の設定らしい
- 半透明でないオブジェクトの表示部は、その背面にあるものは描画する必要がないが、半透明のものは重ねて描画する必要があるので、この設定が効いてくる
- 同じマテリアルを使用していても、位置によってその前面または周辺の表示物が違えば、表示の優先順も変わるため、Priorityが0でも上部のものは表示され、下部のものは表示されないということが起きるみたい
こんな設定、エロい人はすぐわかるのかなぁ?! (~_~;)
ところで、ユニバーサルレンダーパイプラインだけのマニュアルがあるとはしらなんだ
今回は以上