【Blender】原点やスナップを使いこなしてVR建築のモデリングをする方法

Blenderを使用することで、多様なVR建築デザインを行うことができます。
本記事では原点やスナップといったBlenderの機能を活かしたVR建築の方法や、応用として、写真からアセットを作成する方法などを説明していきます。

Blenderで行う建築のコンセプト

VR向けにモデリングを行う醍醐味の一つは、建築物を作ることとも言えます。
VRで作成することにより、現実世界では建設が難しい規模の建物を自由自在に建築することができることもあり、以下のような醍醐味があります。

  • 現実世界で建設がコスト等の問題で不可能な規模の建築を建てることを楽しめる。
  • 現実世界では物理的制約で不可能な形状など、ファンタジー要素を含んだ建築物を作ることができる。
  • 実際に建物などを建てたい場合などに建築前にイメージすることができる。

三番目のポイントについてはプロの方はCADなどで建築図を作り上げていきますが、例えば、建築の構想段階などにおいて、発注者としてイメージを伝える際の意思疎通にも生かせると思います。

また、STYLYを使用すると建築物をVRのみならず、ARシーンとしてスマホを使用して、実際の土地に配置してみることさえ可能になります。

建物のモデリングの流れ

さて、実際に作っていってみましょう。今回は簡単な三階建てのオフィスビルを作成していきたいと思います。

床を作る

まずは基礎となる床をつくると便利になります。

この床は主に二つの役目があります。

  • スナッピングを行うためのベースになる。
  • 建物の大きさを決定するガイドとなる。

今回は土地の大きさとしては、この記事の後半で作成する階段を使いたいこともあり、30m四方の大型にしたいと思います。

土地と階段

土地と階段

大きさをメートルで知りたい場合はサイドバーで出てくる、「寸法(Dimensions)」を参照すると便利です。

寸法の表示

寸法の表示

柱や壁などを設置

床と同様に柱などを建てていきます。

この時、柱などは地面に正しく設置するためにスナップ機能を使用します(スナップ機能の詳細は後述します)。
尚、スナップをする場合、基本的には[x]、[y]、[z]などを使用し、一軸のみの移動に限定してください。
これを行わないと例えば手前のオブジェクトに対してスナップしたつもりが奥のオブジェクトにスナップし、形状が歪んでしまう原因になってしまいます。

柱などを設置

柱などを設置

すでに間取りなどのプランがある場合は、その間取りを元に壁などを同時に設置していくとイメージを付けやすいと思います。

この辺りは特定の順番等はないのですがビルのイメージをしながら壁を設置したり、また必要なオブジェクトを設置していくという構成で進めていきます。

コレクションを使用

壁や床などを配置する際に、合わせるためにワイヤーフレームモードで作業することも多いと思いますが、特に高層建築で、間取りがそれぞれの階で違う場合、見通しがつきにくくなってきます。
また、高層階をモデリングした後に低層階をモデリングする場合、下層の階を俯瞰する場合に見通しが悪くなる場合があります。
そのため、オブジェクトはそれぞれの階のオブジェクトは別のコレクションにまとめておくと、表示の切り替えが簡単になります。

コレクション表示

コレクション表示

アセットブラウザも活用

よく使うオブジェクトはアセットブラウザに登録しながら配置していくと便利に作成できます。

アセットブラウザ

アセットブラウザ

アセットブラウザに関しては専用の記事も参考にしてください。

窓などの設定

