【2024】ボリュームレンダリングとは?メリット&デメリットと使用シーン
ボリュームレンダリングは、3DCGにおけるレンダリング表現技法のことです。
ざっくりとボリュームレンダリングについて把握している人はいらっしゃるかもしれませんが、詳細まで理解している人は少ないのではないでしょうか。
今回は、ボリュームレンダリングの概要やメリット・デメリット、ボリュームレンダリングが用いられるシーンなどについて詳しく解説します。
ボリュームレンダリングとは
ボリュームレンダリングとは、主に3DCGの現場で用いられるレンダリング技法のことを指します。
ボリュームデータ「voxcel」と呼ばれる立方体を用いて形成されたデータのことで、2次元で表現されたレンダリングとは異なる質感のレンダリングを行うことが可能です。
人間の細胞をイメージしてもらえばわかりやすいですが、人間の皮膚を構成しているのは「面」ではなく「立体」です。
人間の表皮を一枚めくった裏には細胞が存在しています。
仮に、人間の表面を50%の透明度にしてみるとどうでしょうか。
この場合、内側の細胞が透けて見えるはずです。
このような考え方でレンダリングされるのが、まさしくボリュームレンダリングです。
サーフェスレンダリングと対の技術
ボリュームレンダリングと対になる技術として、サーフェスレンダリングがあります。
こちらは、物体の表面を構成していくことで、レンダリングを行う3DCG技術です。
サーフェスレンダリングは、表面の立体感を意識してモデリングされるため、陰影や立体感のある描画が可能です。
一方、ボリュームレンダリングは「ボクセル値」と呼ばれる立方体を使ったレンダリング技術のため、表面だけではなく内部の構造も示すことが可能です。
具体的には、透明度を変更することでモデルの内部構造を表現することができるため、通常のサーフェスモデリングよりもリアルな表現を行うことが可能となるのです。
たとえば、雲や炎は面で構成されているのではなく、内部の情報も含めて「雲」「炎」として認識することが可能となります。
このような雲や炎などのモデルをサーフェスモデリングでレンダリングすれば、アンリアルなレンダリングに仕上がってしまうことでしょう。
このように、ボリュームレンダリングは「面だけでは構成できないモデル」をリアルに再現する際に使われることが多いです。
ボリュームレンダリングのメリット
ボリュームレンダリングのメリットは主に2つです。
- 物体の内部構造を表現できる
- 濃度を視覚化できる
先ほど解説した内容と重複する部分もありますが、より詳しく解説していきます。
物体の内部構造を表現できる
ボリュームレンダリングでは「voxcel」を使ってレンダリングを行います。
2次元のpixcelが立体になった「voxcel」を用いてレンダリングを行うため、内部構造を表現することができます。
ピクセルで表現された「サーフェス」でレンダリングした場合、どれだけ透明度を上げても中身が空っぽのモデルが出来上がってしまいます。
ボリュームレンダリングは、内部構造までリアルに表現できる点が大きなメリットとして挙げられます。
濃度を視覚化できる
ボリュームレンダリングは、濃度を視覚化する際に向いています。
具体的には、空気中に漂っている雲や霧、煙などを再現することが可能です。
たとえば、濃度が高い霧を表現するなら透明度90%というような、ほとんど透明感のない画面を作ることができますし、濃度が低い霧を再現する場合には透明度10%といったほとんど透明のモデルを組み合わせることで再現できるでしょう。
また、医療の現場で用いられるCTスキャンデータにおいても、どのくらいの濃度で血管・内臓等が詰まっているかを把握できるレンダリングを行うことができます。
このようにボリュームレンダリングを用いれば、内部構造だけでなく物体の濃淡も表現可能です。
ボリュームレンダリングのデメリット
物体の内部構造や濃度を再現できるボリュームレンダリングは、サーフェスレンダリングと比較して主に2つのデメリットがあります。
- レンダリングに時間がかかる
- 影・光・屈折などの相関関係は計算できない
それぞれ詳しく解説していきましょう。
レンダリングに時間がかかる
ボリュームレンダリングは表現の自由度が高く、内部構造や濃淡までも表現できるため、リアルな画面を作ることが可能です。
実際、ゲームやアニメーション、医療現場など、さまざまな領域でボリュームレンダリングが用いられています。
非常に便利な技術ではありますが、レンダリングに時間がかかってしまう点は非常に問題視されています。
計算するモデルの単位は㎠から㎤になるため、単純に計算しても時間がかかることがわかるでしょう。
時代とともに早くレンダリング可能になるはずですが、リアルタイム表示を行うのにはまだ限界がある点はデメリットといえます。
影・光・屈折などの相関関係は計算できない
ボリュームレンダリングは「レイトレーシング法」と似ているレンダリング技術ですが、物体表面の光の反射や屈折、影などの関係性を計算できません。
そのため、表面の質感だけで見ればサーフェスレンダリングよりもアンリアルな印象を受けてしまうケースがほとんどなのです。
ボリュームレンダリングが用いられるシーン
ここでは、ボリュームレンダリングが用いられるシーンを4つ紹介します。
- アニメーション制作
- ゲーム制作
- CT検査の現場
- Webブラウザ上の表現
それぞれ、具体的な事例も交えて解説していきます。
アニメーション制作
アニメーション制作の現場ではボリュームレンダリングが用いられています。
実写映画では空気遠近法の影響でカメラから奥行きにかけて彩度が下がりますが、3DCGの現場では空気中の遠近法を表現することが困難でした。
そこで用いられているのが「ボリュームレンダリング」です。
空気中の濃度や光を計算するため、奥にある物ほどピンぼけする空気感が表現できますし、炎や煙などの表現も現実世界と同じように再現することが可能です。
アニメーション制作の現場においては、NETFLIXオリジナルアニメシリーズである「Knights of the Zodiac:聖闘士星矢」やBlender公式のCGショートアニメである「Spring-Blender Open Movie」などで用いられています。
ゲーム制作
ボリュームレンダリングは、ゲームの制作現場においても用いられます。
有料で販売されているゲームはもちろん、Unityなどのエンジンを用いた個人開発のゲームでもボリュームレンダリング技法が活用されています。
特に、爆弾の空気感を演出したり、遠くに存在する敵をぼかしたりする技術はボリュームレンダリングを使わないと再現が難しいため、FPS(First Person Shooter)などで用いられることが多いです。
有名なゲームの具体例としては「ワンダと巨像」や「Agni’s Philosophy」においてボリュームレンダリング技術が用いられています。
CT検査の現場
CT検査においても、ボリュームレンダリングが用いられます。
サーフェスレンダリングを用いた場合、体内の情報を的確に再現することが難しいため、ボリュームレンダリングが用いられるようです。
たとえば、骨折等の不調を訴える患者のCTスキャンを行う場合、サーフェスレンダリングでも役割をまっとうするでしょう。
骨がどのように欠けているかを示すことは容易だからです。
しかし、筋肉内部の不調を訴えている患者に対してサーフェスレンダリングを用いると、まったく役に立ちません。
また、筋肉と骨の関係性や筋肉表面に現れている不調の原因を探るためには、サーフェスレンダリングは役立ちません。
ボリュームレンダリングが必要となるのです。
ボリュームレンダリングを行うためには高性能のPCを必要とするため、一昔前の医療ではその時代の最先端医療を提供している病院のみ利用することが可能でした。
しかし、現代ではPCの進歩によってボリュームレンダリングも医療で用いられるようになっています。
Webブラウザ上の表現
近年用いられている新たな技術として「WebGL」というものがあります。こちらは、Webサイトで3DCGを行う技術。5Gが普及したことによって、ブラウザ上のボリュームレンダリングも可能になりつつあるのです。
WebGLとは、「OpenGL」と呼ばれる技術を用いてボリュームレンダリングを行うもので、いわゆるHTML・CSSコードによってグラフィックをレンダリングする試みです。
このように、一昔前では考えられなかった「Web上の3DCG」にもボリュームレンダリングが用いられています。
ボリュームレンダリングを効率的に行う方法
ここまでは、ボリュームレンダリングのメリット・デメリット、実際に用いられている現場などについて詳しく解説してきました。
さまざまなシーンで用いられているボリュームレンダリングですが、いまだ課題が残っていることも事実です。
ボリュームレンダリングの課題は、非常に時間がかかってしまう点です。
時間を短縮できる策を講じなければ、製作の時間を大幅に増やしてしまいます。
ここでは、ボリュームレンダリングを効率的に行う3つの方法について詳しく解説します。
最適なレンダリングエンジンを活用する
レンダリングを行う「レンダリングエンジン」を最適化することで計算の時間を削減することができます。
特に、ボリュームレンダリングの場合は、光・影・物体の透明度などに膨大な計算時間が必要となるため、最高品質のレンダリングエンジンが必要となります。
たとえば、オープンソースのモデリングソフト「Blender」においては、EeveeやCyclesといったレンダリングエンジンが用意されていますが、用途によって最適なレンダリングエンジンを用意することが必要です。
具体的には、医療用で使うなら「Amira」や「MeVisLab」研究・工業用として使うなら「Avizo」などのソフトウェアでレンダリングすることも検討してみましょう。
高性能なCPU・GPUを用意する
適切なレンダリングエンジンを選んだとしても、能力に見合った計算能力のあるCPU/GPUを用意しなければ、レンダリングを高速化することは難しいです。
CPU/GPUとはPCの計算能力を決めるパーツで、性能に大きく関わります。
たとえば、数学分野において新しい公式を見つけることができたとしましょう。
公式は見つかっていても、証明しなければ本当に公式が正しいかを判断することはできません。
このとき、証明する人が小学生だったらどうでしょうか?
明らかに能力不足で、計算できたとしても時間がかかってしまいます。
つまり、ボリュームレンダリングで素晴らしい描画が行える場合でも、その計算を担うCPU/GPUの能力が低ければ正確で素早く描画するのは難しいということです。
ボリュームレンダリングを行う場合は、能力の高いCPU/GPUが必要です。
クラウドベースのレンダラーを利用する
最適なレンダリングエンジンを用いて、高性能のCPU/GPUを用意したとしてもレンダリングに時間がかかるケースはあります。
なぜなら、個人・会社単位で用意できる性能には限りがあるからです。
3DCGをメインの事業としている会社は、CGを制作するために莫大な資金をかけています。
そのような会社と同クオリティのレンダリングを行うことは難しいのです。
しかし、そのような場合に役立つのがクラウドベースのレンダラーです。
こちらを利用すれば、外部のレンダリングエンジン・CPU/GPUを利用できるため、高性能のレンダリングエンジン・CPU/GPUを揃える必要がありません。
また、クラウド上で利用できるというメリットもあるため、効率的にレンダリングを行えます。
当社モルゲンロットでも、クラウドレンダリングを行うことができるレンダーファーム「Render Pool(レンダープール)」を運営しています。
ボリュームレンダリングに時間がかかる場合、利用を検討してみてください。
まとめ
今回は、ボリュームレンダリングについて解説してきました。
ボリュームレンダリングは物質の内部を表現したり、濃度を調整したりできるため、ゲームやアニメーション、CT検査などのさまざまな分野で用いられているレンダリング技術です。
本記事ではボリュームレンダリングの基礎知識について詳しく解説しましたが、簡単な設定でボリュームレンダリングを行うことができるので、詳しい方法について調べてみてください。