LoginSignup
1
0

More than 3 years have passed since last update.

UnityChanSSUをAndroid実機ビルドした際シェーダのコンパイルエラーで失敗した時の対処法

Last updated at Posted at 2020-09-28

個人的に偶然キレイなビジュアルが作れたので、PCではなくスマホで動かしたくなりました。

Androidビルドした所、UniversalToonシェーダのコンパイルエラーで失敗。

Shader error in 'Universal Render Pipeline/Toon': invalid subscript 'vertexSH' at /Unityプロジェクトまでのパス/Packages/UnityChanToonShaderVer2_Project-release-urp-2.2/Runtime/Shaders/UniversalToonBodyDoubleShadeWithFeather.hlsl(41) (on gles3)

上記のようなエラーが出力されていました。

シェーダの確認

エラー内容に従ってシェーダを調査します。


UniversalToonを選択してインスペクタを確認。

おおお、、エラー沢山。。。
とりあえずinvalid subscript 'vertexSH'が原因ぽい。

シェーダのReimportで解決

UniversalToonを右クリックからReimport実行。

なぜかと言われると答えられませんが、UniversalToonシェーダをReimportすると直ります。

するとこのようにきれいなインスペクタに戻ります。

ビルドは成功しませんでした

インスペクタ上ではコンパイルは成功しているのですが、実機ビルドでは失敗します。また、再度シェーダのインスペクタを見てみるとエラーは元に戻っていました。

OpenGLES3.1をターゲットにする

Require ES3.1にチェックを入れることでビルドが成功しました。
詳しく調べられてはいませんが、ES3.0以下では対応していないシェーダがあったということだと思われます。

無事に動いた!!

無事にUnityChanSSUがAndroid実機で動くようになりました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0