BCView Tips GI編 (更新日 08/11/18)

使いかた・機能などの説明は付属のmanual_j.txtが基本です。実際モデルを見ながら触ってみればわかることが多いと思います。 (ここはモデリングと絵作り向けで、モデラー使用が前提の説明になっています。 モデル閲覧に使うにはTipsを参照してください。)


Tip 30: (GI: モデリングと絵作り2)

Tip 29では手間がかかるからと避けた、発光板をオブジェクトに作り入れて面ライトにした例です。 手間はかかるものの、卑近な喩えですが、Tip 29が制作メモ級とするならこちらはギャラリー級のクオリティが得られます。
作例ではシーン全体を球状に覆う発光板のサーフェースを分け、前から向かって左上にかけて発光を入れています。 またこのモデルは右手拳が邪魔になって顔右頬が明るくならないので、間に小さな発光板をはさんであります。 さらに水着パイピング近辺で水着下でシャドウになっている肌が露出して黒ずむため、水着パイピングの肌側半分にも一部で発光を入れています。

発光を調整するスライダーは "emission;"、 "reflectivity;"、 "smoothing;"、 "emphasis;"の4つです。 発光はライトと違いシャドウ部分を"shield"でコントロールできません。
一番大きい発光板をスライダー多用で調整し、それが決まったら細部の発光板をモデラー(かテキストエディタ)での質感設定編集で調整する手順になります。
前計算までの手間は大きいものの、発光板の光量が大きくて直接光は大雑把な調整でも白飛びしにくく、調整は従来より容易です。できあがり→ オリジナル()、カラーバリエーション()。

ラジオシティでは発光(自己照明)を入れたサーフェースを光源として使えます。オブジェクトに発光板を作り入れ面ライトとして使ってみます。

ライトと異なって発光板は受光するポリゴンから見て広く(視直径が大きく)なければ、 前計算のレイトレースで見落とされるため光源になりません。まず大きさが必要です。 同じ理由で入組んだ部分に入りにくい性質があります。細かく発光板を入れている右の例を参考にしてください。

それから受光するポリゴンから見て発光板を構成するポリゴンの発光(自己照明)値がある程度均一でなければ、 エイリアスのため斑になってしまいます(注1)。このため均一さも必要です。 なおテクスチャ付きサーフェースでは発光の色はポリゴン単位の平均色です。 似た理由と考えますが、発光板とTip 29の不透明カーテンを併用すると斑になります。併用できないと考えてください。

質感設定では拡散光値を1.0にしてください(0では発光しません)。
発光板の後ろからライトを入れるには、透明度を上げ(αを下げ)ておきます(透明度は前計算時点で確定します)。 ただし透明にすると逆数比例で発光は弱くなります。具体的に透明度50%(α50%)では1/2、透明度75%(α25%)では1/4です。 特にMetasequoiaで発光値を1.0以上にしたい場合、質感設定のmqmファイルを保存しておいて、テキストエディタで直接編集して質感設定ロード(Tip 27)させれば可能です。 ("emi"が自己照明値です。編集したmqmファイルはbcview専用に使ってください。)

(注1) 例えば対象が白一色のような場合8x8レイで十分ですが、 16x16の白黒チェック模様を8x8レイで見ると、8x8レイではチェック模様を認識できず、さらには白一色に認識したり黒一色に認識したりします。 これは画像レンダリングでのエイリアスと同現象で、斑になります。


Tip 29: (GI: モデリングと絵作り)

GIの効果を引き出そうとすると、剥き出しのオブジェクトでは反射光が少ないためモデラーで反射板を作って入れる必要が出てきます。
わかりやすくフィギュア撮影的オブジェクトを例にします。絵のように真上からのライトで床を白光りさせています。単に明るいほど反射光が強く広いほど多くなります。鏡面反射と違ってライトの方向は関係ありません。
予想通り、フィギュアは足元ほど明るく、腹部や顔があまり明るくなりません。背景面も斑が目立ちます。

フィギュアの周囲に反射板を置くのはライトの邪魔になりやすいし、移動が形状変更になるためいちいち前計算が必要なのが問題です。
そこでフィギュアの手前に下ほど不透明なカーテンを作ってみます。前計算には含め表示中は隠します。ただしこの方法も前計算後は透明度が変えられない制限があります。 背景面の斑はポリゴン割りを粗くすれば単調になり目立たなくなります。 床面はサーフェースを分けて、後から質感設定ロード(Tip 27)で反射光を部分的に変えらるようにしておきます。