窓などの半透明のものをモデリングしたい場合には透明な部分に関しては「ブレンドモード(Blend Mode」」を「アルファブレンド(Alpha Blend)」に変更し、マテリアルの「アルファ(Alpha)」を下げます。

ブレンドモード

ブレンドモード

オフィスビルなどのように窓が連続して設置されるようなモデルは「配列(Array)」モディファイアを使うとシンプルに配置できます。

モディファイアについては以下の記事を参照してください。

建築の例

一通り組み上げたものが以下のものになります。

組み上げたビル

組み上げたビル

VR建築で便利な機能

まずは、VR建築を行う際に便利な機能を二つ紹介します。

VR建築においてはオブジェクトを配置して組み上げていく、という手法となり、オブジェクトを正確に設置したり揃えたりしたいという場面が多くあります。
これを簡単に実現できる機能として「スナップ先(Snap To)」を指定する機能と「原点を設定(Set Origin)」の機能があります。

スナッピング

Blenderではオブジェクトの移動の際に、スナッピングを設定することができます。

設定は以下の通りです。

増分(Increment) グリッド上の一定の量ごとにスナップし、移動します。
頂点(Vertex) 直近の頂点にスナップします。
辺(Edge) 直近の辺にスナップします。
面(Face) 直近の面にスナップします。
ボリューム(Volume) 直近のボリュームにスナップします。
辺の中心(Edge Center) 直近の辺の中間点にスナップします。
辺と直行する点(Edge Perpendicular) 直近の辺に直角にスナップします。

メニューの横に表示されているU磁石のボタンはスナップ機能を常に有効にするかを指定します。
これが指定されていない場合、[Ctrl]キーを押している間のみ有効になります。

スナッピングが有効な場合の挙動

スナッピングが有効な場合の挙動

スナッピングが有効な場合、上記のようにうまくオブジェクトを配置することが可能になり、以下の2つのケースで役に立ちます。

  • 柱を床に配置するなど、オブジェクトを他のオブジェクトの上に乗せたい場合。
  • 壁を床の端に設置するなど、正確にオブジェクトを設置したり、位置合わせをしたい場合。

原点を設定

Blenderの原点は立方体などのプリミティブなどを設置した場合、通常はそのオブジェクトの中心に設定されます。
原点は円い点として表示されます。

原点の表示

原点の表示

通常、これは問題ないのですが、原点を他の位置に設定したい場合が出てきます。多くの場合、考えられるケースは以下の2つです。

  • オブジェクトを編集している間にオブジェクトの形が多く変わり、原点がオブジェクトから大きく離れた場所になってしまった。
  • 天井や床を配置する場合に正確な高さで配置したい。

後者の場合は、例えば、天井を4メートルの高さに設置したい場合、天井(そして二階の床)の厚みの中心に原点が指定されていると、4メートルの高さに合わせるのが難しくなります。
この場合は、原点を目的とする辺に合わせることにより、正確な配置ができるようになります。

原点を変更したい場合、「原点を設定」メニューを使用します。

原点を設定メニュー

原点を設定メニュー

このメニューで主に使用するのは「原点をジオメトリへ移動(Origin to Geometry)」と「原点を3Dカーソルへ移動(Origin to 3D Cursor)」です。

原点をジオメトリへ移動

選択中のジオメトリの中心に原点を移動します。

オブジェクトへの原点の設定

オブジェクトへの原点の設定

前述のとおり特に原点の位置が大きく逸脱している場合は、とりあえず戻しておきたい、原点をオブジェクト内に収めておきたい、という場合があるので、こちらを使用します。

原点を3Dカーソルへ移動

こちらは3Dカーソルの位置に原点を移動させます。

3Dカーソルへの原点の移動

3Dカーソルへの原点の移動

上記の例においてはオブジェクトの下部に原点を移動させています。

以下のようなステップとなります。

  1. 対象のオブジェクトの編集モードに入り対象としたい部分(この例の場合は最下部)を指定する。
  2. [Shift]-[S]で「スナップ(Snap)」メニューを出し、「(Cursor to Selected)」(もしくは[2]キー)を押す。
  3. オブジェクトモードに戻り、対象となるオブジェクトを選択。
  4. 原点の設定メニューから原点を3Dカーソルへ移動(Origin to 3D Cursor)を選択。

注意事項

スケールはモデリングの初期段階からあたりを付けるのが重要

壁や天井などを組み上げた後に天井が低すぎる、などの問題が分かってしまうことがあります。
モデリングの初期段階であれば修正は容易ですが、高層の建物を作った後に修正するのはかなり面倒です。
なので、最初から正しいスケールで作るのが重要になります。

スケールが正しく設定されているかは、アバターモデルやスケール確認用モデルなどで随時確認するのが有効です。

階段は特に注意

階段を作る際に意外にやってしまうのが、天井が低すぎて頭に当たってしまうようなパターンです。

頭が当たらないような高さであってもあまりにも低いと圧迫感を発生させてしまうため、できるだけ余裕を持たせましょう。

階段の悪い例

階段の悪い例

上記の例は極端な形ですが、天井が低めの環境で短い階段や段差を作ろうとしている時に無意識にこのようなデザインをしてしまうことがあります。
よほど長い階段でない限りは階段の直上の天井部分(極端に短い階段の場合は、それに加え吹き抜けは階段の長さ以上)は吹き抜けにします。

余談ですが、実際の建築物において、法令的にも階段上の天井の高さなどの指定はないようで、このデザインのミスは建築学の学習者もよく経験するようです。
興味のある方は建築関係のサイトや書籍、建築基準法などの法令も参考にされるとよりリアルなモデリングができるかと思います。

原点の場所に注意

通常時のSTYLYのアップロードであれば通常は問題はありませんが、他のモデルと組み合わせたり、他者に受け渡したりするような場合に原点がずれていると不都合が発生する可能性があります。
通常でもモデリング時にも原点がずれていると誤認の原因にもなりますので、特に理由がない限りは原点はモデル内に収めておきましょう。

段差に関して

VRの環境によって、段差が越えられるかどうかが変わってきますので、各環境に合わせてコライダーの設定が必要となります。

コライダーの設定に関しては専用の記事が用意されていますので、ご覧ください。

尚、VR建築物をSTYLYにアップロードする際にテレポート指定で移動でいる場所や、通り抜けを避けたいオブジェクトは基本的にはコライダーが全オブジェクトに対して指定される必要があるので、Unityのプレハブを使用したアップロードが必要となります。

応用:Perspective Plotterを使ったアセットのフォトマッチング

「Perspective Plotter」を使用するとフォトマッチングという方法により、写真からパースを元にモデリングを行うことができます。
この手法では三面図など全方向からの画像がない場合でもパースを元にモデリングをするのに使用することができます。

今回はパブリックドメインで公開されているNASAのイメージアーカイブより、研究支援ビル(Research Support Buidling)の階段を取り込んでみたいと思います。

なお、使用する写真を選択する場合、以下のような点にご注意ください。

  • ポストプロセスなどで写真が編集されている場合、パースを合わせることができない場合があります。
  • スケッチなどの場合、設計図など、正確に作画されている場合以外はパースを合わせるのが困難になります。
  • 魚眼レンズなどの特殊レンズの写真は合わせることができません。

Blender Market及び、Gumroadで15ドルで販売されているアドオンですが、今回はBlender Marketでの購入を前提として解説します。

まずはPerspective Plotterを購入し、導入します。
Blender Marketからアドオンを購入し、導入するまでの流れは以下の記事を参照してください。

このアドオンはサイドバーとしてインストールされ、カメラ表示モード(テンキー[0]キー、もしくは「(View)」→「(Camera)」→「(Active Camera)」を選ぶことでサイドバーに表示されます。

Perspective Plotterのサイドバー

Perspective Plotterのサイドバー

これを使用するためにはまずは準備が必要です。
カメラをがアクティブな状態で、「オブジェクトプロパティ」の「下絵(Background)」をチェックします。

背景画像の選択

背景画像の選択

これをチェックし、「>」を開き、「画像を追加(Add Image)」ボタンを使用し、背景画像を選択します。

背景画像の選択

背景画像の選択

背景画像を追加すると、このように画像が背景画像としてビューに表示されます。

背景として追加後のビュー

背景として追加後のビュー

この状態でPerspective Plotterの最上部のボタン、「Plot Perspective」を押してみましょう。

Plot Perspectiveボタン

Plot Perspectiveボタン

ボタンを押すとこのボタンは「Plotting…」という表示に代わり、ビューには緑と青の棒、そして白い円が表示されます。

表示される棒や円

表示される棒や円

この棒を使用することによりカメラのパラメーターを変更していくことにより、シーンに馴染んだ角度を得ることができます。

試しに面を置いてみましょう。

面を配置

面を配置

白い円で中心点を変更することができます。

中心点の移動

中心点の移動

これを見ると角度などが馴染んでいないことがわかります。
これはカメラが見ている角度と、背景画像の角度が異なるからです。

緑の棒と、赤い棒を動かすことで消失点を割り出し、存在しているものがどのようなものであるかを見ることで、モデリングを円滑に行うことができます。
絵画などを学ばれたことがある方は遠近法をご存じかと思いますが、その消失点を割り出し、画角を正しく設定し、ビューに馴染むように設定するのがこのアドオンの主な機能です。

緑の棒と、赤い棒を、写真の中にある直線に沿わせるように配置します。
この時、同じ色の線は実際の環境において平行である必要があります。

パースの編集

パースの編集

この線の配置はできるだけ丁寧にするようにしてください。

この時に重要なのは対応する色の線はなるべく離れている部分を指定することです。
例えば、以下のような指定は近すぎて良くありません。

線の指定が近すぎる例

線の指定が近すぎる例

指定があり得ない状態であるなど、未解決である場合においては表示が赤くなり「Invalid Configuration」と表示されます。
この表示が出ている場合は線の角度等を調整してください。

未解決の状態

未解決の状態

さて、このビューからモデリングをしていきます。
以下のように、対象となるものの見かけを元に制作していきます。

モデリングはワイヤーフレームで行うと便利です。

オブジェクトの配置

オブジェクトの配置

例えば手すりのモデルの場合はこのような形になります。

手すりのモデル

手すりのモデル

Perspective Plotterを使用したモデリング時に留意する事項

モデリング時に重要な点がいくつかありますので、以下説明していきます。

軸の動きを限定して編集する

モデリングを行う場合は、通常のモデリングと同じようにそれぞれの部品が正しい位置に配置される必要があります。

カメラビューをベースにしている場合、見かけでむやみに移動や回転などを行うとこの前提が崩れてしまい、カメラ表示では正しいものの、実際のオブジェクト配置がおかしい原因となります。
そのため、ロック機能を使用して、編集中に使用しない軸の移動などは行えないようにしておくと安全です。

軸の固定

軸の固定

また、移動、回転などの作業時には適時[x]キー、[y]キー、[z]キーを使用し、一軸に限定した操作をすることを心がけてください。

他のビューも確認しながら行う

カメラビューのほかに、適時、横、上からなどのビューを確認するのが重要です。

尚、編集の際も最初にわかりやすいビューからある程度あたりを付けたうえで、カメラビューに戻り微調整を行うようにすると整合性を保ったモデリングが可能となります。

完全に合わせることにこだわらない

フォトマッチングはマッチングのズレやレンズの歪曲収差などにより、モデルデータの整合性とカメラからの見た目が両立できないケースがあります。
このような場合、カメラとの整合性に過剰にこだわらずに、完成品となる3Dビュー上の配置での整合性を優先する必要があります。

また、カメラから隠れている部分に関してはそれが写っている他のカメラビューを設置し、合わせるか、または想像でモデリングするという形で行う必要があります。

作成したモデル

それぞれの部品をモデリングしていき、最終的に完成したのが以下のモデルとなります。

作成したモデル

作成したモデル

前述したように、場所によってはカメラビューに合わせるのはある程度妥協した部分もあります。

完成したモデル

完成したモデル

STYLYに取り込む

完成したモデルをSTYLYに取り込んだのが以下のシーンとなります。

この時、まずはFBXに出力し、Unityに取り込んだ上でコライダーを設定しました。

その方法に関しては以下の記事を参照してください。

建築物に関してはほとんどがBox Colliderか必要に応じてMesh Colliderを使用するというパターンになると思います。

VRで見ると、ビルドの中に立っているような感覚を得ることができます。

VRで入ってみた映像

VRで入ってみた映像

写真をもとにテクスチャを作成する方法

取り込んだ画像をもとに、テクスチャとして作成するには以下の方法を使用します。
以下の例ではNASAのパブリックドメインの画像である、MSFC BUILDINGの写真を使用しています。

まずは消失点の指定を行います。

フォトマッチングしたビル

フォトマッチングしたビル

UVメニューの「ビューから投影(Project from View)」を実行します。

ビューから投影

ビューから投影

モデルのマテリアルに、下絵の画像(フォトマッチングに使用した画像)を指定します。

下絵をマテリアルに指定

下絵をマテリアルに指定

するとモデルにテクスチャが投影されます。

投影した結果

投影した結果

結果をみていただくとわかる通り、この方法でテクスチャを貼りつけた場合いくつかの問題があります。

  • テクスチャが歪んでしまうことが避けられない。
  • 見えていない部分のテクスチャは適用できない。

ですので、テクスチャとして使用する画像の質などにもよりますが、取り込んだ写真からテクスチャまでを取り込むことは困難です。
しかしながら、背景モデルなどでは使用できる可能性がありますので、必要に応じて試してみてください。

STYLYにアップロードする方法

3DモデルをSTYLYにアップロードしてみましょう。

STYLYアカウントを作成する

アカウント作成方法

STYLYにアップロードする方法

UnityからSTYLYにアップロードする方法

STYLYに関する質問、バグ報告、改善してほしい要望はSTYLY FORUMまで
https://jp.forum.styly.cc/support/discussions

STYLYでは多数のオブジェクトやスカイボックスのタイプが用意されているので、これらを利用して家具や装飾などを配置していくことが可能です。

また、PlayMakerなどやモディファイアなどを使用すると通過すると自動に電気がつく、というようなギミックを付けることも可能です。

また、建物やビルを作ることに特化した各種アドオンなども多数公開されており、そういったものも併せて使用することによりさらに制作の幅が広がると思いますので是非お試しください。
以下ではArchMeshというアドオンを使用した制作が紹介されています。

是非、あなただけのVR建築や建物のデザインを楽しんでみてください。