Obi FluidとMTOONでUNITY_LIGHT_ATTENUATION関連のエラーが出た!その後動いたけど原因不明

Obi Fluid

またObi Fluidでビルドエラーが出たのでメモ。

 

Obi Fluidっていうのはこれね。

————-PR———————-

現在、2021年の新作人気アセットが50%オフで買えるunityアセットリフレッシュセールをやってるみたいです(日本時間2021/10/02 PM15:59まで)。

unityアセットリフレッシュセール50% off

欲しいアセットはこの機会に買っておくと良いかも。

————————————-

 

エラー内容

エラーは二つ。

Shader error in ‘Obi/Particles’: invalid subscript ‘_ShadowCoord’ at line 100 (on d3d11)

Error building Player: Shader error in ‘Obi/Particles’: invalid subscript ‘_ShadowCoord’ at line 100 (on d3d11)

ParticleShader.shaderファイルの100行目でエラー?

エラーをクリックしたら、エラーが出てるのはこのファイルの100行目みたい。

100行目はこれ。

UNITY_LIGHT_ATTENUATION(atten,i,0);

MTOONでも同じ感じのシェーダーエラーが出ていた( ̄▽ ̄;)Obi Fluidだけの問題じゃなさそう

Shader error in ‘VRM/MToon’: invalid subscript ‘_ShadowCoord’ at Assets/AssetStore/uniVRM/VRMShaders/MToon/MToon/Resources/Shaders/MToonCore.cginc(165) (on d3d11)

 

検索したら、似た場所でエラーになってる人がいた。

UniVRMをAndroid向けにビルドするとMtoonで躓く現象の回避方法 - Qiita
環境 macOS 10.14.6 Unity 2018.4.9f1 UniVRM 0.53.0 起こったこと UniVRMを含むプロジェクトをAndroid向けにビルドすると、次のようなエラーが発生し、ビルドに失敗した。 ...

この人も比較的近いエラーかな?

Oculusアプリのビルドでエラーになったときの対応について(Unity)|ひでゆき|note
UnityのShader Forgeを使用して作ったシェーダーは、ビルドのときにエラーが出るときがあります。 原因は、Shader Forgeを使用して作ったシェーダーの中で、使えるシェーダーAPIを判別しているのですが、ここで正しく判別できないためです。 エラーの改善方法は、Player Settingsの...

自動グラフィックAPI for windowsのチェックを外して、OpenGLES3を追加したらビルドできたけど、これ関係ないんじゃ…?

でもOpenGLESって、androidとかモバイル向けっぽい?けど…。

これ関係ないんじゃない?

これで本当に解決したのかは不明(;^_^A

その後再起動してみたらエラー再発!該当部分をつぶさないとダメっぽい

なぜビルドできたりできなかったりするのかは不明(-_-;)

はー、こういうのAIで自動検知とかして、なんとかできないんですかね。

MTOONのほうも UNITY_LIGHT_ATTENUATION でエラーが出てるみたい

MTOONのほうはここでエラーが出てるみたいで、Obi Fluidのほうと構文が同じ。

UNITY_LIGHT_ATTENUATION(shadowAttenuation, i, i.posWorld.xyz);

 

解決法 コメントアウトしてみる ※一応ビルドは通ったが、表示がおかしくなった

該当部分をコメントアウトしたら、ビルドは通ったけど実行したらシェーダーが死んだ( ̄▽ ̄;)

あれ、でも肌以外もMTOONなんだけど、あまり影響受けてないっぽい。

肌は形が複雑だから、法線とかそういうので影や光の影響を受けやすいからかな。

 

MTOONは切り捨ててUTS2にするとかならいけるかもしれない。

でもMTOONの透過は楽で優秀なんだよね。

肌だけUTS2にするのもいいかもしれない。

コメントアウトしたのを戻したらまた正常にビルドできた( ̄▽ ̄;)unity、私に構ってほしいだけなのかい…?

これなんか設定のせいなんじゃない?

挙動が不安定すぎるよ(-_-;)

その後再起動したらまた正常にビルドできた。とりあえず保留で…

これビルドの際にエラー起きる感じみたいだから、なんだろ。

Unity Editor上では問題なく再生できるし。

ビルドして作ったフォルダを削除してみたり、unity再起動したり、シェーダーを再インポートしたりして読み込みなおすと上手くいくのかもしれない。

キャッシュとかそういう感じの不具合とか?

 

とりあえず一応動くっぽいから、保留にしておきます。

 

タイトルとURLをコピーしました