technostallion

Unity、プログラム、グラフィック関係の技術ネタを書き殴ります

【Unity】アセット買うならコレがオススメ!ハイエンド開発向けUnityアセット11選

はじめに

Unityと言えば有名なアセットストア。
様々なジャンルのアセットが有料無料を問わず幅広く揃っているものの、いざ有料のアセットを買うとなると勇気がいりますよね?
ここでは筆者が趣味で開発している同人ゲーム"Friendship is Epic"で使用させていただいているアセットのうち、特にこれはオススメ!と他の方に薦められるアセットを紹介してみます。
なお、この記事で紹介するアセットの大部分はハイエンド(PC、PS4、XBOXONE)向けに開発されており、モバイル向けには適さないアセットが多い点にはご注意下さい。
必ず購入前にサポート対象プラットフォームを確認して下さい。
同様に、VR対応の有無についても各アセットのフォーラム等で確認することをお勧めします。

私がアセットを買う理由

車輪の再発明を避ける

Unityアセットストアに並んでいるアセットは、いずれも単体機能で販売できるほどの高い完成度を誇るものが多いです。
同じだけの機能を再開発するよりもお金と時間を節約できます。
また、提供者(以下アセッター)とユーザー同士のコミュニティによってノウハウが十分に累積にされているため、オレオレで自前開発する場合と違って保守が容易です。
Unityはエンジンのアップデートスピードも早く、バージョンアップに伴う修正対応をアセット側に依託できる点も魅力となります。
(途中でサポートが終わってしまった場合、デメリットにも成り得ますが)

勉強になる

Unityアセッター様の中にはUBIソフトやDICEといった大手ゲーム開発の第一線で戦ってきた方々が数多くいらっしゃいます。
こういった一流プロフェッショナルのコードやアートに関するノウハウに直で触れられる機会は滅多にないことです。
例え最終的に使わなかったとしても、技術を学ぶ授業料として見れば決して高くはないはずです。

Unityコミュニティを盛り上げられる

Unityアセッター様の多くは自分のプロジェクトを掛け持ちしており、支払ったお金はその人達の生活や開発の助けになります。
また、その一部はUnityテクノロジーズにも支払われるため、Unityエンジン自体の普及と成長にも貢献できます。

サウンドアセット系

Universal Sound FX($30)

https://www.assetstore.unity3d.com/jp/#!/content/17256
f:id:helementsof:20151122233659j:plain
3500種類以上のサウンドエフェクトが収録されたサウンドライブラリ。
システム系のインタフェースサウンドからアンビエントな環境音、はたまた打撃、爆発、剣戟といったアクションゲーム向けの効果音まであらゆるジャンルのSEが収録されているUnity向けSEライブラリの決定版。
大抵の効果音はこのアセット一つで事足りてしまうはず。

素晴らしい点

・サウンドアセット系では珍しく更新頻度が高い。頻繁に新しい効果音が追加されている。

気になった点:

・UI用のシステムSE以外はリアル系が多く、ファンタジーやカートゥーン作品を作るなら別アセットが必要かも。

500+Magic SoundFX($30)

https://www.assetstore.unity3d.com/jp/#!/content/23754
f:id:helementsof:20151122233619j:plain
ハイファンタジーやサイファイのスーパーパワー系サウンド効果に特化したサウンドライブラリ。
アセットストアの同ジャンルSEアセットの中でも特にクオリティが高く、Universal Sound FXでは不足しがちなサウンドエフェクトを補ってくれる。

素晴らしい点:

・ハイファンタジーやサイファイに特化した高品質な効果音が多数。魔法、スキル、アビリティ等のスーパーパワー系に強い。

気になった点:

・登録以来、一度も更新されていない。

シェーダー系

UBER - Standard Shader Ultra($50)

