sunarit’s blog

Unity開発の備忘録

【オススメ!】AQUAS Water Set

バージョン: 1.2.2

以前のセール時に買っていた「AQUAS Water Set(以下、AQUAS)」を使ってみました。
ゲームのステージで海を表現したいと思ったことはないでしょうか?
そもそも水の動きというのは非常に複雑なものなので、コンピューターで表現しようとすると、とんでもなくCPUリソースを消費してしまいます。UnityにもWaterがStandard Assetで利用できますが、やはりCPUコストが高く、モバイルでの使用はかなり厳しいものとなっています。
今回使用してみた「AQUAS」は、モバイル用のシェーダが用意されているとのことなので、iPhone6実機で動作させて実用になるのかを検証してみました。

ただ単に海だけを作成しても実用的か否かを判断するのは難しいので、実際のゲームっぽいシーンを作成し、キャラクターを歩かせてみました。

今回使用したシーンを簡単に説明すると、
地形: Gaiaで作成したものをオリジナルのスクリプトで約2,400 Trisまでローポリ化。
キャラクター: 8,000ポリゴンくらい。
ヤシの木: 計135本表示しています。ローポリ化したあと、オリジナルのスクリプトでスキャッター。
という感じに、シーン自体は予めモバイル用に最適化しています。
ライトマップは使用していません。

結果は以下の動画のように、モバイルとしてはかなりキレイな海を作ることができました(アニメーションGIFなのでフレームレートがカクカクですが、実機では常に30FPS以上をキープしています)。
f:id:sunarit:20160516012909g:plain

気になるCPUコストもXcode上で5回ほど行った計測では、大体40%程度、海にオブジェクトが反射した際に50%程度、という結果でした。これなら十分使用に耐えられます。

使い方も非常に簡単です。
Quick Setupが用意されており、
1. 海面の高さ指定
2. Terrain指定
3. メインカメラ指定
4. Add Waterボタンをクリック
と、4ステップで簡単に海が作成できます。
今回のテストでは、このQuick Setupを使用して作成しています。

モバイルでも実用的なキレイな海が作成できる「AQUAS」ですが、欠点として波が上下しないことが挙げられます。AQUASでは波のうねりをパンプマップで表現しています。つまり、実際にはポリゴンを変形させていないので、かなり穏やかな海になってしまいます。トップダウン系ならそんなに気にならないと思いますが、FPSやTPS系などでは横から見ることになるので、気になるなら自力でなんとかする必要があるでしょう。

色変更や波のスピード調整、反射量などカスタマイズも充実していますので、きっとイメージに合う海や湖などが作れると思います。
通常価格は25USDと高くもなく安くもないですが、この機能なら十分買う価値アリだと思います。

Asset Store