チュートリアル / fieldjamのDesignVizエッセンス
第8回:植栽について(ビルボード)
- 3ds Max
- コラム
- チュートリアル
- データ
- 建築・製造・広告
今回からは植栽を取り上げます。レタッチで貼り込む方法ではなく、3ds Maxでシーンに配置しレンダリングを行う方法について考えてみましょう。その手法は、写真を用いる(ビルボード)/3Dモデルを配置する、という2つに分かれるので、それぞれの特徴を簡単にまとめておきます。第1回目はビルボードについて解説を進めます。
樹木と人物をビルボードで入力しています。樹木は50本配置していますが、サクサクとレンダリングできます。
カメラ位置を移動しました。想像通りの残念な結果です。
すべてのビルボードをカメラ方向に回転しました。とても単純な手法だということがわかります。
単純な方法であることに加えてレンダリングも早いので気軽に使用できますが、その手軽さにはたくさんの罠が潜んでいます。それらを根本的に解決することは難しいのですが、いくつかの注意点を取り上げてみます。
ディフューズ画像A
ディフューズ画像B
マスク画像
背景が白い[ディフューズ画像A]、背景が黒い[ディフューズ画像B]をそれぞれ用いて、マテリアルを作成しレンダリングしました。右側が[ディフューズ画像A]、左側が[ディフューズ画像B]です。
バックグラウンドが明るい場合、どちらもフリンジは目立ちません。
バックグラウンドが暗い場合、[ディフューズ画像A]のフリンジが目立ちます。
以上のことから分かるように、ディフューズ画像の背景を黒にしておけばフリンジを回避できます。
さらに、このような樹木の場合、幹の下端を画像の中央に合わせておくことも重要です。
ビルボードには[標準プリミティブ]の[平面オブジェクト]を使用することが一般的でしょう。これらのオブジェクトをカメラ方向に回転するときに[基点を中心]モードなどで行えば、複数のビルボードの位置をズラすことなく、その場で回転することが可能です。画像の中心と幹が合っていれば幹の接地部分がズレないので、ツリーサークルの中央に配置する場合などでは注意したいポイントです。
を用いると、複数のオブジェクトを選択した状態で下図のような回転が可能 です。
図のような状況を考えてみましょう。ビルボードの樹木、地面、映り込みのある壁を配置しています。カメラと太陽の方向、ビルボードと壁の方向が異なっていることが問題です。
このままレンダリングしました。ビルボードはカメラに向けているので樹木そのものは大丈夫なのですが、影と映り込みに問題があります。
まず、映り込みを解決しましょう。各ビルボードを、壁に正対するように基点を中心に回転コピーします。ここで、[オブジェクトプロパティ]の[レンダリング制御]を設定します。 カメラに向いているビルボードは、[反射屈折に対して可視]/[影付け]をOFFにします。 反射用のビルボードは、[カメラに対して可視]/[影付け]をOFFにします。
レンダリング制御の影響により、樹木の影はなくなり、映り込みの向きは補正されました。しかし、映り込みが少し暗いので、そのビルボードだけを照らす指向性ライトを後で追加します。
影についても同じように行います。レンダリング制御は[カメラに対して可視]/[反射屈折に対して可視]をOFFにします。レンダリングを行うと、影用のビルボードから樹木に影が落ちているので、樹木のレンダリング制御の[シャドウを他から受ける]をOFFにします。
影用ビルボードのサイズとZ位置を調整してレンダリングしました。
ビルボードを用いた植栽は平面オブジェクトであるという性質上、状況に応じた工夫が必要です。
今回はアニメーションについて触れませんでしたが、工夫すればそれなりの表現を行うことは可能です。シーンによっては問題なくビルボードを使用できると思いますが、木々の間をすり抜けていくような動線のアニメーションでは厳しいでしょう。静止画についても鳥瞰図や配置図などには向いていませんが、一般的なシーンではうまく使うと便利です。多少のアングル変更にも対応できる、3Dのレタッチ作業と捉えれば分かりやすいと思います。私の事務所では、ベースの植栽をビルボードで入力して、最終的な仕上げやビルボードでの表現が難しいものを2Dのレタッチで行うという方法を用いています。また、ビルボードだけではなく3Dオブジェクトの植栽も使用していますので、次回はその表現や使い方について考えてみたいと思います。
ビルボード | 3Dモデル | |
ポリゴン数 | 基本的には四角ポリゴンひとつ | クオリティによって、数千から数十万、それ以上も。 |
マッピング画像 | 全体のカラー画像とマスク画像 それなりのピクセル数が必要 |
葉、花、樹皮などの部位別に用意 |
陰影 | 光の角度によっては不自然 | 特に問題なし |
アニメーション | 常にカメラを向くアニメーションを設定しておけば、それなりに見える。もしくは2枚のポリゴンを用いて十字に配置するなどの工夫が必要。 | 特に問題なし |
レンダリングスピード | 早い | 遅い |
主な用途 | 静止画 | アニメーション |
ビルボードの特徴
ビルボードとは、平面に画像をマッピングして表現する手法のことです。3Dモデルにすると重たい植栽、人物、炎、雲などの画像を利用して効果的な表現を行うことが可能です。樹木と人物をビルボードで入力しています。樹木は50本配置していますが、サクサクとレンダリングできます。
カメラ位置を移動しました。想像通りの残念な結果です。
すべてのビルボードをカメラ方向に回転しました。とても単純な手法だということがわかります。
単純な方法であることに加えてレンダリングも早いので気軽に使用できますが、その手軽さにはたくさんの罠が潜んでいます。それらを根本的に解決することは難しいのですが、いくつかの注意点を取り上げてみます。
マッピング画像の注意点
カラー画像とマスク画像の2つを用いてビルボード用のマテリアルを定義します。このときに、カラー画像について注意しないと樹木と背景の境界にフリンジが発生します。ディフューズ画像A
ディフューズ画像B
マスク画像
背景が白い[ディフューズ画像A]、背景が黒い[ディフューズ画像B]をそれぞれ用いて、マテリアルを作成しレンダリングしました。右側が[ディフューズ画像A]、左側が[ディフューズ画像B]です。
バックグラウンドが明るい場合、どちらもフリンジは目立ちません。
バックグラウンドが暗い場合、[ディフューズ画像A]のフリンジが目立ちます。
以上のことから分かるように、ディフューズ画像の背景を黒にしておけばフリンジを回避できます。
さらに、このような樹木の場合、幹の下端を画像の中央に合わせておくことも重要です。
ビルボードには[標準プリミティブ]の[平面オブジェクト]を使用することが一般的でしょう。これらのオブジェクトをカメラ方向に回転するときに[基点を中心]モードなどで行えば、複数のビルボードの位置をズラすことなく、その場で回転することが可能です。画像の中心と幹が合っていれば幹の接地部分がズレないので、ツリーサークルの中央に配置する場合などでは注意したいポイントです。
を用いると、複数のオブジェクトを選択した状態で下図のような回転が可能 です。
影と映り込み
この問題はビルボードであれば仕方のない部分です。しかし、ある程度は解決することが可能なのでその方法をご紹介します。図のような状況を考えてみましょう。ビルボードの樹木、地面、映り込みのある壁を配置しています。カメラと太陽の方向、ビルボードと壁の方向が異なっていることが問題です。
このままレンダリングしました。ビルボードはカメラに向けているので樹木そのものは大丈夫なのですが、影と映り込みに問題があります。
まず、映り込みを解決しましょう。各ビルボードを、壁に正対するように基点を中心に回転コピーします。ここで、[オブジェクトプロパティ]の[レンダリング制御]を設定します。 カメラに向いているビルボードは、[反射屈折に対して可視]/[影付け]をOFFにします。 反射用のビルボードは、[カメラに対して可視]/[影付け]をOFFにします。
レンダリング制御の影響により、樹木の影はなくなり、映り込みの向きは補正されました。しかし、映り込みが少し暗いので、そのビルボードだけを照らす指向性ライトを後で追加します。
影についても同じように行います。レンダリング制御は[カメラに対して可視]/[反射屈折に対して可視]をOFFにします。レンダリングを行うと、影用のビルボードから樹木に影が落ちているので、樹木のレンダリング制御の[シャドウを他から受ける]をOFFにします。
影用ビルボードのサイズとZ位置を調整してレンダリングしました。
ビルボードを用いた植栽は平面オブジェクトであるという性質上、状況に応じた工夫が必要です。
今回はアニメーションについて触れませんでしたが、工夫すればそれなりの表現を行うことは可能です。シーンによっては問題なくビルボードを使用できると思いますが、木々の間をすり抜けていくような動線のアニメーションでは厳しいでしょう。静止画についても鳥瞰図や配置図などには向いていませんが、一般的なシーンではうまく使うと便利です。多少のアングル変更にも対応できる、3Dのレタッチ作業と捉えれば分かりやすいと思います。私の事務所では、ベースの植栽をビルボードで入力して、最終的な仕上げやビルボードでの表現が難しいものを2Dのレタッチで行うという方法を用いています。また、ビルボードだけではなく3Dオブジェクトの植栽も使用していますので、次回はその表現や使い方について考えてみたいと思います。