https://www.assetstore.unity3d.com/jp/#!/content/39959
f:id:helementsof:20151122232922p:plain
f:id:helementsof:20151122232937p:plain
強化された標準シェーダーを謳うハイエンド向け物理ベースシェーダー。
Unityの標準シェーダをベースとして、独語で究極を意味する(らしい)UBERの名前に恥じない様々な拡張機能が盛り込まれている。
上の画像は3DCGアーティスト、Jeryce Dianingana氏によるUber Shaderを使った作品。
ジオメトリベースでは数枚のポリゴンが、最終出力でAAAクオリティのSFスロープに変貌してしまう様には圧倒されるばかり。

素晴らしい点:

・透光性、屈折率、視差遮蔽マッピング、天候表現といった拡張機能の数々で、Unity標準シェーダーを大幅に超える表現が可能。

気になった点:

・最適化されているとはいえUnity標準シェーダーに基づいており、モバイル用途には向かない。あくまでハイエンド向け。

Shader Forge($90)

https://www.assetstore.unity3d.com/en/#!/content/14147
f:id:helementsof:20151122232603p:plain
Unity用ノードベース・シェーダーエディタの決定版。
UE4ではノードベースのシェーダーエディタが標準搭載されているものの、Unityでは基本的にCg/HLSLが書けなければカスタムシェーダーを作ることができない。
Shader Forgeはリアルタイムでレンダリング結果を確認しながらノンコーディングでシェーダーを作成することができる。

素晴らしい点:

・ノードベースのシェーダーエディタで最終結果を確認しながらシェーダーを作り上げられる。
・更新も頻繁で、同種のアセットの中ではずば抜けて完成度が高い。

気になった点:

・操作がやや独特。
・機械的に生成されたシェーダーコードは手動でシェーダーコードを書いた場合に比べて無駄も多い。限界までチューニングを施したいなら手動でシェーダーコードの最適化を行う必要があるかも。
・Shader Forgeで作成したシェーダーコードを手動で変更すると互換性が失わてしまい、以降はShader Forge側で読み込めなくなることもある。

エディタ系

Cinema Director - Sequencer & Cutscene Editor($60)

https://www.assetstore.unity3d.com/en/#!/content/19779
f:id:helementsof:20151122232343p:plain
Unityでのカットシーン作成に特化したアセット。
5.3までのUnityにはカットシーンを作るためのディレクションエディタは標準搭載されておらず、オレオレのカットシーンシステムを組み上げるには相当な労力を要する。
Cinema Directorは一般的な3DCGアニメーション作成ツールのような感覚で扱えるカットシーンエディタ。
タイムライン上にカメラやキャラクターの制御イベントを置き、シーンビューやゲームビューで結果を確認しながらカットシーンを作ることができる。
もちろん各トランジションはカーブエディタでイージングさせることも可能。
また、ユーザーによるスクリプト拡張にも対応しており、柔軟性の面でも優れている。
(筆者は2DゲームミドルウェアSpineの2Dキャラクターをカットシーンで動かすために独自拡張を行いましたが、とてもスムーズに組み込むことができました)

作ったカットシーンはゲームオブジェクト化されるため、そのままプレハブ化、シリアライズできる。
この作りのお陰で管理が楽である点も素晴らしい。
Unity5.4から標準機能として純正のディレクターが搭載される予定になっているものの、それまでは大いに役に立つはず。

素晴らしい点:

・インターフェースは一般的なタイムラインアニメーションツールに準じており、覚えやすい。
・Cinema Directorのタイムラインの特定位置にカーソルを合わせれば、その時点でのカットシーンの状況がシーンビューとゲームビュー双方に反映され、リアルタイムで確認できる。
・自動キーフレーム機能をONにすれば、シーンエディタでゲームオブジェクトの角度や位置を変えただけでキーフレームを打ってくれる。
・拡張性が高い。不足しているイベントや各機能はCinema Directorのクラスを継承して独自拡張が可能。

気になった点:

・エディタの操作感は一般的なタイムラインアニメーションツールに比べてやや劣る印象。

Game Data Editor($35)

