LightWave で線画出力:基礎編4:BESM を使う

LightWave に標準で搭載されているシェーダー BESM を使って線画を出す方法……を調べたかったのだが、まだよく分かっていない。困ったことに、BESM の基本的な使い方についてはマニュアルにすら書かれていない。BESM はもともと外部の配布プラグインだったらしく、配布元だったサイト(消失しているので Internet Archive)に使い方を記した文書が残っているので、主にそれを参考としてとりあえず各項目の説明を記しておく。不明な項目もあるので、詳細などについてご存じの方は教えていただきたい。

BESM の特徴

  • 長所:グラデーション処理に長け、色の透明度と密度を簡単に変えられる。
  • 短所:出力時、サーフェイスの設定がカラーゾーンの設定に上書きされる。そのためテクスチャが使いにくいのと、ライトの色をうまく扱えない。静止画には適しているが、動きのあるオブジェクトの場合、オブジェクトの厚みを減らさないと変な線が出るらしい(未確認)。

※テクスチャについては、[Zones]で[transparency](透明度)を上げて[Force Color]を下げれば使えるらしい。

使用方法

使用するには Super Cel Shader と同じで、[シェーダ]タブの[シェーダ追加]プルダウンメニューで[BESM]を選択すればよい。そうすると[シェーダ]タブに[Big Eyes, Small Mouth]が並ぶが、この上でダブルクリック(または右クリック>[プロパティ])で設定画面が出てくる。そのままでは出力色設定がおかしいので、調整が必要。ただし、32ビットの PSD で出力すればオブジェクト部分のみアルファチャンネルが作られるので、色が変でも Photoshop などの別ソフト上で修正すればよいと割り切るのであれば、そのままでも使えなくはない……か。

設定パネル各項目について

[Spread]:塗り

上部[Spread]にある、色のついた帯状の部分はグラデーションのプレビュー欄。ここでは、現在の設定がサーフェイスへ適用されるとどう見えるかを示している。色の上でクリックすると、そのゾーンの色を調整できる。プレビュー欄のすぐ下にあるのはグラデーション調整領域。ここをクリックすると、ゾーンの追加[Add]、混色[Blend]、選択そして削除ができる。このときの挙動は、右にあるモードボタン[Add][Blend][Edit][Delete]でどれが選択されているかによる。初期設定は[Edit]。[Shift][Scale]はボタンの上で左右にドラッグして動かす。

[Zone]タブ

ここでは色勾配を決め、色の「バンド」がサーフェイスにどう適用されるかを設定する。 ゾーンを編集したいときは[Edit]を選択し、グラデーションプレビュー欄のすぐ下にあるグラデーション調整領域をクリックする。そして入力欄に数値を入れるか、横のスライダを動かす(ボタン上で左右にドラッグ)ことでゾーンの位置調整が可能。[Opacity](不透明度)、[Brightness](輝度)、[Saturation](彩度)についても同様に調整でき、選択されているゾーンへ適用される。

  • [Add]:グラデーション調整領域をクリックすると、新しいバンドを追加する。
  • [Blend]:ゾーンを混色(ブレンド)する。ブレンドはゾーンのように調整できるが、実際には隣り合うゾーンへの混色となる。
  • [Edit]:このモードにしてクリックすると、ゾーンまたはブレンドの近い方を選択する。
  • [Delete]:クリックされたゾーンまたはブレンドを削除する。
  • [Account for Light Color Zone]をオンにすると、シーンで設定された光の色をもとにゾーンの色を変更する。
[CelSpec]タブ

セル調のスペキュラ(鏡面反射)ハイライトを追加・調整し、さらにこのハイライトの輪郭線も追加できる。[Enable]のチェックを入れることで各設定が適用される。

  • [Cel-Look Specular highlights]:カラーボックスをクリックするか、RGBの各スライダを動かすことで色を選択。[Size](サイズ)や[Opacity](不透明度)もスライダのボタンで調整できる。ただし、これらの設定はグラデーションのプレビューに表示されない。シェーダを閉じ、画像をレンダリングするか、サーフェイスの見本表示球を更新する必要がある。
  • [Off][On][Light]の選択については不明。
  • [Highlight Outline]:上で設定したハイライトの輪郭線を描画する。線のサイズや不透明度、RGBの色を上と同じように調整できる。
  • [Account for Light Color Zone]:オンにすると、当ハイライトがサーフェイスの[反射光]設定を用いて調整されるが、BESMの設定は上書きされる。←?
