本日はUnity枠です。
Unityでは近年HDRPにおいて様々な新機能が開発、追加されています。
今回はその中で水の描画に使用されるWaterSystemの新機能でサンプルパッケージが公開されていましたのでこちらを見ていきます。
〇WaterSystemとは?
WaterSystemはUnityのハイエンドデバイス向けのパイプラインであるHDRPでのみ利用可能なレンダリングシステムで、その名の通りUnityにおいてリアルタイムな水の描画を行うことができます。
ドキュメントはこちらになります。
Unity2022前後に搭乗し、もともとプールや海の再現は可能でしたが、今年のGDC2023において川から海への流れや、砂浜に向けての波など多くの新機能が発表されました。
こうした中Unityからサンプルシーンが提供されましたので今回こちらを触っていきます。
このサンプルは本日現在ではベータ版であるUnity2023.2で作成されています。
〇サンプルを触る
①CloneしたプロジェクトをUnity2023.2で開きます。
②Assets/ScenesにScene01~03までの3つのサンプルシーンがあります。
〇Scene01 Island
アイランドは南の島風のサンプルです。
実行ボタンを押すと三人称視点のゲームとしてプレイヤーを動かすことができます。
海はひざ下までは入ることができますが、それ以降のエリアはコライダーが設定されています。
注目すべきは影が海、砂浜で2重に描画してくれているという点です。
どちらも水による影響を受けています。
肝心の波に関してはゲームとしてはよく見ますが、ゼリーっぽくリアル感はなく感じました。 他のクオリティが高いからこそ気になる部分ですね。
また空に関してはHDRPのVolumetric Cloudsの機能によりリアルタイムに雲が描画されてれており、Windの機能を使用することでアニメーションされるようになっています。
リアルタイムに環境が作られているからこそ太陽光が雲で隠れるといった演出も可能です。
海自体はOceanオブジェクトのWater Surfaceコンポーネントが管理しています。
またDeformerオブジェクトによって浜に寄せる縦波を再現することができます。
Rock Foam Generatorオブジェクトがあることで岩の周囲に細かな泡を作成することができます。
Beach Wavesオブジェクトは浜の波を再現するためのオブジェクトです。
上記で紹介したオブジェクトによってScene01 Islandシーンのリアルな海が再現されています。
今回は概要とざっと中身を見ました。次回以降でどのように各オブジェクトがかかわっているのかを見ていきます。