Blender ウォッチング

「Building Tools」で生成した背景用の家に色と質感をつけて仕上げる方法

配列機能やジオメトリノードで家々が立ち並ぶ風景も簡単に作成

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

「Building Tools」で作成した建物の配置例

 今回は前回に引き続き、Ian Karanja氏作の建築物モデリングの補助アドオン、「Building Tools」をご紹介します。

アドオンで生成した家に質感を付ける

 ここではすでに前回でアドオン有効後にモデルを作成し、選択中であると仮定して解説します。

マテリアルを設定

 このアドオンで生成されたモデルにはマテリアルが設定されていません。そのため自分で設定する必要があります。

 面倒ではありますが、個人的には用途が遠景用の場合では複雑なマテリアルが設定されているくらいなら、最初からない方がかえって都合がいいと思います。

 [サイドバー]の[Building Tools]タブ内の下にある[Material Tools]パネルを開きます。もしサイドバー自体が表示されていない場合は、[3Dビューポート]右上の端の「≺」型アイコンをクリック、または[N]キーを押してください。

[サイドバー]の[Building Tools]タブの下の方にある[Material Tools]パネルをクリックして展開

 「フェイスマップ」と表示されているリストの中の一つをクリックし、さらに下にある「マテリアル」の下の[Assign New Material]ボタンをクリックします。

「フェイスマップ」リスト中の一つをクリックし、その下の「マテリアル」の[Assign New Material]ボタンをクリック

 右側にある[プロパティエディター]の[マテリアルプロパティ]タブを選択すると、今追加したマテリアルのプロパティが表示されています。ここで色や光の反射度合い、ハイライトの具合(スペキュラー)などを設定可能です。

[プロパティエディター]の[マテリアルプロパティ]タブをクリックして切り替え、マテリアルのプロパティにアクセス

 もしテクスチャなどの複雑な設定が必要であれば、[ノードを使用]ボタンをクリックし、[Shading]ワークスペース(画面上部のタブからアクセス)から設定してください。ただし遠景の場合はあまり意味がない上に負荷も増えるのでほどほどに。

 残りの「フェイスマップ」についても同様にリスト内のアイテムをクリック→[Assign New Materials]をクリック→プロパティを設定していきます。もし同じマテリアルを割り当てたい場合は、このボタンのすぐ下のプレビューをクリックし、作成済みのマテリアルの中から選べばOKです。

[Assign New Materials]の下のプレビューをクリックすることで、作成済のマテリアルの表示や割り当ても可能

 同様に、他に「Building Tools」で作成したオブジェクトがある場合も、[Assign New Materials]で新規マテリアルを作成するか、プレビューをクリックし、既存のマテリアルを割り当てるかを選択できます。

壁は他の建物と共通だが、屋根の色は別にしてみた例

他の機能との連携

 このアドオンが真価を発揮するのは、自動的にコピーを生成、配置するツールと連携した場合です。Blenderにはそんなツールがいくつかありますが、ここでは一部をご紹介します。

配列モディファイアーの使用によるコピーの配置

 [配列]モディファイアーは、形状のコピーをたくさん並べる機能です。例えば、かのメキシコの集合住宅のような、同じ家がたくさん並ぶ風景もすばやく簡単に作成できます。

[配列]モディファイアーを使用し、同じ建物を縦横に並べた例

ジオメトリノード使用による建物のランダム選択と配置

 上記の「配列モディファイアー」では、単一のオブジェクトのコピーのみでしたが、このアドオンで作成した複数のオブジェクトを「コレクション」に入れることで、さらに複雑な処理も可能です。

「コレクション」にまとめた建物オブジェクト(実際にはこれらのオブジェクトはすべて同じ位置に重ねる必要があります)

 下図では、「ジオメトリノード」機能を使用し、道路に見立てたカーブの近くに、コレクションに入れたオブジェクトをランダムに選択して配置しています。

「ジオメトリノード」を使用し、「コレクション」内の建物をランダムに選び、道沿いに並べた例

 キーとなるのは[コレクション情報]ノードと、[ランダム値]ノード、[ポイントにインスタンス作成]ノードによるコレクションの中身の選択です。

 コレクション情報ノードの[子を分離]オプションを有効化しておくと、コレクション内部のオブジェクトが個別に利用されるようになり、さらに[ポイントにインスタンス作成]ノードの[インスタンス選択]オプションを有効化し、[インスタンスインデックス]ソケットに[ランダム値]ノードの「整数」タイプの乱数を入力することで選択しています。

[コレクション情報]ノードと、[ランダム値]ノード、[ポイントにインスタンス作成]ノードによる、コレクションの中身のランダム選択を行うツリー

 他にも配置もランダム化するなど色々と応用できます。ジオメトリノードについては過去の記事も参照してみてください。

終わりに

 今回は少し短めですがいかがでしたか? マテリアルあたりは少し手間がかかりますが、1つできれば後は流用できるので楽に設定できると思います。色々遊んでみてください。