・Real + unReal・
「リアルは敵だ」「アニメ万歳」「あなたの近所の秋葉原」と大変わかりやすいコンセプトでやってきてるワケですが、ベタっとしたセル塗りってのは作画の手間を省くためってのがあるわけで(多分)、PCにすべてお任せの3Dでベタ塗りの絵を作るのに意味はあるのかなーとか思ってしまったのです。特に静止画。
で、セルゾーンの間隔を空けてグラデーションを増やし、ベタ塗りを少しでも減らすような方法なんかもあるものの、それではつまらないのでちょっと違った方法を考えてみました。
それは最大の敵であるフォトリアル表現の代表、ラジオシティと組み合わせてみようという実験。
まず思いつくのはCelPainterをセットしたオブジェクトを置いて通常のラジオシティ設定をしてレンダリングする方法。
ところがこれだと全く効果が出ない通常のセルシェーディングになってしまう。
どうやらLW側でシェーダーが変更したパラメータを見て、無意味と判断したらラジオシティ計算をしないようになってるようで…
奴からすればセルシェーディングは敵ってわけか。サック。
そこでD-Stormのチュートリアルを参考に、ラジオシティによる陰影をテクスチャとして貼る方法にしました。
1.前準備
陰影テクスチャはSurfaceBakerで作るのでその準備をします。
対象となるオブジェクトを開き、「UV作成」のアトラス展開でUVマップを作成。
名前はとりあえずRadioMapにしました。
・1-1・
このままではサーフェイスが多すぎて設定が面倒なので、このオブジェクトを一旦保存。
そしてサーフェイス変更で1サーフェイスに統一してしまいます。
このオブジェクトを別名で保存します。このオブジェクトを使ってラジオシティ計算をします。
また、照明用にボールを1つ作り、法線を反転したオブジェクトも保存しておきます。
・1-2・
2.ラジオシティ
レイアウトに移り、ラジオシティ用に設定したオブジェクトと照明用オブジェクトを読み込み、照明用ボールのスケールを調整してオブジェクト全体を照らすようにします。
・2-1・
次にサーフェイスの設定。
照明用ボールのサーフェイスは色を白、自己発光にフラクタルノイズを貼って照度にムラが出るようにしています。
この辺はGWの2002年6月号のLightWaveStyleを参考にさせていただきました。
・2-2・
ラジオシティ用オブジェクトのサーフェイスは色を白、自己発光0%、拡散100%と普通に設定をし、シェーダーにSurfaceBakerをセットします。
Bakerの設定は「Image」モードで使用マップは先ほど作ったRadioMapに、焼きこみ対象は「Diffuse」と「Illumination」に、他の設定は「Shading Noise Reduction」にもチェックを入れています。
あとは適当な解像度とテクスチャファイル名を設定して終了です。
・2-3・
最後にライトオプションの全照明を0%にしてレンダリング開始。
かなり時間がかかるので飯喰うなり寝るなりして待ちます。
運良くクラッシュせずにレンダリングが終わったら出来上がったイメージを確認、問題が無かったら元のオブジェクトに貼っていきます。
・2-4・
3.実際に使ってみる
レイアウトを新規シーンでクリアします。
元のオブジェクトを読み込み、適当なサーフェイスの「T」を押してカラーマップを設定します。
画像マップのレイヤーを追加し、モードを「乗算」、タイプを「UVマップ」にしてUVには作成したRadioMapを指定、貼る画像に先ほど作成したテクスチャを指定して「UseTexture」でパネルを閉じます。
テクスチャはカラーマップとして貼る点に注意してください。
拡散に貼ってしまうとテクスチャの値がCelPainterのシェーディング計算で消費されてしまうので効果がわからなくなります。
これをレイヤーのコピー、ペーストなどを使って全てのサーフェイスに設定します。
既に別のテクスチャが貼られているサーフェイスについても乗算で重ねるので問題ありません。
・3-1・
これでレンダリングすればセル調だけどベタ塗りでもない微妙な、というか中途半端な感じになります。