バーチャル3Dクリエイターの神部まゆみです(*^-^*)
今日は流体系unityアセットObi Fluidを買ったから、使い方を調べたり動かしてみたりするよ。
Obi Fluidについて調べてる人は参考にしてね。
Obi Fluidっていうのはこれね。
結構セールで安くなったりするっぽい?
私は定価で買いましたが。
- Obi Fluidを買った理由
- Obi Fluidを買う前の懸念事項
- 購入~セットアップ
- FluidViscosityサンプル動いた!Obi FluidはX230でも動くみたい
- FluidViscosityサンプルを構成しているオブジェクトを分析してみる
- SolveとEmitterをプレハブ化して、メインカメラの設定を同じにすれば別のシーンでも動くかな?
- さっそく先輩の記事を参考にして白濁液をぶっかけてみよう( *´艸`)
- Ci-enのほうでえっちな使い方を上げてみた ※18禁なので注意
- 2020/11/01追記:Unity Editor上で再生するとちゃんと表示されるけど、ビルドして実行すると表示されないみたい?
- 2020/11/02追記:ビルド設定が64bitになっていないことが原因でした( ̄▽ ̄;)
Obi Fluidを買った理由
無料のNVIDIA FleX for unityを使ってたんだけど、調整が結構難しいっぽい?
検索しても「こんなのができるよ」くらいで終わってる記事が多くて、突っ込んだ使い方が調べられなかったんだよね。
まぁ私の不勉強が原因なのですが( ̄▽ ̄;)

私はまぁあの、エロい液体をぶっかけたいとかそういう使い方をしたいだけなんだけど(///)、既にそういうことをやってる先輩が記事を上げてくれていたのと、Twitterでも同じような人が何人かいたからね。
こちらの頭のいい先輩の記事はかなり参考になりました( *´艸`)
ありがとうございます。




最近アセット買いすぎだけど、unityにハマってるおかげで他の出費が結構減ってるから、トータルだと出費は横ばいかむしろ減ってるかもしれない(笑)。
まぁ頭のいい人たちが作った技術を使ってバーチャル女子とイチャラブできるなら安いものだね(笑)。
Obi Fluidを買う前の懸念事項
私のThinkpad X230で動くか?
動かなければそろそろゲーミングPCでも買うか、EXP GDCとかの外付けでGTX10xx~16xxあたりのGPUでも付けようかなぁと思ってるんだけど。
ドライバ関係が少し大変そうだけど、X230は割と安定してEXP GDC可動報告あるみたいだし。
今のところ多少動作が遅くなることはあっても、blenderもunityも普通に使えてるからそのまま使ってるんだよね( ̄▽ ̄;)
でもObi FluidはCPUパワー食う?みたいな話も聞いたから、GPUあってもどうかな?わかんないけど。
とりあえず粘液系のサンプルさえ動けば、私の用途では使えると思う。
白濁液ドバッ!トロ~ って感じさえ表現できれば、それ以上使わないと思うし(笑)。
2020/11/06追記:ドスパラのゲーミングPCガレリアを買ったよ
まぁObi Fluidでちょっと液体出すくらいなら、X230でも動きますけどね。



液体の大きさを上手く変えられるか?
NVIDIA FleX for unityだと、私の知識不足からかちょうどいいサイズに変えられなかった。
大きいサイズだと上手く動くんだけど、小さくすると弾けちゃって使えなかったんだよね( ̄▽ ̄;)
でも先輩たちの事例を見てると普通に顔にぶっかけたりしてるし、問題なくいけそう。
指定したオブジェクトから、任意の場所で液体を発射できるか?
えっちな動画で使いたいからこれは極めて重要なんだけど、先輩の記事によるとスクリプト組めばクリック制御でコントロールできるみたい。




