ITmedia NEWS >

XIIIの秘密〜プログラマブルシェーダを使わなくてもできる効果的な表現(2/2 ページ)

» 2004年03月19日 21時56分 公開
[トライゼット西川善司,ITmedia]
前のページへ 1|2       

セルシェーティング(トゥーンレンダリング)とは?

 「漫画の雰囲気をそのままに3Dゲーム化」というテーマを掲げたXIIIにおいて、採用する3Dグラフィック描画様式は自ずとセルシェーティング(トゥーンレンダリング、以下セルシェーディングと記する)ということになった。

 ただし、セルシェーディング自体は最近ではそれほど珍しいものではなく、日本でも古くは「ジェットセットラジオ」(セガ)が採用し、最近の有名作では「ゼルダの伝説-風のタクト」(任天堂)、「ドラゴンボールZ2」(DIMPS)などが採用している。そんなわけでUBI SOFTフランスは「我々は、そうしたタイトルからの差別化を図るためにアニメではなく“紙の漫画らしいビジュアル”再現を目指すことにした。」(Moret氏)という。

 まずはセルシェーティングとはなにか、ここから始めることにしよう。

 セルシェーディングは、最近、研究が盛んな絵画調の3Dグラフィックスを生成する技法の一つだ。写実的な3Dグラフィックス表現を「フォト・リアリスティック」(Photo Realistic)というのに対し、こうした絵画調3Dグラフィックスは非写実的であることから頭にNONを付けて「ノン・フォト・リアリスティック」(Non Photo Realistic)と呼ばれる(研究者達からはその略語である「NPR」表現と呼ばれることが多い)。XIIIの3Dグラフィックスも紛れもないNPR表現……ということになる。

 さて、XIIIで採用される「セルシェーティング」は、数あるNPR表現のうち、もともとはアニメ調の映像表現を目指したものだ。通常、3Dグラフィックスは、観測者(ゲームの場合はプレイヤー)の視線を表す「視線ベクトル」、描画対象となるポリゴン(あるいは面を構成するピクセル)の「法線ベクトル」、陰影の元となる「光」の向きを表す「光源ベクトル」を使って、陰影演算を行いつつ描画される。これにより、普通はリアルな滑らかな陰影が描かれることになる。

 一方、テレビアニメなどでは、そのセル画への着色工程を出来るだけ簡略化する意味合いから、線分表現こそ滑らかではあるが、面表現については陰影を大胆に塗り分けて、なおかつ、その色数も限定的にする傾向にある。

 セルシェーディングとは、簡単に言えば、通常はリアルになってしまう3Dグラフィックスを、レンダリング段階であえて「陰影を大胆に」「色決めを大胆に」する、ということになる。

 また、テレビアニメの映像では、原画デザイナーが描いた輪郭線も象徴的で、かつ存在感がある。通常の3Dグラフィックスには輪郭線は表現されないので、セルシェーディングでは、あえてこの「簡略化された線分表現」(輪郭線)を可視化する必要も出てくる。

 ここからはちょっと難しい話も出てくるが、XIIIのセルシェーディングの仕組みについて見ていくことにしよう。

セルシェーディングのセル(Cell)には、セル画のセル(セロハン:Cellophane)の意味と、その陰影が輪郭線で仕切られてまるで細胞のようにみえる「細胞」(Cell)という意味がある
ATIがRADEON 9700用のデモとして発表した鉛筆画シェーダーも、いわゆるこのNPR表現の一つだ。なお、このデモはRADEON9500以上で動作可能

XIIIのセルシェーディングはプログラマブルシェーダを使っていない

 XIIIは、今やクラシックな3Dゲームエンジンともいえる「Unreal1エンジン」をベースにして制作されている。このエンジンを採用した3Dゲームの最近作といえば2003年末に発売された、DeusEx2の俗称で知られる「DeusEx:Invisible War」(ION STORM)を思い出す人もいるだろう。しかし、あちらは、ゲームエンジンこそクラッシックだが、3Dグラフィックエンジンをほぼ完全オリジナルなものに差し替えており、動作させるためにはプログラマブルシェーダ必須という作りになっていた。

 一方、XIIIは部分的な拡張こそ図られているものの、基本的にはDirect X 7世代のゲームエンジンであるUnreal1エンジンをほぼ原型のまま活用している。そう、XIIIのセルシェーディングの実現にはプログラマブルシェーダーは活用されていないのだ。

 「だからこそ、PCに限らず、XboxやPS2、GCの全プラットフォームでリリースできたわけです。PC版はそれこそ、NVIDIA GeForce 2クラスでも快適に動作します」(Moret氏)

 さて、XIIIでは、セルシェーディングの実装にあたり、描画プロセスを

(1)セル調の陰影処理

(2)輪郭抽出工程

の二つに分けてインプリメントを行ったという。なお、この発想自体は一般的なものだ。

(次回は、セルシェーディングによる具体的な描画処理について解説していこう)

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.