ボーンデジタルは2019年5月30日(木)にオートデスクの協賛・協力のもと、都内で「3ds Maxでも~っと!3DCGを活用しよう! 建築ビジュアライゼーションセミナー」を実施した。セミナーでは3ds Max 2020の最新機能が紹介されたほか、Unreal Engine 4(UE4)のリアルタイムレイトレーシングの実力や、3ds Maxで建築ビジュアライゼーションを作成する際のポイントなどが、3名の登壇者によって紹介された。
TEXT & PHOTO_小野憲史/Kenji Ono
EDIT_西原紀雅 / Norimasa Nishihara(CGWORLD)
Autodesk 3ds Max 2020最新機能紹介
- はじめに登壇したのはオートデスクで技術営業本部M&Eテクニカルセールススペシャリストをつとめる吉田将宏氏だ。吉田氏は2019年4月にリリースされた3ds Max 2020の数ある新機能のうち、建築ビジュアライゼーション分野で特に有効な5機能について、デモを交えながら解説した。
1.面取りモディファイヤの改善
「建築ビジュアライゼーションで使われるBIM(Building Information Modeling)データで作られたオフィス家具などは、一般的に軽量化を重視して作成されるため、エッジが面取りされていないことがある。こうしたBMIデータをインポートして、3ds Maxで簡単に面取りするための機能が「面取りモディファイヤ」で、3ds Max 2020でさまざまな改善がなされた。下図の設定値はプリセットで保存して簡単に適用させられる。
▲BMIデータを3DCGデータに変換する際、これまでは縦横の面取り幅が一定でない場合があったが、2020で均等に面取りされるようになった
▲エッジの折り目のウエイトの数値で、面取り幅をエッジ単位で制御できるようになった。同じ5mmの面取りでも、エッジの幅をパーツ単位で任意に調整できる
▲面取りモディファイヤの中でインセット機能が使用可能になった。複雑な装飾の面取りでも、インセット量とオフセット量を調整することで、簡単に設定できる
▲一つの角の中央部分だけを面取りしたり、面取りの設定値をプラスだけでなく、マイナスにすることで、角をくぼませたりすることが可能になった
2.OSLシェーダ
OSL(Open Shading Language)はSony Pictures Imageworksが開発したシェーディング言語で、シェーダの自作や改良を容易にするものだ。3ds Max 2020ではビューポートにおけるOSLマップの表現が改善されたほか、デフォルトで使えるシェーダが14種類加わった。
▲Weave:布系のオブジェクトに有効なシェーダ。2020で追加されたOSLシェーダの一つだ
3.パフォーマンス
4.プレビューアニメーション
動画ビジュアライゼーションを作成する際、プレビューアニメーションで内容を簡易的に確認したいケースが多々存在する。3ds Max 2020ではそのための機能も改良された。プレビューアニメーションの作成速度が1.5~3倍程度に向上したほか、FPSをリアルタイムに表示して確認することも可能だ。
▲ビューポート上でアニメーションを再生する際、2019まではFPS表示の更新に時間がかかっていた(右)ものが、2020ではリアルタイムに表示(左)させられるようになった
▲プレビューアニメーションを作成する際の速度が1.5~3倍程度に向上した。2020(左)と2019(右)ではプログレッシブバーの進行度合いの違いが明らかだ
Revit読み込み
オートデスクのBIMツールであるRevitから3ds MaxにBIMデータを読み込む際、Revitに対応した3ds Maxを別途用意することで、さらなる読み込み速度の向上が可能になった。Revit 2017から3ds Max 2020にデータを読み込む際は別途3ds Max 2017が必要になるといった具合だ。他に読み込み時の条件が追加されたり、Mentalray依存が排除されたりといった変更が成されている。
▲RevitからBIMデータを読み込む際の条件で、「ファミリおよびマテリアル」「カテゴリおよびマテリアル」という2つのルールが追加された
▲データ読み込み時のサン・スカイにおけるMentalray依存も排除された
このほか3ds Max 2020では、サードパーティ製のプラグイン対応もなされるという。これまで3ds Maxにはさまざまなプラグインが存在し、利用者が自由にカスタマイズできる点が魅力だったが、必ずしもすべてのバージョンで対応が確認されているわけではなかった。これが3ds Max 2020では40人以上の開発者と協業し、250ものプラグインがサポートされる予定だという。
吉田氏は最後に「ここ数年のアップデートで3ds Maxは、建築ビジュアライゼーション分野でもより活用できるツールに成長した」と述べた。そのうえで、今後もより使いやすいツールに進化していくので、ぜひデモ版などで体験してみて欲しいと締めくくった。
UE4のリアルタイムレイトレーシング
- 続いて登壇したのはヒストリアで建築ビジュアライズアーティスト&Unreal Engine 4(UE4)アーティストとして活躍中の小笠原彰氏だ。ヒストリアは2013年に起業したUE専門の制作会社で、これまでゲームや建築ビジュアライゼーションなどの分野で、さまざまな事業を行ってきた。
レイトレーシングはレンダリング手法の一つで、現実世界で物体が見える原理と同じように、光源から発生した光線が対象物に反射してカメラに届くまでの経路を逆算してCGを作り上げていく。よりフォトリアルなコンテンツが制作可能になるが、膨大な演算量が必要になるため、これまではプリレンダームービーや静止画などに限って使われてきた。しかし、近年ではGPUの進化によりリアルタイムレイトレーシングが現実的になってきている。
UE4で使用可能なレイトレーシング機能は「Shadow」「Reflection」「Translucency」「Ambient Occlusion」「Global Illumination」「SkyLight」の6項目だ(もっともレイトレーシング機能はアーリーアクセスのため、今後仕様が変更される可能性はある)。このうち今回は「Shadow」から「Ambient Occlusion」の4項目で効果が検証された。
もっとも、実際に検証してみたところ、まだまだ演算量が大きく、レンダリングに時間がかかるため、用途を絞って活用するのが重要だと言う。以下、今回の検証のために特別に作られたマンションの外観をイメージした映像をベースに、UE4におけるリアルタイムレイトレーシングの活用法について、さまざまなTipsが述べられた。
▲リアルタイムレイトレーシング検証のために作成された映像。作成されたPCのスペックは以下の通りだ。なお、OSはWindows10でUE4のバージョンは4.22.2となっている。
CPU:Intel Core i7-9700K
GPU:NVIDIA RTX 2070
メモリ:16GB
解像度:1920✕1080
1.Raytraced Shadow
シャドウマップによるレンダリングでは、影のディティールを上げるにはライトマップの解像度を上げる必要があり、レンダリング時間が大量にかかっていた。これがレイトレーシングを使用すると、ライトマップの解像度を気にすることなく、ディティールのある影を落とすことができるようになった。ただしLightが多い空間で大量に使用すると処理負荷が上がりすぎるため、ライトごとに設定する必要がある。
▲シャドウマップで作成したCG(上)では木の陰などが全体的にぼやけているが、レイトレーシングでは(中)全体的にクッキリとしている。奥行きに従って影をぼやかすには(下)、DirectionalLightの場合は、Lightの設定でSource Angleの値を変更すれば良い
▲マンションのエントランス部分。シャドウマップ(上)に対して、レイトレーシング(中)では影がクッキリと出ていて、光も鮮やかになっている。ただし、Raytraced Shadowを使用する場合、ガラスの半透明部分が考慮されないため、そのままでは光が室内に入ってこずに、影が生成されない(下)。そのためガラス部分のCast Shadowをオフにする必要がある。なお、上記2つのデモではShadowを使用したライトが17灯で、GPU負荷は約8msだった
2.Raytraced Reflection
Screen Spaceの代替機能で、反射の表現が多い空間(鏡の表現など)の品質が格段に向上した。ただしTranslucent(例外あり)、unlit、デカール、フォリッジ、インスタンスドスタティックメッシュなど、レイトレーシングで映らない物もあるという。またMax.BouncesとSamples per Pixelの設定値にともない、処理負荷が格段に増加するため、こちらも注意が必要だ。
▲Screen Space(上)ではマンションのプレートや溝で反射の効果が限定的だが、レイトレーシング(下)ではよりクッキリと反射が表現されている
▲Screen Space(上)では全体的にフラットな印象だが、レイトレーシング(下)では壁や床の反射がよりクッキリと表現された
▲反射の値であるRoughnessを0にしたところ、Screen Space(上)ではマンションのプレートが普通だったが、レイトレーシング(下)では鏡のように外界が映り込んだ
3.Raytraced Translucency
Translucencyは半透明マテリアルへの映り込みや屈折表現などを可能にするもので、Rasterisationに比べてガラスに対する映り込みの表現が格段に向上した。ただし、今回のデモで屈折表現(Reflection)を併用したところ、あまり効果が見られなかった(Reflectionはオフの方が、映り込みがより綺麗に見える)。また、Max.Refraction Raysの数値によって、負荷が一気に跳ね上がるのは他と同様だ。
▲Rasterisation(上)では限定的だったマンションの手すり部分の映り込みなどが、レイトレーシング(下)では格段に向上した
▲Rasterisation(上)ではエントランス部分のガラスにほとんど何も映っていないが、レイトレーシング(下)ではさまざまな映り込みがみられ、より現実感が増した
4.Raytraced Ambient Occlusion
アンビエントオクルージョンはシーン内の1点から半球方向に対する光の遮蔽状況を計算し、リアルな影を生成する手法で、比較的少ない計算量で、柔らかな陰影が表現できる。マンションのエントランス部分をレンダリングしたところ、レイトレーシングを活用すると壁の入隅で硬さがなくなり、自然な感じになった。また他の機能と比べて、比較的GPU負荷を気にせずに使用することができた。
▲Screen Space(上)に比べてレイトレーシング(下)では、マンションの壁の入隅で硬さがなくなり、より自然になっている。Samples Per Pixel が1だと1ms、4でも3.2msとGPUにも優しい
検証されなかった機能について
続いて小笠原氏から、UE4のレイトレーシング機能で検証が見送られたものについて解説された。まずRaytraced SkyLightを使うと遮蔽情報が参照可能だが、逆にバルコニー部分が暗くなりすぎてしまった。また、他の機能と比べてGPU負荷が高く、ノイズの少ない綺麗な映像を作るのが大変だったため、見送られたという。
▲Skylightがオフ(上)だと自然な感じだが、オン(下)にするとバルコニー部分に光が回らず、暗くなってしまった。そこでRaytraced Global Illuminationを使用すると、バルコニー部分を明るく持ち上げることはできた。しかし、ノイズが多く、GPU負荷もMax.BouncesとSamples Per Pixelが共に1の状態でGPU負荷が約36.5と非常に高く、現実的ではなかったという
▲Global Illuminationがオフ(上)だとバルコニーの天井が真っ暗になっている。これをオン(下)にすると明るくなったが、ノイズが載ってしまった
最後に植栽などの表現で使用されるWorld Position Offsetについても補足があった。時間軸で頂点の座標を動かすことができるマテリアルノードで、植栽の葉が風で揺れるなどの表現で使用されることの多い機能だ。ただし検証時点ではレイトレーシングでサポートされておらず、木は揺れているのに影が止まってしまうなど、見え方がおかしくなるという。そのため上手く使い分けができれば良いが、今回は動かないようにしたと説明された。
▲レイトレーシング(左)だと木にもやがかかってしまい、影も動いていない。従来のレンダリング(右)の方が自然な感じに見える
これらの検証から小笠原氏は「VRなどのインタラクティブコンテンツでレイトレーシングを使用するのは、まだGPU負荷的に現実的ではない」と結論づけた。もっとも、今回のデモ程度のプロジェクトなら、25FPS程度で動かせたため、PCのモニター上でウォークスルーをさせる程度なら可能だという。また映像コンテンツであれば十分に使用可能で、従来のレンダリングよりも綺麗な絵を作ることができたと述べた。
ただし現状では屈折やグローバルイルミネーションの表現が難しいなど、得手不得手があるため、力を入れたい表現にあわせて、設定を検討することをお勧めしたいという。そのうえで「建築ビジュアライゼーションで使える機能がだいぶ増えてきており、今までできなかった表現が可能になってきている」として、今後のアップデートが楽しみだと締めくくった。
3ds Maxで作る建築ビジュアライゼーション
「図面をもとにCGをおこすだけでなく、写真などを張り込んで、いかにリアリティを高められるかがパース屋の仕事」だとする山崎氏は、モデリングのコストを最小限に抑えて、リアリティを高めることに重点を置くという。そのため普段から3ds Maxの特徴である豊富なプラグインや、3Dアセットの販売サイトなどを最大限に活用していると述べた。
▲同社の公式サイトで掲載されているオリジナルのリビング。モデリングは床・壁・天井程度で、小物類はすべてアセット販売サイトのものを使用している
モデリング
はじめに山崎氏は「モデリング時には床・天井・ガラスなどの厚みを実際と同じようにつけたり、同じ平面状でポリゴンを重ねたりしないなど、現実と同じ空間を作るという意識を持つことが重要だ」と切り出した。
3DCGと異なり、現実世界に厚みのない物体は存在しない。にもかかわらず、この原則を無視してCGを制作すると、レンダリング時にエラーが発生することがあるという。「せっかく3ds Maxには高性能なフィジカルカメラがあるのに、その特性を生かせないのはもったいない話です」(山崎氏)。
また、建築パースを平面図で見せる場合、見えない箇所を作り込むのは効率が悪い。そのためクライアントとの打ち合わせを通して、最終的な仕上がり図、すなわちクライアントが見せたい「絵」を想像しながらモデリングすることが重要だと述べた。
▲モデリングが原因でエラーが出た例。画像上では壁と天井を0距離で重ねた結果、ポリゴンの継ぎ目から光が漏れてしまっている。画像下ではパネルを壁にピッタリとくっつけたため、影がギザギザになってしまっている。他にライティングを落としつつ、カメラの絞りを明るくして露出を整えたため、壁に黒いもやも出ている
他に普段から効率化を考えてモデリングをすることも重要だと述べた。同じ木製の窓サッシを作る場合でも、木目のあるテクスチャを縦横で貼る際、そのまま張れる作り方と、一手間余計にかかる作り方がある。こうした細かい手間が重なると、大きな違いに繋がるというわけだ。「近くで大きく見えるものであれば、手間をかけてでも、形状を正確に作る必要があります。ただ、遠くで小さく見えるものであれば、手数を減らして作業効率を高めることが重要だと思います」(山崎氏)
▲単に窓枠を作るだけでも、さまざまな作り方がある。左から「1.ボックスを作ってインセットし、ブリッジして穴をあける」「2.外側と内側でラインを2本引き、押し出す」「3.大小2つのボックスを作り、プロブーリアンで穴を開ける」「4.ラインにスイープを重ねて厚みのある形状を作る」「5.縦線と横線を分けて作る」だ。一見すると同じように見えるが、作業効率が一番高いのは1だ。これに対して2,3,5では木目があるテクスチャを縦横で張る時に一手間かかる
2.カメラ・ライティング
前述のように3ds Maxでは物理ベースのレンダリングに使用可能なフィジカルカメラ機能があり、実際のカメラと同様にシャッタースピード、レンズの絞り値(F値)、感度(ISO値)が設定できる。いずれも現実的な数値を設定することが重要で、シャッタースピードは1/100とISOは100で固定する。その後、ライティングをホワイトの状態で設定し(ハレーションやライトリークなどがおきないように注意)、最終的にF値を2~16で調整して露出を決めるのだという。
3.マッピング
マッピングでは原則として、すべてのマテリアルに反射を入れる。「現実の物質はすべて、光を反射することで視認可能になります。目に見えるもので、反射がないものは存在しません」(山崎氏)。いわゆるシズル感(食品のみずみずしさなど)も、反射を入れることで演出されるという。
▲左はすべてのマテリアルで反射を切った状態、右は入れた状態で、ソファーや床の反射などで違いが出ている
4.レタッチ
以上の作業が終わると、静止画にレンダリングしてレタッチを行うことになる。このとき、3ds MaxのRender Elements機能を使用すると、個々の要素を個別のイメージファイルにレンダリングできる。その後、これらをPhotoshopで重ねて表示し、レイヤーごとに修正を加えていくというわけだ。このとき重要なことは「手戻りができるようにすること」。そのため「調整レイヤーやレイヤーマスクを使用する」「ブラシを使う際は不透明度100%のみを使用し、レイヤーの不透明度で調整する」などの配慮が求められる。
なお、山崎氏がレンダリングで書き出しているイメージファイルは下記の10個となる。
VRayRefraction
VRayRawLighting
VRaySpecular
VRayRawReflection
VRayWireColor
MultiMatteElement
VRayReflection
VRayRawRefraction
VRayNormals
VRayDiffuseFilter
▲VRayDiffuseFilter
▲VRayNormals
▲VRayRawRefraction
このほか山崎氏は業務で良く使用するプラグインや、3Dモデルの販売サイトとして、下記のリストを上げた。
Forestpack(植栽の置き込み)
EVERMOTION(シーンデータ・植栽・家具・小物)
Texture.com(シームレステクスチャ)
3dsky(フリー・有料モデルデータ)
Hum3d(車)
TurboSquid(車・家具)
日常から観察力を磨くことが重要
最後に山崎氏は建築パースを作成するうえで最も重要なこととして、観察力を上げた。「建築パースが必要なのは、図面でしか存在しない建物を視覚化するため。一方で図面に書かれていることは限界があります。現実の建物の知識量で建築パースの完成度は大きく変わります」(山崎氏)。
実際に家具や小物類などは、建築図面に書かれていないことが多いが、これらを配置したり、内装を作り込んでいったりすることで、リアリティが変化する。他に一般家屋では基礎と建物の間に水切りが存在するが、建築図面に書き込まれていることも希だという。こんなふうにクライアントの意図を先回りして表現するには、ふだんから観察力を磨くことが求められる。
「一般的なダイニングテーブルでは、テーブルの高さが床面から700~750mmで、椅子の座面が400~450mmとなります。これらの数値を知っていれば、写真が一枚あるだけで仕上がりのイメージが理解できます」(山崎氏)。これらは普通に生活するだけで目に入ってくる要素であり、これらを知識として蓄積しておくことが重要だと締めくくった。