これは普通にできると思う。
購入~セットアップ
日本円で7000円ちょっとで買えたよ。
その後特に引っかかるところもなく、ダウンロードしてインポートできた。
んー、こう見ると既に使ってないアセットとかあるから後で消しておこう。
FluidViscosityサンプル動いた!Obi FluidはX230でも動くみたい
動くまで若干busyはあったけど。
というかNVIDIA FleX for Unityが普通に動いてたわけだから、まぁ動くだろうとは思ってたけど。
一応core i5入ってるけど第三世代だし、二万円台で買った10年近く前のパソコンで動くのはありがたいね(*^-^*)
まぁSSDにしたりメモリ増設したり、使わないソフトを消したり閉じたりとかはしてるけどね。
重力の値を変えれば動きを遅くしてネットリ感を出せるっぽい?
なんか減衰のバーと被ってるのが気になるところではあるけど…。
y軸の重力を0にしたら無重力っぽくなって上に行ってしまった(笑)。
結構色々自由にコントロールできるっぽいね。
FluidViscosityサンプルを構成しているオブジェクトを分析してみる
このサンプルは6つのオブジェクト+1個の子オブジェクトで構成されてるみたい。
Main Camera これを通さないとObi Fluidが見えない?
設定項目はこんな感じ。
これなくても普通のカメラを使えば大丈夫だろうと思ったけど、何故かObi Fluidが映らなかった。
「Obi Fluid Renderer」っていうコンポーネントが重要なのかな?
「Flare Layer」とかいうコンポーネントも気になる。
TestEnvironment 壁と床の役割。無くても動く
メッシュコライダーとObiコライダーが設定されてるくらいかな。
オフにすると床に落ちて溜まる演出が見れないだけで、それ以外は問題なく動く。
ちなみに、通常のコライダーが無いとObiコライダーは追加できないみたい。
2020/11/15追記:ここの設定次第で、32bit(x86)ビルドするとエラーで起動しなくなるみたいです
詳しくはこちらで書いたけど。