形状変更したらもう一度前計算し、表示が出たら、まずフィギュアの肌に合わせてライティング。 最初の絵では腹部がつぶれて見え、ここは直接光で形状の起伏を表現しておくほうがよさそうです。
水着は反射光のチェックポイントで見せどころでもあるので、予め分けておいた床のサーフェースに質感設定で反射光の色、強さ、位置を変えます。 最後は細部の目、口などを質感設定で整えて、できあがり。

GI計算が扱うのは質感設定の色、拡散光と発光です。 mqoの質感設定の周囲光は拡散光の増分(周囲光100%で拡散光25%増)として扱っています。
質感設定の反射光はは従来のGL表示のハイライトとしてだけ表示され、計算で扱われません。 以下で反射とは質感設定の色、拡散光、発光とライトから計算されるポリゴン表面の色の反射の意味です。

GI計算は3角形単位です(注1)。 反射光や発光の色は、テクスチャ付きサーフェースでは発光の色はそのポリゴン平均色です。 反射光も発光も発生する側が広いか受ける側に近いかでないと届きません(注2)

計算が3角形単位のため、テクスチャ表示には独特の癖があります。 "tx"オフではテクスチャ部分はポリゴン平均色にぼけた表示です。"tx"オンでテクスチャを描画します。 計算上はオフがストレートで、オンではテクスチャ発色優先になるため、明るさがかなり違う場合があります。
さらにGL表示でテクスチャはそれ自体の色までしか明るくならないため、表示と計算上の明るさに食い違いが出ていて、 スライダー操作でGI表示が明るくなったり暗くなったりして戸惑うかもしれません。 "View"タブの"tx"もオンオフしてみて食い違いをチェックしてみてください。

GI表示ではキーライト、補助ライト(Light3〜6)ともGI計算上のぼけたシャドウが付きます。 このシャドウは、シャドウを発生する側が広いか受ける側に近いかでないと届きません。

他にGL表示との違いとしては、透明サーフェースに対して透過する光が色と透明度により着色したり減衰したりする効果があります。ただしシャドウ同様ぼけた発色になります。 この透過光も透明面が広いか受ける側に近いかでないと届きません。
また、透過光の強さと色は前計算時点で確定して、後から質感設定ロード(Tip 27)での変更はできません。

(注1) ラジオシティ法でいうフォームファクタは、 bcviewでは例えば4角形ポリゴンなら単純に2つに割った3角形単位で計算されます。 前計算の実質はレイトレースで、3角形片面当りで8x8レイです。
レイトレースには一様グリッドというバウンダリボックス内のポリゴン分布が均一なほど高速な計算法を用いているため、 単品的なオブジェクトでは高速ですが、作例のような場合、フィギュアに対し背景が広大なほど低速になります。 Tip 28の前計算時間の目安表は作例程度の場合です。
(注2) 表示でシャドウや透過光がぼけるのは、前計算のレイ数の点と、計算結果が頂点色描画である点の両方によります。 ポリゴンが粗いほど後者のため表示はぼけますが、細かくしても前者のため色斑が強まるだけかもしれません。作例のように入れ過ぎない調整を図る必要があります。


Tip 27: (質感設定ファイルのロード)

 
↓ctrlキーで"mat" 
 
ctrlキー押しで"mat"ボタン、または'b'キーでダイアログが開き、拡張子 "srf"、"mkm"のファイルを指定するとロードします。 'B'キーは最後にロードした質感設定ファイルをリロードします。 (ここで"lwo"、"mqo"ファイルを指定した場合も質感設定部分だけをロードします。1サーフェース単位の"srf"に対して"lwo"ならばまとめロードできます。)

ロードする質感設定のうち、質感名が現在表示中のオブジェクトの質感名と一致するものが置き換えられ表示され、その後必ずテクスチャがリロード(Tip 8)処理されます。 (このため、複数連続してロードする場合はいったん"Basic"タブの"Load texture image"をオフしたほうがレスポンスが上がります。)

質感設定の色、拡散光など数値パラメータとテクスチャファイル名のみ変更可能です。 (ポリゴンと関連付けられるスムーシング角度、テクスチャ座標、あるいはlwoではテクスチャ不透明度などテクスチャ設定を変えることはできません。)

GIモードでは、α(透明度)と透明色は直ちに表示されますが、 GI計算上は透明度は前計算でのレイトレース時点で確定するため、再度前計算するまで変わりません。 (なおGIモードでないなら、この機能よりもTip 10のunfitモードにしてビューを変えないで、モデラーで直接に質感設定を変更したオブジェクトファイルをロードするほうがいいかもしれません。)


トップへ戻る