https://www.assetstore.unity3d.com/jp/#!/content/18480
f:id:helementsof:20151122232253j:plain
ゲーム中の様々なパラメータをスキーマ化して管理するアセット。
スキーマはスタティックな固定データとして扱えるほか、PlayerPrefsに書き込んでローカルのセーブデータとして使用できる。
また、スキーマデータはExcelGoogle Spreadsheetから自動で出力することも可能。
中規模以上のゲームの場合、スキーマ化されたゲームデータの管理はほぼ必須となるため、地味ながらも実用性の高いアセット。

素晴らしい点:

・エクセルファイルやGoogle Spreadsheetのような外部ドキュメントを利用でき、カラムキーはC#コードとして生成してくれる。セーブデータの暗号化にも対応。

気になった点:

シリアライズフォーマットがJSONで、デシリアライズが速いとは言えない。初期化タイミングには十分に注意する必要がある。
・Read/Write双方に対応した作りになっており、リードオンリーのデータを大量に取り扱う静的テーブルとして使うような用途にはやや不向き。
この用途で使う場合は最適化が必要かも。

パーティクル・エフェクト系

Particle Playground($70)

https://www.assetstore.unity3d.com/jp/#!/content/13325
f:id:helementsof:20151122232104j:plain
(同名のプラグインAfter Effectsにあったりしますが、全くの別物です)
UnityのShurikenパーティクルシステムをベースに大幅な制御機能を拡張するアセット。
Shurikenの数倍以上に上る制御パラメータとイベントシステムにより、極めて細やかなパーティクル表現が可能になる。
(凹みさんのブログにて詳しく触れられていますので、詳細をお求めの場合はそちらをご覧下さい)
http://tips.hecomi.com/entry/2015/03/23/004733

素晴らしい点:

・膨大な設定可能パラメータを備え、あらゆるパーティクル制御を実現できる。
・パーティクル制御はマルチスレッドで実装されており、高速。

気になった点:

・細部まで扱えるようになるには数週間単位での習熟時間を要する。
・コアスクリプトは巨大かつ複雑で、改造は敷居が高い。
・コードサイズが巨大であるため、メモリ消費量も比例して高め。

PopcornFX ($250※)

http://www.popcornfx.com/
f:id:helementsof:20151122231534j:plain
Unityのパーティクル・システムであるShurikenに依存せず、独立したネイティブプラグインとして動作する次世代VFXミドルウェア
PopcornFX自体はマルチプラットフォーム向けに開発されており、作成したエフェクトはUnity以外にもUE4といった別エンジンにパブリッシュできる。
エフェクトを作成するための専用エディタは無料で、誰でも気軽にエフェクトを作ることができるものの、各ゲームエンジン向けにパブリッシュされたデータを扱うためのプラグインは有料となっている。
(※Unityでは各プラットフォーム用のプラグインがそれぞれ$250の価格設定)
パーティクルの発生から振る舞いに至るまで専用のスクリプト言語によって柔軟な制御が可能で、ランタイムも素晴しく高速に動作する。
AAAタイトルでの採用例も多く、まさにプロフェッショナル用のパーティクルシステムと言える。

こちらは筆者がPopcornFXで作成したダメージカウンタ。
ゴリゴリとスクリプト制御が可能であるため、エフェクト用途に限らず、単純なUIまでPopcornFXで作れてしまう。
ダメージカウンタやスコア表示、HPゲージのような大量に生成する必要があるUIでは、PopcornFXの高いパフォーマンスが活きてくる。vine.co

素晴らしい点:

スクリプト制御による柔軟性と高いパフォーマンスを両立している。
・矩形ポリゴンにスプライトを貼り付けた単純なパーティクルに留まらず、リボンレンダラー(パーティクルが移動した軌跡に沿ってリボン上のメッシュを描画するレンダラー)も備えている。
・サウンドエフェクトをPopcornFX側に含めることが可能で、管理が煩雑になりがちなSE管理をPopcornFXで完結させられる。
・オーディオ波形と連動するエミッタも作成できる。

