原因が分かったのでメモ。
unity 2019.4.13f(LTS)で動作。
あくまでも現時点でこうやったら私はこうなったというメモなので、参考程度に。
前回の記事はここ。




Obi Fluidっていうのはこれね。
FluidViscosityサンプル内のTestEnvironmentオブジェクトの、Obi Coliderコンポーネントが原因
これの、
これ。
このObi Coliderをインスペクターオフにしたら、32bitビルドでも正常に動作した。
Obi Coliderコンポーネント内のDistance Fieldを「None(なし)」に設定したら32bitでも正常動作した。これが原因っぽい
どういう意味がある項目なのかわからないけど、ここが64bit依存とか?ちょっとわかんないけど…。
なし にしたら普通にビルドして動かせた。
EnvironmentDFに戻したらまた動かなくなったので、ここが原因であってるっぽい。
Obi ColiderはObi Fluidの液体を受け止める時に使うから注意
Obi Coliderをオフにすると液体がすり抜けちゃいます。
と言っても、「コンポーネントの追加」からObi Coliderを追加すると、デフォルトではObi ColiderのDistance Fieldは「なし」になってるけど。
FluidViscosityサンプルに入ってる床のEnvironmetだけ、不具合の原因になったEnvironmentDFが指定されてるみたい。
私のモデルにObi Coliderつけて、Distance FieldにEnvironmentDF指定して32bitビルドしたら強制終了した。やっぱこれが原因かな
一応やってみた。やっぱりダメっぽいです。
その後アーキテクチャをx86_64にしてビルドしたら大丈夫だったので、やっぱりEnvironmentDFは32bitだとダメっぽい。
まぁEnvironmentDFはサンプル用なのか?指定してもすり抜けちゃいましたけど。
windows10 32bitを入れたVM環境でも同様のエラーを確認
32bitビルドEnvironmentDFあり
32bitビルドEnvironmentDFなし
32bitの実機は持ってないのでわかりません( ̄▽ ̄;)
おわりに
一からObi Fluidのコンポーネント追加すれば、今回みたいな不具合はあんまり起きないかもしれないけど。
とりあえずサンプル動かしてみて、サンプルからオブジェクト持ってきて…ってやると、今回の事例で原因がわからず詰む可能性もあるかも( ̄▽ ̄;)
ただ、ほかの人もそうなのか、私だけの問題だったのかはわからないけどね。
なにぶん検索しても日本語の情報が少ないアセットなので…。
まぁ原因がわかってよかったよ。
あくまでも私の場合はこうやったらこうなったというだけなので、参考程度にね。