カテゴリー
All Blender

表面積・容積の積算

積算について 

建築のスタディ用のモデルを作成していると、仕上面積や空間の気積を求められることがあります。矩形の空間であれば、設計者や積算担当が手計算でも算出できます。しかし、複雑な多面体のような空間においては、モデラー側が必要情報を算出する必要があります。 

Blenderの積算ツール 

スザンヌの体積や表面積を算出してみます。 

3D-Print Toolbox Addon」を活用します。 

Blenderにデフォルトで搭載されている「3D-Print Toolbox」を有効にします。 

サイドバーに表示されました。見つからない場合は、メッシュオブジェクトを選択してアクティブにしてみると、表示されることがあります。 

パネルを開いてみるとこのように表示されます。 

Volumeをクリックすると、容積が算出されます。 
Areaをクリックすると、表面積が算出されます。 

今回は省略しますが、Grasshopperなどの他ソフトを使って検算してみるのもいいと思います。 

このようにBlenderでは、簡単に容積や表面積を算出することができます

今回は3Dプリントするわけではないので、他の項目は参照しませんが、このAddonには実際にプリントするときに便利な機能がたくさん備わっています。 

実際にプリントしたものも載せておきます。ちょっとお肌がガサガサですね(笑)。 

カテゴリー
All Blender

選択不可オブジェクトを一遍に選択可能へ  

選択不可オブジェクト→選択可能オブジェクト

現状(2.93)では選択不可オブジェクトを一斉に選択可能にすることはできません。 

下記のような場合、アウトライナーから1つ1つ選択可能に変更する必要があります。 

オブジェクトが少ない場合は、この方法でも問題ないと思います。しかし、管理するオブジェクトが増えていった場合や複数階層のCollectionで管理される場合など、アウトライナーからクリックしていく作業は現実的ではありません。 

私が以前この問題に直面したとき、海外のフォーラムでは、「Pythonによるプロパティの上書き」という解決方法が提案されていました。手順は非常に簡単です。 

Pythonによるプロパティの上書き

Scriptingのレイアウトに変更します。 

Newをクリックします。 

下記を貼り付けます。 

import bpy 

for obj in bpy.data.objects: 

    if obj.hide_select == True: 

        obj.hide_select = False 

貼り付けたら実行ボタンを押します。 

実行されると、全てのオブジェクトが選択可能になりました。 

今回使用したスクリプトは非常にシンプルなものです。改変してみると似たような操作がPythonで実行可能になります。まだPythonに触れたことがあまりない方も、これを機に挑戦してみてもいいかもしれません。 

下記に該当海外フォーラムのリンクを貼っておきます。 

https://blender.stackexchange.com/questions/6786/how-to-toggle-visibible-selectable-renderable-for-multiple-objects
カテゴリー
All Blender

ビューポートから線画を出力  

線画の出力について

モデルのアウトラインが表示されたビューを出力して、SketchUpのような線画を表現してみたいと思います。こうした線画によって、オブジェクト同士の位置関係を明確に説明することができます。 

Freestyleでも線画を出力できますが、今回はシンプルなビューポートから書き出したいと思います。 

書き出し設定

これが通常のビューポートです。 

Viewport Shadingから下記のような設定に変更します。 

この状態でビューポートレンダリングしてみます。グリッドなどの背景が写っているので非表示にしてみます。 

Render Propertiesの設定からTransparent(透過)にチェックします。 

Viewport Overlaysから下記のような設定に変更します。 

ビューポートレンダリングしてみます。不要な情報が消えました。
しかし、ビューポートで見るよりもコントラストが弱いように見えます。 

Render Propertiesの設定から、View Transformの設定をStandardに変更します。 

色がはっきり出るようになりました。この設定は通常のレンダリングにも影響がでますのでご注意ください。 

オブジェクトのアウトラインだけでなく、稜線も表示したい場合は、Viewport OverlaysWireframeにチェックを入れます。 

稜線が表示されました。 

どれか1つのビューポートをこの設定にしておくと便利ですね。 

このような線画を画像編集ソフトを使ってレンダリング画像に重ねることで、オブジェクトのエッジが強調されて、位置関係がわかりやすいイメージを作成することができます。 

カテゴリー
All Blender

基準線から壁を生成  

モディファイアで壁厚・高さをコントロール

どこまで少ないメッシュモデリングで編集できるかが、モデリングにおける作業効率に大きく関わってきます。 

建築ビジュアライズで頻発する、厚みと高さをもった壁のようなメッシュを作りたい場合、壁の基準線だけモデリングして、厚み高さモディファイアでコントロールできれば、作業効率は一気に上がります。 

部屋の形状を単線で入力

例えば下記のような頂点とエッジのみで構成された部屋を想定してみます。

頂点を引き伸ばして部屋の形状をつくっていきます。

面は貼らなくてOKです。

モディファイアを追加

まず、高さをコントロールするために、Screwモディファイアを追加します。

この段階では、モデルが崩壊しているように見えますが大丈夫です。

Screwモディファイアの設定を下記に変更すると、ペラペラの壁が立ち上がります。 

  • Angle:0° 
  • Screw:壁の高さを入力します。今回は2.7mとしました。 
  • Axis:Z 
  • Steps:1 
  • Normalsの中のSmooth Shading:チェックを外す 

次に、厚みをコントロールするために、Solidifyモディファイアを追加します。

ここではThickness(厚み)を15cmにしました。
Even Thicknessにもチェックを入れます。

