誰も見ていない時間

ゲーム、読書、マンガ、ライフハックなどの雑記

リアルタイム3Dとプリレンダの違いと、リアルタイム3DにおけるLODの説明

スポンサーリンク

リアルタイム3Dとは、その瞬間ごとに計算されて表示される3DCGのことです。ゲームでプレイヤーの操作通りにキャラクターが動き回れるのは、その都度、映像が計算されて画面に出力されているのです。

 

それに対して予めレンダリング(画像をコンピュータが計算すること)された画像や映像のことをプリレンダといいます。ムービーといっても良いですね。ゲームではオープニングやイベントの演出のときなどよく用いられます。

 

以前はこの二つは明確に棲み分けがあったのですが、最近はハードの性能が上がったことと、ゲームエンジンの強化もあって、リアルタイム3Dが用いられることが多くなってきました。

 

今日はこの二つの3DCGの解説と開発側からみたメリットとデメリットを記載してみます。

f:id:kitahana_tarosuke:20180412003551j:plain

 

リアルタイム3Dの特徴

リアルタイム3Dは主にゲームに使用されます。

 

リアルタイム3Dの特徴は、プレイヤーの操作が瞬時に結果として表示されることです。3Dを主体としたゲームでは必須といってもいいですね。鉄拳やストリートファイターのような対戦格闘ゲームや、モンスターハンターシリーズ、無双シリーズなど、3Dアクションゲームと呼ばれるジャンルは、ほぼリアルタイム3Dを用いています。

 

開発側からみたリアルタイム3Dのメリット

リアルタイム3Dの開発側からみたメリットは、

  • データが軽くてすむ
  • レンダリング時間がかからない

くらいでしょうか。特にレンダリング時間が不要というのはありがたいです。もちろん環境構築や実機に出力する際のちょっとした作業は必要ですが、作成したデータをほぼリアルタイムで表示することができます。

 

開発側からみたリアルタイム3Dのデメリット

もちろんデメリットもあります。

  • 使用している3Dツールの機能が使えるわけではない
  • 製作に様々な制約がかかる
  • クオリティ的にはプリレンダの方が綺麗

3DCGデザイナーはMayaや3dsMaxのような3Dツールで作業するのですが、そのツールの機能が全て使用できる訳ではありません。他にもポリゴン数やテクスチャの改造度など、様々な面で制約があります。

 

最新のコンソールゲームだと、ポリゴン数のような制約は軽減されていますが、それでもリアルタイムで表示されるものなので、データの容量には気を使います。

スポンサーリンク

 

 

プリレンダの特徴

プリレンダされた3DCGは、主に映画やパチンコやパチスロのような遊技機の映像で使用されます。遊技機にもボタンを押したりレバーを引いたりといったアクションがあるので、リアルタイム3Dだと思われるかもしれませんが、大半はプリレンダされた映像です。

 

プリレンダされた映像を複数用意しておいて重ねて表示したり、複数パターンを用意しているのでリアルタイムのように見えるのです。

 

開発側からみたプリレンダのメリット

プリレンダの開発側からみたメリットは下記の通りです。

  • 3Dツールの機能を最大限利用できる
  • ポリゴン数やテクスチャなどに制限がない

既にレンダリングされた画像を再生しているだけなので、実機による制限がありません。搭載しているCGロム(遊技機映像の記憶装置)の容量制限があるので、圧縮などは必要ですが、基本的に自由にレンダリングすることができます。

 

開発側からみたプリレンダのデメリット

プリレンダのデメリットは、なんといってもレンダリング時間でしょう。

  • 作業データが重くなる
  • レンダリング時間が長い
  • 圧縮が必要になることが多く、結果的にクオリティが低くなることがある

 

ポリゴン数やテクスチャに制限がないため、作業データが重くなりがちです。レンダリングする必要があるのですが、一枚の画像に数時間かかることもあり、それが動画になると、2-3日かけてレンダリングすることもあります。

 

もしレンダリングした画像にミスがあったりすると大変です。結局、レンダリングをし直すことになり、作業期間が無駄になったりということを、実際に私も何度か経験しています。

 

LOD(レベルオブディティール)とは?

リアルタイム3DではLODという技術が用いられるます。LODとは何かというと、カメラからの距離に応じてモデルを変更する(ディティールを変更する)ことです。

f:id:kitahana_tarosuke:20180411235133p:plain

(出典 Autodesk)

カメラに近いモデルはポリゴン数が多く、テクスチャの解像度も高いものを表示して、カメラから遠いモデルはポリゴン数が少なく、テクスチャ解像度もそれなりのものに切り替えて表示する機能がLODです。

 

ゲーム開発では、高解像度用のモデルを先に作成して、LOD用にポリゴン数を減らしたり、リポトロジ(ポリゴンの繋がり方を変更する作業)してモデルを作成するやり方が一般的です。

 

まとめ ー 今後はリアルタイム3DCGが増えていくかも

映画のようなプレイヤーの介入がまったくない映像であれば、プリレンダの立場が揺らぐことはないと思いますが、それ以外ではリアルタイム3Dが今後は増えていくでしょう。

 

これはコンソールゲーム機の性能が上がっていることもありますし、開発においてもレンダリング時間を必要としないのはメリットが大きいからです。製作したものがすぐに画面に表示されれば、トライ&エラーにかかる工数が大幅に削減できます。

 

それでいてクオリティも高いものがリアルタイム表示できるようになれば、言うことはないですね。Unreal Engine 4のような開発環境では、それが実現しつつあります。

 

もし映画レベルの映像がリアルタイムで表示でるようになれば、全てがリアルタイム3Dになる可能性もあります。それもそれほど遠い未来ではないかもしれませんね。