XIIIの秘密~プログラマブルシェーダを使わなくてもできる効果的な表現(中編)(1/2 ページ)
大胆な陰影処理はこうして作り出されている
まずは、「セル調の陰影処理」の実現手法から見ていこう。
アニメ画として描かれるオブジェクトには、グラデーション的な陰影がなく、明るいか暗いかだけの「二値的なドラスティックな陰影」だけがある。これを突き詰めて考えれば光が「当たっているか」「当たっていないか」の判断だけで陰影が描かれることになる。
ポリゴン単位で「当たっているか/否か」の判断は、そのポリゴンの向き(すなわち法線ベクトル)が光源方向に「向いているか」「向いていないか」を判断できればいい。これは高校レベルの幾何学に出てくる「ベクトルの内積」の値で判断すればいい。
具体的には、ポリゴンの法線ベクトルと光源の向きを表す光源ベクトルの内積を計算して、この値が正か負かで判断できる。ちなみに負であればその面は光源方向に向いていないことになる。
実際の一般的なセルシェーディングでは、ポリゴン単位の処理では大ざっぱすぎるため、もう少し細かく処理している。処理の前段階では「明るい」「暗い」だけを描いたツートーンテクスチャをあらかじめ用意しておく。
描画するポリゴンを形成している各頂点単位ごとに、前述した「光源方向に向いている」「向いていない」を判断するための演算を行い、その結果をテクスチャ座標として出力して、先ほどのツートーンテクスチャでテクスチャマッピングするのだ。
ただし、XIIIではこのような一般手法を使っていない。効率が良いか悪いかの議論は別にして、ちょっとユニークな手法を採用している。
各頂点単位ごとに頂点の法線ベクトルと光源ベクトルの内積を求めるのは、一般的な方法と同じだが、この値がゼロになるところに新たな頂点を線形補外(補外=extrapolate 生成するという意味でつかっていい)するのだ。
これにより「光に当たっているポリゴン」「光が当たっていないポリゴン」というようにポリゴンレベルで二分できることになる。この場合、最終描画時には
- 光の当たっているポリゴンは明るく
- 光の当たらないポリゴンは暗く
とそれぞれ描画していく。
ややまどろこしい感じは否めないが、この手法によってプログラマブルシェーダを活用しなくてすむため、GeForce2系のようなクラシックなGPUでも動作できるというわけだ。
輪郭線はこうして描かれている
続いて、NPR的表現手法には必要不可欠な輪郭線の描画方法について見ていこう。これもまた、XIIIではユニーク、かつ大胆な方法で実現している。
まず、3Dモデルを1つ用意する。これを便宜上「本体モデル」と呼ぼう。下図で言うところの左端の青い球体だ。
次に、その本体モデルに対し、まったく同形で動きも完全にシンクロするが、本体モデルより一回り大きいモデルを用意する。これを便宜上「被せモデル」と呼ぶことにする。
この被せモデルを本体モデルに被せるのだ。これが下図の真ん中にある状態となる。風船人形を2体用意し、大きさを微妙変えて2体被せ重ねて膨らませたイメージだ。
この状態で、被せモデルを構成しているポリゴンのうち、視線に向いているポリゴン(視点から見て“表向き”のポリゴン)だけを透明にし、視線に向いていないポリゴン(視点から見て裏向きのポリゴン)だけを黒色で描画してやる。
こうすると「実際に見えるもの」は、本体モデル前面と、その外郭にはみ出して見える一回り大きい被せモデルの背面ということになる。はみ出して見える被せモデルの背面は、先ほど説明したように単色の黒で描かれるのでこれが画面上では輪郭に見える、という寸法だ。これが下図にある右端の状態となる。
この方法もプログラマブルシェーダを活用しないので互換性が高いという利点がある。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
GMO、ランサム被害にあった顧客に新しいPC提供へ 犯行グループは1人の顧客情報公開か
-
2
NECのルータ「Aterm」、PHP脆弱性の影響なし 設定画面URLの「.php」は無関係
-
3
GMO、不正アクセス実行犯の手がかりに懸賞金 1億5000万円規模
-
4
「楽天トラベル」に不正アクセス 顧客情報最大約260万件など流出か 予約者約3.6万件のクレカ情報も
-
5
auメールで朝から障害 全国で利用しづらい状況に
-
6
Apple、M6搭載の14インチ「MacBook Pro」発表 AI性能向上、33万9800円から
-
7
IPO目論見書に「AIは人類の存亡リスク」「コードの9割はClaude製」 Anthropicが示した規格外の見立て
-
8
So-net、会員情報約259万件が漏えい 一部メールサービスではパスワードも流出
-
9
GMO、攻撃者の公開情報に「アクセスは絶対に控えて」 悪質な拡散者には法的措置を準備
-
10
メアドを検索→AIで“その人専用フィッシングメール”を生成する手法、クリック率が約2.7倍に 7000人以上で実験
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR