質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.80%

Unity バージョンを上げたらShaderの描画がおかしくなった

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,777

suvera

score 102

前提・実現したいこと

以前から開発しているプロジェクトがあり、
そのUnityプロジェクトのバージョンを今回アップグレードしました。

5.5.0で今まで扱っていましたが、
新たに5.6.3をインストールしてそちらで扱うようにしました。

その際に今まで利用していた一部のShaderが真っ黒に描画されるようになってしまいました。

5.6.2のアップデートに合ったライト関係のアップデートが怪しそうではあるのですが
どういう原因でこの現象が起きているのかがわかりません。

5.5.0の頃のように描画できるようにしたいです。

試したこと

Shaderを選択したInspectorにて
Debugモードにした時に現れる、Custom Render Queue の設定を
2500以上に設定すると以前のように描画されているように見えます。

以前の状態ではCustom Render Queueの値は-1に設定されており、
5.6.3で開いた初期状態ではCustom Render Queueの値は-1に設定されているので
バージョンアップしたことで値の設定がおかしくなったとかではなさそうです。

また、そのシーンでは複数のカメラを使用していますが
そのカメラの内幾つかをOFFにすることでも以前のように描画されます。

 追記

新しく気がついた点について追記します。

  • SceneタブではそのShaderを割当てたエフェクトが多分正常に描画される
  • カメラのAllow MSAAという設定でワーニングが出ている

ワーニングの内容

Deferrd and MultisampleAntiAliasing is not supported.
This camera will render without MASS buffers.
Disable Deferred if you want to use MASS.

Allow MSAAという設定は5.5.0のときにはなかったものでした。
そして、設定はチェックボックスで行えてアップデート時に自動でONで設定されているようです。
そして、このチェックボックスをOFFにするとOFFにしたカメラではエフェクトが正常に描画されるように見えます。

と、言うのはわかったんですがその設定が今回の問題とどう関わってるのかはわからなかったです。
わかる方いたら教えてください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • Bongo

    2017/08/10 01:44

    おかしくなるシェーダーは、質問者さんが自作されたものでしょうか?できればシェーダーのソースコードも見てみたいのですが、ご提示可能でしょうか。

    キャンセル

  • suvera

    2017/08/10 10:44

    シェーダーは自作したものではありません。他の方が作成したものです。聞いた話ではシェーダーは背景を反射で映すようなことをしていると聞いています。提示は難しそうです…

    キャンセル

  • Bongo

    2017/08/10 19:01

    うう...どうにもこれだという事例、発生原因についての情報を探し当てることができておらず、回答欄に代わって追記欄でのコメントにします...例えばHoloLens用のシェーダー等において、「Allow MSAA」を切ったらシェーダーの動作が正常に戻ったという報告はいくつか見つかったものの、原因特定まで至る情報までは見つけられず、ご質問者さんのケースと照らし合わせて究明しようという目論見は行き詰まってしまっています。「Allow MSAA」についてはマニュアルの更新も追い付いていないようで、十分な解説がなくやっかいそうです。対症療法的ですが、ご質問者さんのおっしゃる「Allow MSAAを切る」や「Render Queueの順序を調整する」でなんとかすることになるのではないでしょうか。これらの対処を行ってもさしあたり問題がないようなら(例えばアンチエイリアスが効かず不満だ、など)、今のところそうしておいて、今後のUnityのバージョンアップやそのシェーダーのバージョンアップに期待するということでどうでしょう?的確な答えを提示できなくて申し訳ないです...

    キャンセル

  • suvera

    2017/08/11 17:55

    お付き合い頂きありがとうございます。問題がなさそうか調べて、問題なさそうならこの方法で対処することにします。ありがとうございました。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.80%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る