気になった点:

・高価
・大部分をスクリプトで制御する必要があり、エディタの複雑性も相まって習熟難度は高い。高度なエフェクトを作成するためには3Dゲームにおける数学的な知識が求められる。3Dグラフィックスと3Dゲームプログラミング双方にある程度の知識を持つプロフェッショナル向け。
レンダリングも専用のコンポーネントが一括で行うため、Unityスクリプトからの制御にはクセがある。

Better Trails ($15)

https://www.assetstore.unity3d.com/en/#!/content/16076
f:id:helementsof:20151122231434j:plain
Trailレンダラー(オブジェクトが移動した軌跡に沿ってメッシュを生成する機能)を強化するアセット。
Unity標準のTrailレンダラーはフレーム間での移動幅に応じたメッシュを生成するため、Trailの発生元が素早く移動すればするほど見た目がカクカクしてしまう。
Better Trailはこの問題に対応し、フレームレートに依存しない滑らかな軌跡を生成できる。
また、軌跡の先端と末端までの各位置における幅をカーブエディタで設定することも可能。

素晴らしい点:

・軌跡は非常に滑らかで、設定可能パラメータも多い。滑らかな軌跡の他、煙のように揺らぐバリエーションも用意されている。

気になった点:

・寿命管理が大変。
・サポートのレスポンスは遅め。

イメージエフェクト系

Ultimate Bloom($27)

https://www.assetstore.unity3d.com/en/#!/content/31396
f:id:helementsof:20151123171138j:plain
f:id:helementsof:20151123171150j:plain
豊富なブルーム効果を生成できるアセット。Unity標準のブルーム効果とは比べ物にならないほどカスタマイズ性が高い。
単純なブルーム効果だけでも反応輝度範囲をカーブエディタで調整できるなど非常に細かな設定が可能だが、
縦横方向に引き伸ばされた特殊なアナモルフィック・レンズフレアを生成する効果や、その斜め方向バージョンのスター・フレアといった多彩なバリエーションのレンズフレアも搭載している。

素晴らしい点:

・可変パラメータが多く、レンズフレアの生成も可能。
・ハイエンド向けの設定とローエンド向けの設定も自在。

気になった点:

・公式フォーラムがない。

Scion - Filmic Post Processing($60)

https://www.assetstore.unity3d.com/en/#!/content/41369
f:id:helementsof:20151122231149p:plain
被写界深度、ブルーム、レンズフレア、ビネット、カラーコレクションといった複数のイメージエフェクトを単一コンポーネントで処理する総合イメージエフェクトアセット。
通常のイメージエフェクトアセットは単一の機能として開発されており、レンダーテクスチャのダウンサンプリング処理やGバッファによる計算などは個々のアセットで処理される。
そのため、コンポーネントが増えれば増えるほど処理コストは大きく膨らんでいく。
Scionはこの問題に対処したイメージエフェクトアセットで、複数のイメージエフェクトにおいて共通化しうる処理をScionのコンポーネント単独で一括処理するという最適化手法(クロス・ディペンデンシー)を取り、同じイメージエフェクトを複数コンポーネントで実現した場合に比べて、圧倒的に高いパフォーマンスでの動作を実現している。
既存のイメージエフェクトをクロス・ディペンデンシーで処理できるようにするアセットではなく、Scion側で用意されている機能に限定される点には注意が必要。

素晴らしい点:

・クロスディペンデンシー処理により、複数種類のポストエフェクトを高速に描画できる。

気になった点:

・一つ一つの効果の品質は専用コンポーネントには及ばない部分も。

最後に

Unityのアセットストアは本当に素晴らしいシステムです。
しかしながら、いずれのアセットも恒久的なサポートが約束されているわけではありません。
無料でも有料でも、必要に応じて自力でのメンテナンスや問題解決を行う覚悟は必要になると思います。
また、アセッターの方々への深い感謝を忘れないようにしましょう。