近年、耳にする機会が多くなっているアンリアルエンジン(Unreal Engine)ですが、同時に「アンリアルエンジンとMayaってどう違うの?」という質問を受ける機会も増えてきました。
アンリアルエンジンが急激に知名度を上げ、美しいデモムービーが発表されたことでMayaのようなCGソフトと混同しそうになるのも仕方ないかもしれませんね(汗。
ですが、Mayaとアンリアルエンジンは用途が全く異なるもので、両者には明確な違いがあります。
役割の違い
まず、MayaはCGのモデリング、アニメーション、シミュレーション、レンダリングなどの様々な機能を併せ持った統合型の「CG作成ソフト」の1つです。
それに対し、アンリアルエンジンは「ゲームエンジン」と呼ばれるソフトウェアの1つです。
ゲームというのはユーザーの操作によって刻々と画面の内容が変化しますよね?そのためにはCGの描画だけでなくプログラムやサウンド、UI(ユーザーインターフェイス)の表示などのコンピュータ処理が必要になってきます。
これらを同時に計算してゲームとして動作させるソフトが「ゲームエンジン」です。
Mayaは基本的にはグラフィックを出力するだけのソフトですが、アンリアルエンジンはグラフィックと並行して様々な処理を行う、という異なった役割があるわけですね。
グラフィック面の違い
上記だけをみるとグラフィック以外のこともできるアンリアルエンジンの方がMayaよりも優秀に思えそうですが、それは違います。
グラフィックにおい比較しても両者は全く役割が違うのです。
分かりやすいところで比較すると「レンダリング」の違いです。
Mayaは「プリレンダリング」を行うのに対し、アンリアルエンジンが得意とするのは「リアルタイムレンダリング」です。
●プリレンダリングとは
事前に映像を計算して出力(レンダリング)しておくこと。出力までの計算時間に余裕があるため、複雑な光や物理シミュレーションの計算が可能。レンダリングに使用するコンピュータの処理能力によっても計算時間が大きく変わる。
映画のように映像内容が変化しない場面で用いられる。
●リアルタイムレンダリングとは
コンピュータでリアルタイムに計算を行い、その場で瞬時に映像として出力(レンダリング)すること。出力までの計算時間に余裕がないため、複雑な光や物理シミュレーションの計算には向かない。レンダリングに使用するコンピュータの処理能力が足りなければ映像出力が間に合わなかったり、描画が遅れて画面がカクカクしたりする。
ゲームのようにユーザー操作によって映像内容が刻々と変化する場面で用いられる。
→リアルタイムレンダリングしたものをキャプチャ(録画)すればプリレンダリングとしても扱える。
アンリアルエンジンにはリアルタイムレンダリングという制限があるため、軽量化(最適化)されたプリセットが数多く用意されています。
こういった最適化されたシェーダやライトを使用することによって、リアルタイムでも綺麗なCG表現が可能となっているのです。(もちろんカスタマイズも可能)
物理シミュレーションにおいても出来ることはMayaより少ないですが、その分だけ高速で動くようになっています。
すごく簡単にまとめてしまうと、
・Mayaは何でも自由。自由なので1から作っていく必要があり、クオリティも上限がない。
・アンリアルエンジンはMayaより不自由で制限がある。制限がある分、扱いやすい。
CG制作での違い
アンリアルエンジンでもCGモデルを作成することは可能ですが、モデリングツールの充実さや扱いやすさはMayaの方が優れています。
特に、キャラクターや複雑なオブジェクトはMayaなどのCGソフトで作られることがほとんどです。
そのため、通常はMayaで先にモデルを作り、ゲームで動かすためにアンリアルエンジンにモデルデータを移動します。
一方で、「ゲーム背景」といった汎用的な地面や山、木や草などはアンリアルエンジンのプリセットをカスタマイズして簡単に作ることができたりもします。
アンリアルエンジンで作成した地面に、Mayaで作成した建造物を組み合わせたりするということです。
また、シェーダやライティングなどもMayaの方が何倍も高機能で表現の幅も広いです。一方、アンリアルエンジンの方が制限は多いですが様々なプリセットがあるためお手軽に設定することができます。
物理シミュレーションもMayaの方が時間をかけて計算できるので、高度で正確で種類も豊富です。アンリアルエンジンでは種類こそ少ないですが、「それっぽいもの」を高速に計算して表現することに向いています。
アンリアルエンジンのデモムービーなどを見てMayaと混同してしまう人が多いわけですが、あのようなムービーはMayaなどのCGソフトで作成したキャラクターをアンリアルエンジンに読み込み、アンリアルエンジンのシェーダやライトを使用してレンダリングしているものなのです。
結局どちらを使えばいいの?
最終的にはこちらの疑問に行きつくかと思いますが、状況に合わせて使い分けることになるので参考までに。。。
●CGを作りたい人
→Mayaのみ
静止画・動画などのCGを作りたいならMayaがあれば制作可能。
表現の幅が広く、アンリアルエンジンよりもハイクオリティなCGも制作可能だが複雑。
→Maya + アンリアルエンジン
Mayaでモデリングし、シェーダやマテリアル、レンダリングにアンリアルエンジンを使用するなど、併用も可能。
→アンリアルエンジンのみ
CGデータは素材サイトなどから調達するか、アンリアルエンジンのプリセットを利用するだけになる。
●ゲームを作りたい人
→アンリアルエンジン + Maya
必要に応じてMayaで素材を作成しながら、アンリアルエンジンでゲーム作成。(プログラミングなども必要)
※ここではMayaとアンリアルエンジンだけについて記載していますが、3dsMaxやUnityなど、他のCG作成ソフトとゲームエンジンを使うことももちろん可能です。