Obi Coliderコンポーネントの「Distance Field」に指定されてる「EnvironmentDF」が原因みたい。
Unityの再生ボタン押して動かすだけなら問題ないけど、ビルドして使う場合は注意したほうがいいかも。
Directional Light 普通のライト。無くても問題なし
無くてもちょっと暗くなるだけだから、特に動作に関係なし。
Solver 子オブジェクトのEmitterと組み合わせて動作?重要
重要だけど、これ単体というか子オブジェクトのEmitterと二つで一つ的な感じかな。
Emitter 重要
ここからパーティクル的なのが出てきて動作する感じかな?
とりあえずSolverとEmitterをまとめてプレハブにして他シーンで読み込んで、メインカメラの設定も同じようにすれば動くかな?
Sphere 液体を受け止める用にコライダーとかが設定されてるだけ?なくてもいい
このサンプルにリジットボディって必要なのかな?
普通にコライダーだけあれば動きそうだけど。
OniCollisionWorld 不明
大したコンポーネントはなさそうだけど。
SolverとEmitterをプレハブ化して別のシーンで読み込んだら、何故かこのOniCollisionWorldも読み込まれた。
セットで必要になるのかもしれない。
SolveとEmitterをプレハブ化して、メインカメラの設定を同じにすれば別のシーンでも動くかな?
やってみたら白いギズモがなんか動いてるっぽいんだけど、なぜか表示されない(-_-;)
カメラを通したゲーム画面の映像でも出ないから、何か設定が間違ってるのかな?
うーん、とりあえず
- MainCamera
- Solver
- Emitter
- OniCollisionWorld
さえあれば液体が出るはずなんだけどね…。
OniCollisionWorldは、インスペクターでオフにしたら強制的に一個生成された( ̄▽ ̄;)
サンプルをいじってみたけど、どうもカメラが原因っぽい
カメラを新規作成して、サンプルに最初からあるMainCameraと同じコンポーネントとパラメーターにしてみたんだけど、なんか液体が映らなくなった( ̄▽ ̄;)
でもカメラをサンプルのメインカメラに変えると映る(-_-;)心霊現象かな?
他にもパラメーターとかあるのかな?
Obi Fluid RendererコンポーネントのParticle Rendererが設定されていないことが原因だった( ̄▽ ̄;)
この矢印で隠れてたやつ!ここで二時間くらい詰まった(-_-;)
ここのサイズが0になってたから、1にしてEmitterを設定したら無事表示されたよ。
とりあえず無事に他のシーンでも動作させることに成功!
とりあえず頭にだけスフィアコライダーとobiコライダーを仕込んでます。
さっそく先輩の記事を参考にして白濁液をぶっかけてみよう( *´艸`)
ちょっと液体の挙動は気になるけど、一応できた!
大きさは半径を変えたら普通にちょうどよくできた。
ただ、なんか液体が結合しようとする力が強すぎるのか、位置的に下にある液体が上にある液体に合流しようとしてなんか微妙な感じになってるけど( ̄▽ ̄;)
まぁとりあえずはいい感じにできたかも。
完全な白にもできたけど、少しは影があって透過してたほうがいいかな?
このあたりは好みだと思う。
白にするには、透明度下げたりマテリアル設定っぽいやつをいじればいいっぽい
ここは先輩のページを参考にしようとしたら、アセットのバージョンアップで設定項目が変わってるのか、参考にできなかった(-_-;)
でもいじってたらだいたいわかってきたよ。
まずEmitterの設定で色を白に変えて、
カメラにあるObiFluidRenderer内の赤枠部分と、Redlactionのtranceparencyとかいうのをいじればいい感じになるっぽい。
Oneになってるのは、これは単色みたいな意味かな?
最初は影がついたりしてて黒っぽかったんだけど、全部Oneにしたら白になった。
基本は全部Oneにして、4つあるうちの1~2個くらい変えて調整するといいかな?そもそもどれがどんな機能なのかもよくわからないけど( ̄▽ ̄;)
Transparencyは多分透過かな?でも赤枠の4つの項目でも透明度が変わったりしたので、他の項目との組み合わせ次第だと思う。
先輩が開発したスクリプトで、自在に射〇をコントロールできるようになった!(笑)
こちらの頭のいい先輩が開発したスクリプトを使わせていただきました。
ありがとございます。




これでぶっかけをコントロールしたら、なんかすごいエロくなった( *´艸`)
私がやりたかったのはこれだよ!あとはもっと色とか挙動を細かい感じで調整すれば…。
実際はフィニッシュのシーンで出すだけだから連射とかあんまりしないと思うし、LifeTimeを長めにやればいいかな。
このアセットは期待できるね!(笑)買ってよかったよ( *´艸`)
完全に白い感じも悪くないかも
カメラのObi Fluid Rendererの、Surfaceなんとかっていうパラメーターをオフにしたら真っ白になった。
これも悪くないかも( *´艸`)
おお…お〇んぽみるくしゅごい(///)
Ci-enのほうでえっちな使い方を上げてみた ※18禁なので注意
18歳未満の方や、えっちなのが苦手な方は見ない方がいいでしょう( ̄▽ ̄;)
一応「こんな使い方ができるよ」という参考までにリンクを貼っておきます。
まゆみの顔やおっぱいに濃厚白濁液をぶっかける!ニンシンしちゃうううう(///)|Ci-en
2020/11/01追記:Unity Editor上で再生するとちゃんと表示されるけど、ビルドして実行すると表示されないみたい?
こっちに書いたけど、なんか表示されない(-_-;)



Unity Recorderとかで録画して動画用に使うだけなら問題ないんだけど、ゲームに使うにはこの不具合を解消する必要がありそう(-_-;)
このアセット、調べてもあんまり情報が出てこないんだよね…。
2020/11/02追記:ビルド設定が64bitになっていないことが原因でした( ̄▽ ̄;)
なんとか自力で解決できて良かったよ。



2020/11/06追記:32bitでも動作確認できました。サンプルだけ動かなかったっぽい?
こちらに追記したよ。



SolverとEmitterをプレハブ化してサンプルから取り出して使ったら、32bit環境でも問題なく動いた。
サンプルだけ、どこか64bit環境依存の何かが使われてるとか?
詳しい原因があるのか、もしかしたら私の環境だけなのか、ちょっと分かりません。
2020/11/15追記:Obi ColiderコンポーネントのDistance Fieldに指定されてるEnvironmentDFが原因だった
ここさえ「なし」にすれば32bit(x86)ビルドでも問題なく動きました。
FluidViscosityサンプルをそのまま他のシーンに読み込む場合は注意したほうがいいかも。