[Edges]タブ

現在のサーフェイスにフレネル(または入射角)をもとにした輪郭を追加・調整できる。この設定ではカメラに垂直なエッジ線に厚みが足される。厚みはカメラに平行して減衰していく。[Coverage](適用範囲)は線が表面にどの程度食い込むか。[Sharpness](シャープネス、鮮明度)は減衰がどれくらい早く起こるか。なお、この設定は負の値でも効く。スライダまたはカラーボックスから線の色が調整できる。[Enable]のチェックを入れることで設定が適用される。[Force Color]については後述。

[Slope]タブ

サーフェイスの傾斜角度に基づいた、垂直方向のグラデーションを追加・調整できる。[Top Opacity][Bottom Opacity](最大・最小不透明度)では、ゾーンの色に対する不透明度を調整。グラデーションの終了色は、カラーボックスまたはスライダの調整で選択できる。[Center]では、1色からその他へグラデーション作成できる。[Style]ボタンは色と色との関係について設定。[Mix]ではグラデーションのスムーズな遷移、[Step]では2ゾーンのバンドとなる。

[InkOver]タブ
  • [Ink Colour]
  • [InkOver Colour]
  • [Max Trace Depth]
  • [Object Only]

[Enable]のチェックを入れることで設定が適用される。

[Advanced]タブ
  • [Light Power]>[Linear][Squared][Cubed]
ライトコントロール欄(左)

[Ambient][Light]とあるのは、使いたいものにチェックすれば特定のライトが使用できる。BESMの効果を確認するため、少なくとも1つの光を選ぶ必要がある。[Ambient](「取り巻く」という意味)は通常不要なのでオフでよい。

[Force Color]

各タブにある[Force Color]は、強制的にサーフェイスの輝度を100%、拡散レベルを0%にする。通常はオンでよいが、無効にしたほうがよい場合もある。

プリセットショーケースを使う

プリセットショーケース(Layoutで【F8】)という、サーフェイス設定を保存する機能がある。BESMはこの機能と互換性がある。BESMはサーフェイスへ影響するライトについて正確に制御できるため、プリセットショーケースに送られるライトの一覧は、現在のシーンに依存することとなる。新シーンに対して前回セッションのプリセットを読み込んだ場合、現在のサーフェイスにライトを影響させるために変更が必要になるだろう。次のシーンから常に同名のライトを使用するか、またはプリセットショーケースから設定をコピーして追加した後、BESMのパラメータを調整すればよい。

プリセット名の設定機能で、不透明度やSlopeなどの使用を名前に入れてプリセットを並べると、あとあと便利。また、BESM用サーフェイスのプリセットライブラリーを作れば、他人と共有もできる。

VIPERを使う

VIPER (Versatile Interactive Preview Render)とは、リアルタイムテストレンダラー。Layoutで[F7]キーを押すと起動する。BESMを使う前に、あらかじめ VIPER のウィンドウを開いておく。その後は設定を任意に調整すれば、再レンダリングせずとも VIPER のパネルに反映される。スライダからの色調整については反映されないが、カラーボックスを使えば VIPER はうまく更新される。ゾーンの不透明度を0%に設定すれば、ゾーンの輝度と彩度をいじるのが楽。ゾーンに正確な色を指定する必要があるときは、不透明度を事前にメモしておく。

BESM Ver.1.1 の不具合?

ゾーンへ影テクスチャを適用するたびにクラッシュする不具合があり、回避方法は見つかっていない。サーフェイスが色テクスチャマップを持っている場合、色テクスチャを使用するドロップダウンリストで「なし」以外を選択すると LightWave がクラッシュする。BESMでサーフェイスに色テクスチャを使いたければ、カラーテクスチャのドロップダウンリストには触らないこと。代わりに、そのサーフェイスの基本色(とカラーテクスチャ)を見せるため、指定されたゾーンの不透明度を0%まで下げることで、輝度と彩度の設定を調整できる。選択された色のゾーンにおいて、[tint](色合い)で不透明度を少し増やすこともできる。

参考

BESMの新たなテストバージョン(?)が配布されている?(詳細未確認)