池や海などの水面を作ろうとすると、シェーダを書いたり波動方程式を計算したり大変だ・・・!というイメージがありますが、Unityを使えば超簡単に無料で水面を作ることができます
地形を作る
まずは雰囲気を出すため(笑)地形を作っていきます。今回はAsset Storeで配布されている「Stones and buried treasure」というローポリのアセットを使わさせていただきました。
いい感じに岩や木、石を組み合わせて池を作ります。箱庭みたいで楽しい・・・
このままでは、まだまだ池の雰囲気のかけらもありませんね。いま作った池に水を張っていきましょう〜。
水面のアセットをインポートする
池ができたところで水面のアセットをインポートします。水面のアセットはStandard AssetのEnvironmentに含まれています。
ツールバーからAsset→Import Package→Environmentを選択し、その中から、Waterに関するものだけをインポートしましょう。WaterとWater(Basic)を選択してください。
インポートできたら、「Standard Assets/Environment/Water/Water/Prefabs/」の中にある「WaterProDaytime」をシーンビューにドラッグ&ドロップしてください。円形の水面が表示されます。これを池にフィットするように配置してください。
配置できたら、カメラの位置を調節して実行してみてください。水面に波紋のアニメーションが表示されましたね!
しかも、水面が揺れるだけではなく、周囲の岩が反射していたり、水中にある岩が揺らめいていたりと、なんともリアルです。
デフォルトでは水面の形状は円形ですが、インスペクタの「Water Plane Mesh」に任意の形状のメッシュを指定することで、好きな形の水面を作ることができます。ミッキーとかの形にもできますよ(笑)
また、波のスケールや反射・透過光の屈折などもインスペクタから調節できるようになっています。至れり尽くせりですねー。
まとめ
今回は簡単にUnityで水面&波の表現を作る方法を説明しました。水面の表現は作ってみるととても簡単で、見た目の効果は大きいので何かと重宝します^^