ero

連載:ITエロ進化論「3Dグラフィックへの道(1)~はじめにレイトレーシングありき~」

  • このエントリーをはてなブックマークに追加

by [2014年4月24日]

アダルトゲーム市場を見渡せば明らかですが、アダルトコンテンツの制作において、3Dコンピュータグラフィック(3DCG)の導入は長い間鬼門に近い状態にありました。

というのは、人体をモデリングしてそれらしいポーズを付けて絵にするにせよ、ポリゴンデータとしてリアルタイムで動かして表示するようにするにせよ、莫大なハードウェアリソースと膨大なモデリングデータが必要で、総じて規模の小さな企業の多いアダルト産業ではよほど何か技術的なノウハウを持っていない限り、とても手出しできる代物ではなかったためです。

また、3Dモデリングしたキャラクターにはそれそのものに固有の問題もあって、それらが解決するまで、様々な試行錯誤が(アダルト業界のみならず、アニメ・一般ゲーム業界を含めて)繰り返されることとなりました。

今回はそうした3DCGがいかにして「実用」段階までたどり着こうとしているのかについて考えてみたいと思います。

▼連載目次▼
はじめにレイトレーシングありき
難航した映像コンテンツへのレイトレーシングの応用
ポリゴン技術の登場
立ちはだかった「不気味の谷」
意外と少ない3Dアダルトゲーム
▲目次▲

はじめにレイトレーシングありき

レイトレーシングソフト(POV-Ray)とその出力画像
レイトレーシングは光の透過・反射によって立体を表示するため、透明あるいは光沢のあるオブジェクトの表示を得意とする。

3DCGという概念が一定の実用性を伴って語られるようになったのは、決して最近の話ではありません。

実のところ、カラービットマップグラフィック画面がパソコンに普及した1980年代初頭の段階で、3DCG技術は既に一つの完成形を得ていました。

三次元座標系の任意の座標に光源を置き、そこからの光がどのようにモデリングされた物体に照射され、どのような影を作り、あるいは受けた光をどのように反射するか、を逐一座標計算によって算出して最終的な画像を得る、レイトレーシング(Ray tracing)と呼ばれる技術がそれです。

この技術では、三角関数を用いて画面上の全ピクセルについての行列演算による座標と色情報の算出を繰り返して最終的な静止画像を得るため、1枚の画面を得るのに必要な時間とそこに表示される物体の座標データ入力の手間を無視できるならば、例えばBASIC言語を用いて必要なプログラムを書けば最初期の低性能なパソコンでも実行可能です。

問題は、表示したい物体が複雑になればなるほど、画素数と色数が増えれば増えるほど指数関数的にその計算時間が延びることで、高校生時代にこの種のプログラムを書いて超越関数を演算するためのハードウェア(FPU)を持たない最初期の16ビットパソコン(※4.4MHz駆動のIntel 8088を搭載)上で実行した筆者は、球と立方体を1つずつ表示した640×400ピクセル/8色のビットマップ画像たった1枚を得るためだけに丸2日以上の時間を要し、期待通りの結果が得られたことには感動したもののあまりの所要時間に途方に暮れた記憶があります。

集積回路の製造プロセスが飛躍的に微細化し、十分な数のトランジスタを利用できるようになり、FPUに相当する超越関数演算機能の性能が飛躍的に向上した最近のGPUやCPUを用いれば、リアルタイムレイトレーシングも不可能ではなくなってきているのですが、少なくとも1980年代から2000年代までのパソコンのハードウェアではレイトレーシング画像をリアルタイムに動画として出力するのは事実上不可能だったのです。

(次回、『難航した映像コンテンツへのレイトレーシングの応用』へ続きます)

コメントは受け付けていません。

PageTopへ