はじめに
海や川などの水の表現は、ゲームによく使われますが、自作するとなると大変です。

水流とか波を表現するのはどうすれば、、、
Unity 2022 LTS以降から、HDRPでは新機能「Water System」が搭載され、誰でも簡単にリアルな水表現を作成することができるようになりました。

これを使うと、こんな風に綺麗な海を作ることができるようになります。

本記事では、実際にWater System使を使ってみて、川の流れや海などを作ってみます。
Water Systemの導入方法
まずは、Unity 2022 LTS、または2023以降でプロジェクトを作成します。
今回は、2022.3.4f1で試してみます。3D(HDRP)で作成しましょう。

海を作ってみよう
プロジェクトが開いたら、ヒエラルキーからWater Surface > Ocean Sea or Lakeを選択します。

これだけではまだ海は表示されていません。
HDRPの設定
インスペクターを見るとHDRPの設定を変える必要があるようですので、Openをクリックします。

WaterのEnableとScript Interactionsにチェックを入れます。

また、HDRP Global SettingsのRendering > Waterにチェックが入っていることを確認しましょう。

Sky and Fog Volumeの設定
次に、Sky and Fog Volumeを選択し、インスペクターから、Add Overrideをクリックして、Water Renderingを追加します。

追加したWater RenderingのALLをクリックして、StateをEnabledにします。

海が現れました!

プールの水を作ってみよう
次にプールの水を作成してみます。ヒエラルキーから、Water Surface > Poolを選択します。


プールの水面ができました!水面の下も水があるように設定するには、Under Waterにチェックを入れます。プールのコライダー(緑色のボックス)の内側から見ると、水が入っているように見えます。


川の流れを作ってみよう
最後に川を作ってみます。ヒエラルキーからRiverを作成します。


水の流れの速さを変えるには、Time Multiplierの値を大きくします。0にすると止まります。
風の影響もLocal Wind Speedからシミュレーションできます。

川の形状を作るには
デフォルトでは、長方形になっていますが、川の形状から作りたい場合は、Water SurfaceのGeometry TypeをCustomMeshに変更して、Meshに自身で用意した形状のメッシュを設定することで、川がその形状になります。


おわりに
Water Systemの紹介でした!一度HDRPの設定をすると簡単に水を作ることができるので、非常に便利な機能ですね。
URPで水表現を作成するのにおすすめのアセットはこちら。
