皆さん大丈夫でしょうか。
人の集まる場所に寄らないのが賢明かと思います。
また手洗いが大事とか、日ごろの手洗い習慣が生きてきます。
自粛ムードが漂う中、
こんな時こそ、家に籠ってプログラムの勉強をするのがいいかな…
なんて思う今日この頃なんですが、一日も早く撲滅を願っています。
さて、本題に移るのですが、
水を使ったゲームがありますよね。
ケロは、一時期ハッピーグラスにハマっていました。
水の動きって独特なんですが、どうやって作るのか疑問に思っていました。
調べると、レンダリングやシェーダーと言う言葉が見つかります。
正直、ぜんぜんわかりません(?+_+)
ま、今後の勉強課題として取っておきます(°-°;)ヾ(-_- ;) シモシモ・・
そんなUnity情弱のケロにも手軽に実装できるassetがあるようで、
その名もWater2D
無料assetで水遊びができるとは、世も末です。(V)o\o(V)ふぉふぉふぉ
早速インポートして遊んでみたいと思います。
まず、assetstoreから検索でっす。
プロ版は有料なんですな。
間違えずに無料版をポチっと押します。
インポートについては端折りますが、インポートが終わると
Water2Dのフォルダが出来ているかと思います。
この中のSCENESを開くと
サンプルのSceneファイルが5つ程あります。
左からオイル、水、水2、水3、水4
Sceneサンプルがあります。
基本的には、オイルと水の違いとColliderに当たった動きなどが確認できます。
早速、流用できるか遊んでみたいと思います。
水遊びをするのに準備が必要となるので、
簡単にまとめます。
・新しいSceneを作成してメインカメラを削除
・カメラプレハブをScene内に配置する
・蛇口のWater2D_Spawnerを配置する
・水粒子または、オイル粒子のDropを配置する
配置はフォルダ内のプレハブをヒエラルキーにアタッチすればOKでっす。
配置するとスクショのようになってるかと思います。
今回は水粒子を使ってみます。
このままでは動作しないので、初期設定をしていきます。
まず、水粒子のPhysics Materialsを設定します。
WaterDropをクリックしてインスペクターを見ると
RigidbodyとColliderがあります。
この二つのマテリアルに水の性質を追加します。
丸ボタンを押せばマテリアルの一覧が表示されるので、今回はRegularを選択します。
マテリアル設定が終わったらWaterDropのチェックを外して非アクティブにしておきます。
続いて、Water2D_Spawnerの設定をします。
WaterDropObjects これは、水粒子または、オイル粒子のプレハブを格納する変数です。
WaterMaterial これは、3Dではおなじみのマテリアルです。
この二つを設定します。
まず、WaterDropObjectsから
最初に配置したWaterDropをWaterDropObjectsの文字の上にアタッチします。
アタッチするとサイズと要素0が追加されます。
要素0にはWaterDropが入っている状態になります。
これでPLAYすると水が一粒生成されます。
サイズは粒の数になるので、この状態でサイズのみ変更します。
今回は、100にします。
サイズを変更すると自動的に要素を用意してくれるようです。
続いて、WaterMaterialを設定します。
マテリアルの選択部分に丸のボタンがあるのでクリックすると
SelectMaterialが開くと思います。
この中にあるAlphaCutoutを選択します。
SelectMaterialが開かない場合は、Water2Dフォルダの中にMaterialsと言うフォルダがあるので、
その中にAlphaCutoutがあるので、アタッチしてもOKでっす。
これで準備ができたので、PLAYしてみます。
水が出ました… が斜めになってます。(ToT )( ToT) ウルウル
真っ直ぐに出したいので、調整します。
Water2Dの下の方にInitSpeedの項目があるので、ここを調整します。
単純に射出方向ととらえればいいかと。
X軸を調整すると左右方向に、Y軸を調整すると上下に射出調整ができます。
数値の大きさで水の勢いが変わります。
今回は真下に出すのでX軸のみ0に変更します。
これで準備ができたので、遊んでみたいと思います。
新しくObjectを作ってColliderを設置して、できたのがこちら
コップの絵が幼稚園レベル(T^T) ヒック
絵が酷いのは忘れて下さい。
ハッピーグラスの様にコップに水を受けてみたいと思います。
動画を作ったのでどうぞ
再生できない場合、ダウンロードは🎥こちら
コップまで水が届かない ( ゜.゜) ポカーン
実は、Water2Dは水の粒子をエフェクトカメラを通して
水の様に見えるようにしています。
この粒子一粒がWaterDropとなります。
WaterDropは、
・画面中の粒子の数
・粒子の大きさ
・粒子のライフタイム
・粒子の生成間隔
4つを設定できます。
画面中の粒子の数は、上で設定した100粒になります。
残り3つの設定は
この部分を変更すれば変える事ができます。
コップに水を溜めたいので、ライフタイムを10秒にしてみます。
再生できない場合、ダウンロードは🎥こちら
無事に溜める事ができました。ヽ(´▽`)/~♪
ライフが10秒なので、10秒過ぎれば粒子は消滅します。
消滅して数が減った分は、新しく蛇口から供給される仕組みなんですね~
このassetは、いろいろと遊べそうでっす。
もう少し遊んでみて、調整できた事などを
次回ブログでまとめてみたいと思います。
それでは、皆様コロナに注意しながら
よりよいプログラムライフを満喫して下さい (^.^/)))~~~bye!!
この記事へのコメント