| BCView Tips | (更新日 09/06/01) |
使いかた・機能などの説明は付属のmanual_j.txtが基本です。実際モデルを見ながら触ってみればわかることが多いと思います。 (全体に長くなりすぎたため、GIについて制作者向けTips GI編、Tipではないような説明は修正情報補足に分けました。)
Tip 31: (Shadow+用のピクセルフィルタ)
![]()
|
シャドウを"Soft edge"でぼかす場合サンプリング数を上げても、 シャドウ発生源が離れている(普通の言葉で長い影)ほど、エッジが目立つのを避けられません。 そこで0.7h/0.8hにシャドウを画像ピクセル単位の処理でぼかすフィルタを付けてみました。
![]() |
ぼかしサイズは3D空間の奥行き、シャドウの長さなどに関わらず、スライダーと画像サイズの短辺に比例します。 右の絵は効果がわかりやすいよう上下とも"Antialias"は4で上がそのまま、下がフィルタ使用で(一段のアップに耐えるようになりま)す。
画像サイズ、ぼかしサイズが大きいほど時間がかかる処理です。800x800のスクリーンで見るのに対して4000x4000のキャプチャをすると、
画像ピクセル数が5倍の自乗にぼかしサイズが5倍でざっと125倍の処理時間がかかります。
(なお処理時間が1000倍では実用性が無いと判断してプログラム的には8192x8192まで処理可能ですが、
現在、確認に使ったGPUのキャプチャサイズが4096x4096まででそれ以上は未確認です。)
Tip 28: (GI: ラジオシティ)
ラジオシティといえば室内照明シミュレーションのCGが思い浮かぶのではないでしょうか。 レンダリング画質はリアルタイム性と相反するのでシミュレーションにはならないものの、ラジオシティらしい色の反射表現ができるようになりました。
| 3角形 | CPU | 空きメモリ | 空きHDD |
| 5万 | 1 | 200MB | 50MB |
| 10万 | 2 | 400MB | 100MB |
| 20万 | 4 | 800MB | 200MB |
|
| |
| ↓ctrlキーで"gi" | |
|
| |
| (GIモード) | |
|
| |
![]() |
|
Reflectivity
反射率を全体的に変えます。反射光が多いシーンでは明るさは敏感に変化します。 (反射光が増えるほど計算時間がかかります。) "fine"オンで細部の明るさが増します。(操作中変にちらつく場合もオンにしてみてください。) | |
|
Shield
シャドウ部分のライト入射強度を変えます。 左側では遮蔽物が短距離にあるほど暗くします。(相似形でも、全体サイズとの比がより小さいほど暗くします。) 右側では最大25%まで透過入射させて明るくします。 |
| |
|
Smoothing
隣接ポリゴン間ぼかし処理で、色斑を除去します。 (ぼかし範囲は距離ではなく隣接数で高々数個です。このためハイポリモデルでは狭い範囲でしか効かず、ローポリモデルでは広く回りすぎるかもしれません。) | |
|
Emphasis
反射光を強調します。 右側ほど全体に明るくなりますが、併せて "light1-2"などライトを下げ、 "reflectivity"を上げると明瞭になります。 |
| |
"GI"の4つのスライダーは、左端で通常のGL表示100%、右端でGI表示100%になります。全部左端なら"GI"オフと同じです。
"GI extra"はオプションで、オンにしないならデフォルト("fine"オフ、左図のスライダー位置)に固定されます。
オフはストレートな計算です。オンでの効果は右表にまとめました。
スライダー操作は両端押しの細かい移動と隙間押しの大きい移動のほか、 shift+クリックでの直接移動を使い分け、さらに全体の明るさが変わる調整が多いため、カウンターとして "Total light"と"Ambient"の移動である'k'、'l'とctrl+'k'、ctrl+'l'キーを使うと効率よく調整できます。
"tx"オフではテクスチャ部分はポリゴン平均色でぼけた表示になります。"tx"オンではテクスチャを表示します。 計算上はオフがストレートで、オンではテクスチャ発色優先になるため、明るさがかなり違う場合があります。
GI表示ではキーライト(Light1〜2)、補助ライト(Light3〜6)ともぼけたシャドウが付きます。 一方GL表示での機能であるキーライトの"shadow+"、"Toon"と0.8のバンプ表示はGI表示が大きいほど薄れます。 (ハイライトのみ変わりません。なおハイライトはGI表示とも計算とも関係しません。)
他にGL表示との違いとしては、透明サーフェースの色と透明度で透過光が着色します。ただしシャドウ同様に被透過側のポリゴン上ではぼけた感じの着色になります。
以上はモデル閲覧についての説明です。モデリングと絵作りについては質感設定との関係などをTips GI編(別ページ)にまとめました。
(注1) メモリは、32bit Windowsアプリケーションのメモリ上限が2GBのため、だいたい1GB使うといわゆる断片化のためうまく確保できなくなってきます。
このため3角形20万の処理にはメモリが2GB付いたPCが必要ですが、それ以上あっても恐らく3角形20万台が処理限界です。
前計算、表示計算とも、4スレッド処理でクアッドコアまで高速化します。
(コマンドオプション'm'+数字で変更可能で初期設定は上限の4です。シングルコアPCでは、Tip 6、7を参考に、一度'm1'で起動すると、GUI挙動のがたつきやメモリ使用の無駄が減らせます。)
ただし表示処理全体としては従来通りシングルコア処理です。
ビデオカード(GPU)は、GI計算に関係しません。
0.7は0.5と同じくWindows標準のGL 1.1、0.8は0.6と同じくGLSLシェーダーが使えなければGL 1.3、使えればGL 2.0対応で動作します。
Tip 26: (補助ライト: Light 3〜6とWhite light)
例えばフィギュアの頭頂部を照らそうとすると従来の2ライト(以下キーライト)では不足で、 また、髪などでダークな色のテクスチャを使うと(bcviewもですが、OpenGLで多用されるテクスチャ描画モードでは)もはやキーライトでは明るくならないため、 0.5p/0.6kで補助ライト"Light 3"〜"6"と"White light"を追加しました。
"White light"は、0.5oまでの白色の霜が降ったようなエフェクト"Light on texture"の、
ノンテクスチャや透明サーフェースまで拡張したバージョンです。
"Light 3"〜"6"はそのカラーバージョンで、
"Highlight"だけ使うこともできます。"Highlight"のライティング計算はgouraudのみです。
これら補助ライトはライト色でサーフェースを着色します。2キーライトの代用になるものではありません(注1)。
(初めにキーライトとシャドウを決め、それから補助ライトで陰影を加える使い方になると思います。
なお右の絵では補助ライトを加えたほうは"Ambient"を減らしています。)
トゥーンや塗り潰しシャドウに対しても同じ効果で、トゥーンでも陰影はグラデーションになります。 色設定にはshiftキーを押し"color"をクリックするとカラーピッカーも使えます。 マウス操作は従来通りctrlキー+LRボタンの組合わせで、"Light control by mouse"で選んだ2つまで可能です。
(注1) 0.5q/0.6lで補助ライトの計算方法が変わっています。
"tx"チェックが付き、オフでは(ノンテクスチャ状態の)サーフェース色で計算し、オンではキーライトと同様計算でテクスチャを表示します。
さらに、これと逆のような変更ですが"tint"チェックが付き、
オフでは"Ambient"がライト色のみになります。オフはMetasequoiaの表示に似ます。従来通りはオンでLightWaveの表示に似ます。
Tip 25: (1回転アニメ向き操作とキャプチャ)
| ||
| ビュー X | ビュー Y | ビュー Z |
|
|
|
|
|
|
| ローカルX | ローカルY | ローカルZ |
マウスドラッグでshiftキーを押して特定軸回りにオブジェクトを回転させる操作で、 0.5o/0.6jからは従来のビューXYに加えビューZ、ローカルXYZ軸回転が選択できます。 ドラッグの開始位置を右の絵のピンク色の範囲にするとその回転軸になります。 (ローカル軸はモデルデータに依存します。右の絵のToyAirplane.lwoはオリジナルから向きを変えてあります。)
回転中心はモデルロード直後は表示レイヤーのポリゴン全部を包含するバウンダリボックスの中心です。 表示レイヤーを変えて'F'、マウスで指定してフィット'f'、スナップ'g'キーなどで変更できます。 (なおTip 10のunfitモード2は、フィットで視角を変えないで中心だけを変えるモードです。)
さらにTip 23の"Continual shots"は、
従来と同じ"mt"に、1回転のコマ数を指定できる"1t"が加わりました。
"1t"にしておくと、右の数字のコマ数で1回転します。マウス操作でも一定の角度だけに制限されます。
("1t"の設定は設定ファイルに保存されず、通常は"mt"になっています。
またキャプチャ後は"mt"に戻ります。)
"1t"で"Nonstop drag to spin"有効で自動回転している状態で、"go"でキャプチャを開始した場合、
指定した数(1回転分)のキャプチャが終わるまでスクリーン(ウィンドウ内)表示を更新しなくなり、キャプチャ所要時間を節約します。
なお連続キャプチャ中にウィンドウをいじるとキャプチャを中断するので注意してください。
(これはウィンドウサイズを変更をするとビデオメモリを解放する場合があるためです。
ほか原因はよくわかりませんが、頻繁にタスクチェンジすると中断することがあるようです。)
Tip 24: (ライティング分けシャドウ)
0.5n/0.6iからライティング分けシャドウ"Shadow+"が付きました。
シャドウの濃さは通常描画と同様のライティング計算によるため、"Ambient"や質感(材質)設定の発光(自己照明)が強いほど薄まることに注意してください。
(また両ライトとも使うと、両方のシャドウが重なる領域はライトがないため陰影がフラットになります。
右の絵では、Light1のシャドウ領域内はLight2によって陰影が表現され、Light2はシャドウを使っていません。)
"Soft edge"を使うには、"Antialias"を併用する必要があります。
("Shadow+"は、"Antialias"での描画回数ぶんだけぼかせます。
"Shadow"との併用はできません。ctrl+(shift+)'w'キーで"Shadow+"、ctrl+(shift+)'e'キーで"Shadow"に両ライトとも切り替わります。
なおTip 20のキー設定が変更になっています。)
"Toon"で使うには、"Dim color"を指定してください。
("Dim color"は、シャドウ領域内外と無関係に単純により暗い部分に出るだけです。
このため"Toon"で"Shadow+"を使うのは難しいかもしれません。
従来の塗り潰しシャドウとは、質感設定別のTip 21の色になる点が違います。Tip 5も参照)
Tip 23: (キャプチャ設定とステレオ設定)
"Stereo"かつ"2w"選択時は表示画面はノーマルのまま、キャプチャ出力ファイル(png)上だけでステレオ画像になり、
また2画像連結("LR"/"RL")か分離2ファイル("2p")かを選べます。
それ以外の場合はディスプレイ上の表示と出力ファイルは一対一対応です。
"Offscreen rendered by"をチェックしない場合、画像ソースはディスプレイ上の表示画像です。
"Offscreen rendered by"をチェックした場合、画像ソースは(表示画像ではない)画像バッファになり、サイズ指定が可能になります。
画像バッファは0.6dではPB(pixel buffer)とFBO(framebuffer object)、0.5jではPBとGDI(WindowsのGL 1.1対応ソフトウエアレンダラー)です。
GDI以外はビデオカードのハードウエア対応が必要です。PBとFBOでRGBA色深度など違いがある場合は、数値の大きいほうを選べばよいでしょう。
実際の画像サイズの上限は"limit"表示よりも小さく、ビデオカードのVRAMにより制限されます。(例えば、VRAM不足で描画が極端に低速になることがあります。VRAMはディスプレイ表示、テクスチャ、その他アプリケーションに利用されることに注意してください。)
GDIはこの制限はありませんが、ソフトウエア処理のため低速です。
"Stereo"と"Anaglyph"に共通なのは両目間の角度"convergence"で、スライダー右いっぱいで18.0°です。
(なお0.5j/0.6d 22.5°→ 0.5k/0.6eでやや縮小)
Anaglyphでは、低速ですが、"RB tints"で色調整が可能です。"color"、"green"とも右一杯にするほどちらつかなくなり、
しかしグレースケールの絵になります。(Anaglyphでマウスでポイントしてフィット操作などをする場合、マウスカーソルと当たりが違和感がある場合、"LR"と"RL"を変えてみてください。内部的な判定順序が変わります。)
0.5l/0.6gから"Microporl"に対応しましたが、画像の水平インターリーブ処理は(Anaglyphの色調整ほどではないですが)ソフトウエア処理のため低速です。他はAnaglyphと使い方はほぼ同じです。
Tip 22: (DOF: フォーカルブラー)
![]() |
なお普段はぼかし量のスライダーが出ています。ctrlキーを押すとフォーカスのスライダーに変わります。
ctrl+shiftキーではマウスドラッグによる調節もできます。
(なお0.5j/0.6d → 0.5k/0.6eで、ぼかし量は半減)
なおフォーカス位置は"Zoom"や"Perspective"の影響を受けませんが、センタリング、フィット操作などには影響されて変わります。
Tip 21: (0.5hと0.6bのトゥーンの相違)
(注4) mqoではテクスチャ色は基本色へ乗算、lwoでは加算モードでは加算、アルファモードでは無効(0.5h)/補間(0.6b)、それ以外の合成モードでは乗算 |
トゥーンは、0.5hにあったような限定条件(Tip 5の注1を参照)は、0.6bではありません。 しかしサーフェース別の調整はできないので、使いかたとしては同じくTip 5のようになります。
toon/velvetハイライトは、トゥーンの色計算に依存するため0.5hと0.6bで異なります。
これに対してアウトラインの色計算は、0.5hと0.6bとも0.5hのトゥーンと同じです。
Tip 20: (複数回の描画によるantialiasとshadow soft edge)
![]() | |
|
|
描画回数がシャドウの色に影響を与える場合があります。"Antialias"と"Soft edge"の設定値を同じにするとこの影響は最小になります。
Tip 18: (表示と質感設定の関係 エフェクト)
|
| ||
|
| ||
|
| ||
| highlight | toon shade |
|
|
|
|
0.6bのシャドウと、0.5hのアウトライン以外のエフェクトは、視点に対して少し手前に描かれる必要があり、この調整が"Overlay effect offset"です。欠けのような描画失敗個所が出る場合、大きくしてください。しかし大きくすると、モデルでポリゴンが近距離で重なっているような場合、裏のエフェクトが表に出てしまっておかしな表示になることがあり、どちらもあまり目立たない程度を目安としてください。
Tip 10: (unfitモード1)
モデルがロード済みでその視点を次のモデルロードにも維持したいとき、'V'キーを押します。モデリング中、修正箇所をリロードでくりかえし見る場合などで便利です。
(このモードは設定ファイルには記憶されず、もう一度'V'で抜けるかbcview終了まで有効。また、'/v'オプション設定ファイルロードでの視点移動があるとunfitモードは正常に維持できなくなるので、
そのときは、いったん'V'キーでunfitモードを外し、もう一度'V'で入ればうまくいきます。
同様にctrl+'v'でunfitモード2というのがあり、これはフィット操作に対してZoomをリセットしないモード。unfitモード1になっているかはshiftキー、モード2になっているかはctrlキーを押している間「unfit」と出るので確認できます。)
Tip 9: (Zoomのプリセット)
ロード時のモデルの(メインウィンドウのサイズに相対的な)表示サイズ、またはフィット操作でリセットされるZoomスライダーの位置は、
右のように「preset」の表示があるときにZoomスライダーを操作すると変更できます。
「preset」はctrl+shiftキーを押すと常に出ます。そのままで、スライダーをマウスで動かすか、','または'.'キーで動かすか、メインウィンドウでマウスを縦にドラッグするかします。(メインウィンドウでのドラッグ操作ではスライダー移動よりも微調整が可能です。)
Tip 8: (テクスチャのリロード)
モデルがロード済みで、そのテクスチャだけを変えてみたい場合、ctrl+shift+'t'キーでリロードできます。 (例えばphotoshopとbcviewでテクスチャ修正。ただし画像ファイルはモデルファイルと独立しているから可能で、質感そのものやテクスチャのマッピングはモデルデータの一部なので、その変更だけを反映させることはできず不便。今回モデリングしていてそういう機能も欲しくなったけれども。 なお、bcviewのマッピング計算がレンダラーと同じと限らないので、最終的にはレンダラーでの調整が必須です。)
Tip 7: (複数起動しない) Tip 6の'/q'を'/o'に変えると、もし起動済みのbcviewがあればそれを使うようになります。
ただしショートカット
を使うほうは、95とNTではうまくいきません。(Windowsがショートカットに指定した'/q'、'/o'のようなオプションを、
ショートカットへのモデルファイルのドラッグ&ドロップのときに無視してしまう。)
manual_j.txtを参照して他のオプションを併用すると、例えばモデルをロードしないで視点とライトを変えるというようなことができるようになります。 (大きなモデルファイルのロードは数秒かかる場合があるから、もし既に目的のモデルをロードしたbcviewがあればそれを使えば時間の節約になります。 Tip 1、11、12を参考に試してみてください。)
Tip 5: (トゥーン表示の使いかた) bcviewではサーフェース別の質感(材質)設定はありませんが、逆にそのような設定がモデルデータに付属していなくても見ることができます。バージョン0.5eでの手順をまとめてみました。
| 1 初めに、Total lightを最大にしておきます。トゥーンでは動かしません。(小さいとAmbientやLightが鈍感になるだけ) |
![]()
|
2 Ambientはとりあえず中央、Light1は次で動かします。 Light2はこの例では最小にしておきます。 |
|
|
3 Toon、Dim colorとOutlineをオン。(ctrl+'t'、'E'、'e') スライダーは明色暗色が判るようにセット。
4 Light1のスライダーを動かせば明色暗色の比率が変わります。 |
![]() |
![]() |
![]() |
|
5 色はサーフェース別の調整はできないので、肌色を重視して決めるとします。(注1)
6 Ambientも明度の調節になります。colorオンでいくらか着色できます。 |
![]() |
![]() |
![]() |
![]()
|
7 Texture highlightのtoonをオン。(ctrl+'q'、ctrl+'d') 好みの強さに調節して、できあがり! (この例の質感設定は反射光髪60%、目200%、光沢はともに60%くらい) |
8 (裏技) 明色トゥーンと暗色シャドウ組合せ。Dim colorをオフしてShadow2をオン。(ctrl+shift+'e') Light2が最小なら他に影響なく角度を変えられます。(注2) |
![]()
|
![]()
|
Tip 4: (アウトラインをきれいにする)
アウトラインの太さが表示上1ピクセルより小さいとき、アンチエイリアスしてもあまりきれいにならなくなってきます。
その場合は、いくらか太くして、代わりに明度を調節して薄く見えるようにしたほうが、きれいになります。
(一般に大きくレンダリングしてphotoshopなどで縮小する手がありますが、bcview(のOpenGL)はスクリーン解像度以上のレンダリングを保証していません。 → 0.5j/0.6dでオフスクリーンレンダリング機能が付きました。アンチエイリアスも追加されました: Tip 22、23)
Tip 3: (アウトラインの裏技的モデリング) アウトラインは太さがモデル全体で一定なので、特に細部で、例えばモデリング形状による睫毛は太く見えてしまいます。また、目の周囲でも出ないほうがよい部分があります。
アウトラインは透明サーフェースに出ないので、睫毛や、目の周囲の部分のサーフェースを分けて、1%くらい透明を入れて出ないようにすればよさそうです。
しかし透明サーフェースにはトゥーンもシャドウも出ないので、分けるのは必要最小限にしなければなりません。
Tip 2: (lwoテクスチャのアルファ) バージョン0.5dでlwoの色・拡散テクスチャのアルファ画像が有効になりました。
(なお、mqoではポリゴンか色テクスチャのどちらかで純白を入れるという方法が普通なようで、こういうアルファが無くてもうまくいくようです。lwoではポリゴンの色によらず色テクスチャはその色で出ます。)
色画像のみの場合は、上の絵のように陰影が違っているためノンテクスチャのポリゴンの肌と境界が出ます。これはOpenGLのテクスチャ描画の性質です。
色+
アルファ画像(同一マッピング)があれば、純黒部分をマスクした描画になります。
ただしこの描画は、アルファ値が純白だと陰影が無くなるため、絵では純白にはしていません。
(最新版では同一マッピングという条件を無視するオプションが付きました。Tip 21の表示例を参照)