バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はObiFluidの見栄えを調整したのでそれについての記事です。
ObiFluidってのはこれね。
URPとBIRP、unity6000.0.32と2022.3.22で動作確認しました。
やりたいこと:見栄えを調整して白濁液っぽくする
サンプルをいじって割と良い感じに動かせたけど、見た目がなんかデフォルトマテリアルっぽいのでもう少し見栄えをいじりたいですね…。
URPで使うには設定が必要
そのままでも動きはするけど灰色になっていたので設定が必要。
ObiFluidSurfaceMesherをいじると良いっぽい
↓こちらの公式ページに書いてあるけど、ObiFluidSurfaceMesherコンポーネントをいじると見栄えをいじれるっぽい。

Emitterのパスを変えると透明と不透明を切り替えられる
EmitterのObiFluidSurfaceMesherコンポーネントのパス。
FluidPassOpaqueで不透明、FluidPassTransparentで透明にできる。
不透明だと影が強いため、カリングマスクでライトを当てると良い感じかも
カリングマスクを使うと特定のレイヤーのオブジェクトだけ光を当てたりできて、ObiFluidの液体にも適用されます。
詳しくはコチラ。
↓みたいにObiFluidの液体にだけ光を当てたりできる。
ぶっかけてみるとこんな感じ。ライトの強さ100近くするとほぼ白くなるため、白濁液っぽくなった。
これならライトの色を変えれば色も変えられるし、ライトのカリングマスクでどのレイヤーに光を当てるかコントロールできる。
んーこれが一番良いかな?
やり方:SolverとEmitterのレイヤーを設定し、ライトでそのレイヤーだけ照らすようにする
Solverのレイヤーを変えて子にも適用するとMaincamera、Emitterのレイヤーも変更されます。


あとEmitterのObi Surface Mesherのレイヤーのところも設定しないとカリングマスクがちゃんと動作しなかった。


あとは発射する場所の近くにポイントライトを置いて、カリングマスクにObiのレイヤーを設定。色を変えたりライト強めにしておけば良い感じに照らせます。


これで白濁液っぽくなった
これで白濁液っぽくなったかな。
色を変えたければライトの色を、影の色をちょっと変えたければSolverかEmitterをいじると良いかな。
透明なTransparentのほうが調整が難しいか?
サンプルをいじるレベルだと透明でも色を変えやすいんだけど、ライトなど環境によって見え方が違ってくるから透明なほうが調整が大変かも?
単に透明にするだけならすぐできるけどここから色をつけたりの見栄え調整がパラメーターいじってもなかなか変化しなかった。
まぁ透明なやつはサンプルにたくさんあったから、サンプルいじりながらパラメーターいじってみると良いかもしれない。
追記:シェーダーによってはデフォルトで白くなるっぽい
これはBIRPの話で、URPではやってません。
Obi Fluid Surface Mesherのここをカスタムにするとマテリアルが指定できるけど、


シェーダーをObiのやつにしたらどれもだいたい白っぽくなりましたね。これObiの液体用で普通のマテリアルとはちょっと違うっぽい。


こっちのほうがライトの設定しなくていいからラクかな。真っ白くなるだけで調整は効かないけど…。
おわりに
割と良い感じに調整出来て良かった。
あとはCollisionの挙動を少しいじって調整したいかなあ。
また何かあれば追記します(*^_^*)