水の妖精のキャラクターマイムちゃんを生み出したので、いままで使ったことがあるUnityの水のアセット3つを改めて使って、マイムちゃんに戯れてもらおうと思います。
StandardAssetの水
Asset>ImportPackage>Enviromentで入れることができるWater
Water4とかWater(basic)とかありますが、無印Waterがいいそうです。
これWaterProDaytimeでの例ですが、Water ModeをRefractiveにして、マテリアルのReflection distortとかRefraction distortをいじるとこんな感じになります。
— オノッチ (@onotchi_) August 19, 2018
water4はUnity4時代からのだし、basicは反射とかが無い気がしますね。 pic.twitter.com/6h1yVqKekI
知らなかった・・・今まで雰囲気でやってた。
WaterModeでReflective(反射)とRefractive(屈折)があります。
Reflective(反射)とRefractive(屈折)
反射のほうが空をがっつり反射していて、屈折はある程度地面が見えています。
DayTimeとNightTimeの違いはシェーダーの反射テクスチャの濃さの違いでした。
上のパラメーターをいじると波が変わります。
Scaleは波の大きさ
Reflection distort(反射歪み)は水面の反射のうごめき。
0にするとまるで波がないかのような反射
Refraction distort(屈折歪み)は水の中にある物体のうごめき。
0にすると足が屈折せずに見える
ちなみにCameraをskyboxではなくSoldColorにしてもちゃんと反射する。きれい
参考
Realistic water
22ドルのリアルな水のアセット。買ってたんですよ!
でもね記事にしてなかった!びっくり!!!!
絶対してるやろって、自分のブログをググっても一つも出てこない。
強いて言えばこのゲームで使っていたぐらい
しょうがないので書きます。
このアセットはunity5向けなので2018では一部動かない可能性もあります。私は動きました。
サンプルシーン
4つのシーンがあります。
Lake:湖でボートに乗る
Pool:cubeが浮かぶよ~
Rivar:荒い川。女の子を載せるものではない
Sea:穏やかな海
オブジェクトを浮かせる
オブジェクトを水に浮かせるにはこんな感じでつけたらいい。
コライダーとrigidbodyが必須
Buoyancyというスクリプトが浮くためのやつ
RippleCreaterは波紋を生成するものなので付けなくてもいい。
浮かせるものの向きを変える方法はRigidbodyのConstraintsのFreezeRotarionの回転させたくない方向にチェックを入れる。
そして実行する前からその向きにモデルを倒して置いたら、こんな感じで浮かせれた!
特にこの場合x方向酒は絶対チェックを入れないとすぐ立て向きになってしまった。
あと浮かせるもののスタート位置はこの水のコライダー?があるところじゃないと、沈んでしまう。
緑の範囲
水のプレハブ
プレハブも4つです。
Pool単体では何も映りません。
家のプールに設置しました。
水自体は透明なので、底に何かしかないといけないですね
副作用で家の中が水っぽくなって、窓からfogが差し込んでいます。
下がプールなし
よくわからないけどすごい
Nvidiaの水
一度消えていた本体は復活したようですが、今度は遊ぶのに必要なサンプルアセットが消えていました。
私は昔ダウンロードしたのが手元にあるからいいけど・・・
とにかく遊びます。
パラメーターの調整が難しくて、うまくできない。
噴水のパラメーターはこんな感じ
最後に
同じ水だけど、いろいろ特徴が違うので用途に合わせて使えますね。
パラメーターの調整が難しいけど。
(追記メモ)InteractiveWater
Causticsの計算をして水底のキラキラを表現してみた!不完全な気はするけど、リアリティ向上は出来た気がする。 pic.twitter.com/wnYdAxDX1o
— らくとあいす (@rakuraku_vtube) May 6, 2019
使ってないけどすごそう
最後に
アフェリ用の商品探してたら卓上ウォーターサーバーがあった。
ペットボトルとかに水を入れて、スイッチを入れるとお湯や冷水になる。