トゥーンレンダリング風処理




必要な物
MilkShape 3D
輪郭線を付けたいモデル
輪郭線用のテクスチャ

MilkShape 3D輪郭線用のSMDを作成し、元のモデルと組み合わせてコンパイルすることによって、
ゲーム内でトゥーンレンダリング風処理が実装できます。



メリット
・輪郭線が付いたトゥーン(漫画)風のモデルが作成可能です。
・工夫して線に色を付けたり、線を半透明にすればオーラの表現に使えたりします。

デメリット
・単純にポリゴン数が2倍になってしまいます。なので元からポリゴン数が多いモデルでは不可能な場合があります。
・あくまで「風」なのでライティング等の細かい調整はできません。

方法
MilkShape 3D で輪郭線を付けたいモデル(SMDやMS3Dファイル)を開きます。例としてこのモデルはtogeatamanです。
Ctrl + A を押してモデル全体を選択します。


全体を選択したままTools - Fatboy... を選びます
この機能を選ぶには MilkShape 3D インストール時に
3rd Party Plugin も一緒にインストールしている必要があります。


Fatboy 機能でモデル全体を太らせます。
この時に入力する数値が大きければ大きいほど輪郭線が太くなります。
大体0.3〜0.7くらいが目安です。このモデルでは0.7で行いました。
ウィンドウの下の項目のチェックは入れたままで大丈夫です。


モデル全体を太らせた後テクスチャを一つにまとめるため全体を選択したままGroups欄 Regroup を押します。
後のために Auto Smooth にチェックを入れておきましょう。


次も全体を選択したままMaterials欄で輪郭線用のテクスチャ(このモデルではtoon.bmp)を読み込ませた Material をモデルに適用させます。
リストにある Material をダブルクリックで適用できます。
するとモデル全体が輪郭線用テクスチャ一色になります。このテクスチャでは黒一色です。


頂点数を削減するために Vertex - Weld Together でモデル全体の重なっている頂点を結合します。
コンパイル時のエラー防止のためです。


そのまま全体が選択された状態で Face - Reverse Vertex Order でモデル全体の面を裏返します。
こうすることで輪郭線の役割を果たすようになります。


File - Export - Half-Life SMD QCファイルのある場所にエクスポートします。ファイル名は被るファイルが無ければ何でも構いません。
ここではわかりやすいように「togeataman_toon」としてエクスポートしたことにします。



QCファイルをテキストエディタで開き以下の様に//reference mesh(es)行に太字の部分の記述を加えます。
...
//reference mesh(es)

$body "body" "togeataman"

$body "body" "togeataman_toon"

$texrendermode "toon.bmp" "flatshade"
...
元となったSMD(togeataman)の次に今回作成した輪郭線用のSMD(togeataman_toon)を読み込ませています。
輪郭線用のテクスチャ(toon.bmp)にtexrendermodeでflatshade効果を付けているのは
線に影が出来にくくするためです。

最後にQCファイルをコンパイルして完成です。存在感アップです。







TOPへ