壁に厚みが追加されましたが、一部面がFlipしてしまっています。 

Screwモディファイアの設定に戻って、Normalsの中のCalculate Orderにチェックを入れます。 

面がFlipが直りました。 

これらの手順によって、壁の高さと厚みをモディファイアの数値入力でコントロールできるようになりました。単線壁の形状を編集できるので、作業効率がかなり上がると思います。この単線をコピーして、床や天井も作成できるのでオススメです。 

今回のTipsはChris Pさんの動画を参考にしています。Blenderのパラメトリックモデリングを追究されている方で、非常に有益な情報を公開されています。下記にChris Pさんのチャンネルのリンクを貼っておきます。 

https://www.youtube.com/channel/UCEhvBzn6O_XEBKLnAfG4kBg
カテゴリー
All Blender

Auto Smoothがグレーアウトしている  

別のモデリングソフトで作成されたモデルをインポートしたときなど、Geometry DataのAuto Smoothがグレーアウトしていて、設定できないことがたまにあります。

How to fix 

Object Data panelの中のGeometry Dataを開いて、一番下のボタンが「Add Custom Split Normals Data」と表示されているか確認してみてください。 

ここがもし「Clear Custom Split Normals Data」になっている場合は、Clear Custom Split Normals Dataをクリックしてください。 

再度 Auto Smoothがグレーアウトしているか確認してみてください。  直っていると思います。

カテゴリー
All Blender

レタッチ用ID Pass書き出し

レンダリング後のレタッチ

建築系のビジュアライズにおいては、レンダリング後、最終的にphotoshopのような画像編集ソフトでレタッチして仕上げることがよくあります。 

また、CGソフトを扱うことができない設計者が画像編集ソフトを使って色調を検討・修正したい、という要望もあります。 

画像編集ソフトでレタッチする場合、修正したい箇所をいかに早く選択(マスク)できるかが作業時間に大きく影響します。 

下記のような色分け図のような画像を出力しておくと、画像編集ソフトで色域選択が可能になり、レタッチが容易になります。他の3DCGソフトではMaterial passやObject passと呼ばれます。 

BlenderでObject passを書き出す

通常のビューポート です。

レンダリングイメージです。今回は、 Object passを書き出し、この画像にレタッチして壁の色を一部修正することを想定します。 

Viewport ShadingでSolidを選択。 

LightingをFlatに変更 。

ColorをRandomに変更 。

Optionsのチェックを外します。特にOutlineやCavityなどにチェックが入っていると綺麗な色分け画像が出力できません。 

ViewからViewport Render Imageを選択して画像を書き出します。 

書き出したイメージです。

photoshopで色域指定して壁や床など簡単に選択できるようになりました。 

photoshopで壁の色を変更したイメージです。簡単にマスクを作成できました。 

正直この書き出し作業は少し手間だと感じています。

ID passの出力は頻繁に使用するので、いつかBlenderのレンダリング機能としてデフォルトで用意されるようになったら嬉しいです。

カテゴリー
All Blender

カーブで作った閉領域に面を貼る 

カーブで描いた図形に面を貼ることで、曲線で構成された建物のスラブピクトサインなどの図形を簡単に作成することができます。


カーブで閉じた図形を描いた後に、カーブのオブジェクトプロパティを開きます。

 ▼Shapeの中の「Fill Mode」を「Both」に変更します。

すると、下記のように閉じたカーブに面が張られます。

建築のダイアグラムなどもCGで作成することで少しリッチなビジュアルになりますね。

カテゴリー
All Blender

頂点を辺の延長線上で動かす

頂点を辺の延長線上で動かす

平面を保ったまま頂点を動かしたい、といった場合には頂点の動きを辺上に制限する機能が有効です。


まず移動したい頂点を選択します。

Gを2回押下することで、頂点の移動が辺上に制限されます。

その状態でCを押下すると、移動範囲が辺の延長線上まで拡大されます。

建築系のモデリングでは、このような軸固定をよく使うので、覚えておくと便利です。

カテゴリー
All Blender

リンクファイルをリロード

リンクの活用

建築のデザイン検討やパース作成において、Blenderのリンクは欠かせない機能の一つです。

私の場合、周辺敷地や植栽、車といったハイポリゴンになりがちなモデルは別ファイルに分けて、リンクとしてレンダリングシーンに読み込んでいます。

リロード

別ファイルに分けたモデルを修正し終わったときに、レンダリングシーンからリンクのリロード方法が分かりにくかったので、ご紹介します。

まずアウトラインの表示するコンテンツをBlenderFileに変更します。 

リロードしたいファイル名のところで右クリック。
Reloadを選択します。ファイルのパスが変わった場合はRelocateを選択してください。 

このリロードの手順は海外のユーザーからも分かりにくいという指摘を受けているので、3.0以降で修正されるかもしれません。

カテゴリー
All Grasshopper

Treeから任意のブランチを取得

Grasshopperで、煩雑なTreeの中から指定したブランチだけ取り出したいというケースがあります。
例えば壁面作成時に、開口部があるスパンとないスパンで分岐させたい、といったケースです。

Split Treeを用いた取得方法

Grasshopperの中にSplit Treeが用意されています。Masksに任意のパスを指定すると、Dataに入れたTreeの中から指定したパスに該当するブランチを取り出すことができます。

Split TreeのMasksには「?」を入力することでワイルドカードのような指定も可能ですので便利なコンポーネントです。