BlenderとUnityで作ったものをVR(Oculus  Quest/Oculus Link)で動かします

ブログの女の子を作る #78 Crest Ocean System HDRPで池と海を作る【Unity】

 
前回の記事では、MTreeをインストールして、木の幹や葉などを設定した時の作業メモを書きました。バージョン違いで苦労しましたが、良い木ができました。
 
今回は Terraiの木 と同じくらい気になっていた「池や海の水面」を改善します。
 
URPからHDRPに切り替えた時、水面シェーダーの「VRWaterShader2」が使えなくなってしまったので、しばらくは青い半透明の板を使ってました。何か良いアセットがないかと探して見ると「Crest Ocean System HDRP」というHDRP対応の水面アセットを見つけました。
 
使ってみたところ、かなり良い水面でした!!
 
デフォルト状態でも十分に使えるのと、VRで使えるのが良いですね。



開発環境

・Unity 2020.3.5f1(High Definition RP 10.4.0)
Crest Ocean System HDRP(Version 4.10)
・グラボ:ASUS ROG-STRIX-RTX2060S-O8G-GAMING
・Oculus Quest 2(Oculus Link利用)
 

(1) Crest Oceanをインストールする

Crest Ocean System HDRPをインストールしていきます。
 

いまの状態です

インストール前の状態です。キャラクターの前にあるのがですね。
 
Planeオブジェクトを青くして、半透明にしただけなのでかなり寂しい感じです。
 

インストールする

アセットストアで購入しました。
良い感じのHDRP対応水面シェーダーは少ないんですよね。
 
Package Manager から Crest Ocean System HDRP をインストールします。
現在のバージョンは Version 4.10 でした。
 
APIを更新するらしい。
事前にUnityプロジェクトをバックアップしておくのが良いですね。
 
これでインストール完了です。
 

操作説明や動画もあります

Crest Oceanの操作説明ドキュメントです。
 
Youtube動画もあるので、こちらを先に見るのが良いかも知れませんね。
 

Crest Oceanオブジェクトを追加する

Hierarchyの何もないところで右クリックし、「Create Empty」を選択します。
 
作成した空のオブジェクトの名前を適当に変えておきます。
この画像ではオブジェクト名を Lake にしてますが、湖ほど大きくなかったので Pond(池) でも良かったですね。
 
Add Component」ボタンをクリックして、「Crest Ocean Renderer」を選択します。
 
すると、世界が水没してしまいました。。。
この水面、かなりリアルです。
 


(2) Crest Oceanを使ってみる

もう作業が終わった感がありますが、少しだけ設定を変更します。
 

高さを調整する

このままでも面白いのですが、水面の高さを調整して水位を下げます。
 
先ほど追加したオブジェクトの「Transform -> Position -> Y」の値を変更します。
これくらいが良いですね。
 

白い波も表現できる

Crest Oceanにはいろんな機能がありますが、そのうちの一つですぐに試せそうなのが「水がオブジェクトにぶつかってできる白い波」の表現です。
 
別途Create Emptyを作成して、リネームします。
今回は「DepthCache」にしました。Youtube動画の説明と同じ名前です。
 
Add Component で「Crest Ocean Depth Cache」を追加します。
 
追加したオブジェクトの「Transform -> Position -> Y」を最初に追加した「Crest OceanのオブジェクトのY値」と同じに変更すると、白っぽい波が表示されるようになります。
 
岩の周りに白い波ができてますね。
 
デフォルト設定のままなので、かなり白すぎますが。。。
白い波の量は変更できますが、今回はオフにしておきます。海とかで使うのが良さそうですね。
 

(3) 水面を見てみる

インストールして、Crest Oceanのオブジェクトを追加しただけですが、既に良い感じの水面ができました。最近、アセットの設定で苦労することが多かったのでとてもうれしい。
 
どんな水面になっているかを確認していきます。
 

池を見る

まずは、池の部分です。
 
水面のキラキラが非常にキレイです。
 
岩も水中での高さによって見え方が違いますね。
 
反対側から見てみました。
 
これまでの記事で、Terrainの地面や木、そして空をHDRP向けに設定してきましたが、今回の水面でやっと環境回りが揃ったことになります。長かった。。。
 
水中から上を見上げるとこんな感じに見えます。
水面の揺らめきがとても良い感じ。
 

海を見る

海部分も確認しておきます。
 
桟橋です。ここは入り江になってますよ。
 
島の反対側に行ってみると、広い海が広がっていました。
 
素晴らしいクオリティですね。
まだ「波打ち際の表現」を設定してませんが、それでも十分キレイです。
 
ちなみにですが、今回追加した Crest Oceanオブジェクト は一つなので、池と海の見え方は同じです。今後、海専用のオブジェクトを作って、もっと波を強くしてみたい。
 

夜の水面もキレイ

夜にしてみました。
 
街灯の灯りが水面に反射してますね。
 
比較してみました。まずは、水面が青い板の場合です。
 
Crest Oceanの場合はこんな感じです。
当たり前ですが、リアルさが全然違います!
 
街灯だけでなく、月の明かりも反射してました。
 
もちろんこのアセットはVRに対応してますので、Oculus Quest 2(Oculus Link利用)でこのシーンを目の前で見ることができました。パフォーマンスが心配でしたが、FPS低下はあまり感じませんでした。
 
とはいえ、公式サイトには「Crest supports VR/XR, but performance with HDRP will be demanding.」とあるので、HDRPで再生する場合はある程度性能が良いPCが必要になりそうです。あと、PC(Oculus Link)ではなく、Oculus Quest 2単体で使う場合は、「We have some support for Quest but performance may be a challenge.」なので、パフォーマンス的に厳しいかも知れませんね。
 


まとめ 

水面アセット「Crest Ocean System HDRP」を試してみました。
 
今回はインストールして高さを調整しただけですが、デフォルト設定でも十分にキレイでした。
今後は、海部分の波を強くしたり、波打ち際の表現(Wave Splines、Shorelines)や水中表現を試してみたいですね。本当に買って良かったですよ。
 
スポンサーリンク

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

ブログの女の子を作る #77 MTreeでTerrainの木を作る (2) 幹や葉を設定する【Unity】

ブログの女の子を作る #79 ウマ娘っぽくブルマで走る (1) ブルマと体操服を作る【Blender】

最近のコメント

だーしゅ
IT関係のお仕事してます。
VRは楽しいですね。

[当ブログについて]