Obi Fluidをインポートしたら「failed to open source file」のシェーダーエラーが出たのでメモ

Obi Fluid

 

環境はunity 2019.4.13f1(LTS)です。

Obi Fluidをインポートし、試しにビルドして実行しようとしたらエラーになった。

■PR■

現在Meta Quest2 128GBが13%割引で買えるうえ、なんと「Space Pirate Trainer DX」と「GOLF+」がタダで貰えるようです(2023/04/02 23:59まで)。

ザッカーバーグ氏太っ腹すぎる…Σ(゚Д゚)

Meta Quest 2—完全ワイヤレスのVRヘッドセット【2023/06/03まで「Space Pirate Trainer DX」「GOLF+」無料ダウンロード付】—128GB|Amazon

この機会にメタバースデビューしておくのも良いかも。

エラーログ

・Shader error in ‘Obi/URP/Particles’: failed to open source file: ‘Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl’ at Assets/AssetStore/Obi/Resources/ObiMaterials/URP/ObiLightingURP.cginc(4) (on d3d11)

・Shader error in ‘Obi/URP/Simple Particles’: failed to open source file: ‘Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl’ at Assets/AssetStore/Obi/Resources/ObiMaterials/URP/ObiLightingURP.cginc(4) (on d3d11)

・Shader error in ‘Obi/URP/Fluid/FluidShading’: failed to open source file: ‘Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl’ at Assets/AssetStore/Obi/Resources/ObiMaterials/URP/ObiLightingURP.cginc(4) (on d3d11)

 

ObiLightingURP.cginc ってファイルの4行目、include部分でエラーが出てるっぽい?

該当部分をコメントアウトしたら、また別の部分でエラーが出たから、キリがなさそうなので辞めた( ̄▽ ̄;)

解決?:URPフォルダごと削除したらエラーが消えた。後で問題が起きないかは不明(;^_^A

とりあえず単純に消してみたら通った。

FluidColorOpaque.mat とかいうマテリアルファイルがエラーで紫になってるのが気になるところではあるけど( ̄▽ ̄;)

URPってなんか高画質な感じのやつっぽい?

Obi Fluidはちょっと白濁液を飛ばす感じに使いたいだけだから、いらないかなぁと思って躊躇なく削除してみたけど、後で問題が起こらないかは不明。

問題が起こるようなら追記します。

 

ーーーーーーーーーーーーーーーー

追記:

Obi Fluidを一回消して再インポートしても、↑のマテリアルはデフォルトで紫のままだったので、たぶん気にしなくていいと思います。

ーーーーーーーーーーーーーーーーー

追記:Fluid Viscosityのサンプルは動いたから、私の用途では問題なさそう

ちゃんと動いた。

 

私の用途ってのは、以前記事で書いたけどこういうやつね(笑)。

Obi Fluid(液体系Unityアセット)の使い方を調べて動かしてみる!これで白い液体をぶっかけられるか?
バーチャル3Dクリエイターの神部まゆみです(*^-^*) 今日は流体系unityアセットObi Fluidを買ったから、使い方を調べたり動かしてみたりするよ。 Obi Fluidについて調べてる人は参考にしてね。...

 

URP?とかいうので高画質の描画的なやつをする場合には問題になる?可能性があるかもしれないけど、私の場合は大丈夫かな。

 

更に追記: 再生ボタンを押すとちゃんと表示されるが、ビルドして実行すると表示されない(-_-;)これはもしかしたら、以前からそうだったのかも?

これは多分この記事のエラーとは関係ないと思うんだけど、Unity Editor上で再生ボタンを押すとちゃんと表示されるんだけど、ビルドして実行するとなぜか表示されない(-_-;)

これまでは動画作るために使おうと思ってたからビルドなんてしなかったんだけど、これもしかしたら以前からこの不具合出てたのかも?

原因は不明。

でもObiFluidじゃないけど、「Unity Editor上で再生すると表示されるけど、ビルドして実行すると表示されない」って不具合は割とあるっぽい?

 

んー、もうこのアセット設定が大変だから、とりあえずは使うのやめとこうかな?(-_-;)

作者さんが日本人じゃないから、サポートしてもらう時も英語の壁があってキツいし…。

ぶっかけ表現だけなら、適当に液体っぽいメッシュ作ってシェイプキーで動かしたほうがコントロールしやすくて良い気がするし。

とりあえず、これ以上このアセットをいじるのは保留にしておこう。

 

更にさらに追記: アーキテクチャをx86_64にしたら解決しました

そんなことかよ!って感じだけど(笑)、ビルドとかこれまでやったことなかったので…( ̄▽ ̄;)

Obi Fluidをビルドして実行すると表示されない問題は、アーキテクチャをx86_64にしたら解決した ※追記あり
バーチャル3Dクリエイター神部まゆみです(*^-^*) 前回言っていた問題が解決したのでメモ。 Obi Fluidってのはこれね。 ーーーーーーーーーー 追記: 下に追記しましたが、FluidVisco...

まぁ解決してよかったよ。

2020/11/06追記:32bitでも動作確認しました

↑の記事に追記しといたよ。

サンプルだけ動かなかったっぽい?

原因はちょっとわかりません。

更に追記:原因が分かった!Obi ColiderコンポーネントのDistance Fieldに指定されてるEnvironmentDFが原因

詳しくはこちらで。

Obi FluidのFluidViscosityサンプルを32bitビルドすると動かない問題は、Obi ColiderのDistance Fieldが原因だった
原因が分かったのでメモ。 unity 2019.4.13f(LTS)で動作。 あくまでも現時点でこうやったら私はこうなったというメモなので、参考程度に。 前回の記事はここ。 Obi F...

ここが32bitだと動かないっぽい?

詳しくはわからないけど、ここを なし にしたら32bitでも正常に動いた。

 

まぁ原因がわかってよかったよ。

 

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