カテゴリー
All Blender

Multiple Importance

Multiple Importanceについて

chocofurさんがMultiple Importanceについて無料のチュートリアルを上げています。Multiple Importanceは、インテリアのレンダリングにおいて、重要な役割を果たします。 

https://store.chocofur.com/interior-visualization-course-blender-2-80-lite/blender_model/course-blender-2-80-interior-visualization-tutorial-in-cycles-and-eevee

ここではその内容を日本語でざっくり要約してみたいと思います。 

メッシュのemissionマテリアルは、大量のアーティファクトの原因になります。 

Clampの設定で極端に明るい部分を抑えることができますが、奥のスポットライトのスカラップも消えてしまっています。 

発光するメッシュが小さい場合はアーティファクトが少なくなり、奥のスポットライトがクランプされません。 

大きいメッシュライトが必要なケースでは、マテリアル設定の「Multiple Importance」を外すとアーティファクトが少なくなります。「Multiple Importance」は光源が小さいときに効果を発揮します。 

もしメッシュライトを使ったときに、「アーティファクトが多くなった」、「他の照明が消えてしまった」といったことが起きたら、もう一度Multiple Importanceについて思い出してみてください。 

カテゴリー
All Blender

複数カットの自動レンダリング

複数カットのレンダリング 

作成したモデルを様々な角度からレンダリングしたいとき、通常は下記のステップをカメラ1つ1つに対して行う必要があります。 

  • レンダリングしたいカメラをアクティブにする 
  • レンダリング実行 
  • ファイル名をつけてレンダリング画像保存 

この作業を毎回行うのはちょっと面倒ですよね。建築やプロダクトデザイン分野においては、このような複数カットを頻繁に求められます。 

Render Burst Addon

Render Burst Addonは、いわゆるバッチレンダリングを実行するアドオンです。指定した複数のカメラを1つ1つレンダリングして、カメラ名をファイル名として保存してくれます。
下記からダウンロードできます。 

https://github.com/VertStretch/RenderBurst

Addonを有効にするとレンダープロパティにRender Burstが表示されます。 
Blender 2.8xの場合はこのような表示になっていると思います。 

非常にシンプルなAddonで、「All Cameras」か「Selected Only」を選択して、「Render !」をクリックするだけです。 

試しに4つのカメラを選択して「Selected Only」で実行してみます。 

ファイルの拡張子や保存パスは、出力プロパティでいつもの通り設定します。 

実行すると指定したフォルダに保存されました。 

エラー?? 

Blender 3.0.0 Alphaでは「All Cameras」「Selected Only」のフィルタがなぜか表示されません。「All Cameras」がデフォルトで選択されているので、Blender 3.0.0 Alphaでは全てのカメラがレンダリングされてしまいます。 

私はいつも選択したカメラのみで実行することが多いので、常に「Selected Only」で実行されるようにPythonを書き換えました。 

また、ファイル名の頭にレンダリングした日付が追加されるように書き換えました。 

これらを変更してAddonを入れ直し、実行してみると日付が追加されて保存されました。 

バッチレンダリングのAddonは他にもいくつかありますが、「Render Burst」がもっともシンプルで使いやすいと感じています。 

カテゴリー
All Blender

オブジェクトプロパティの同時変更

オブジェクトプロパティの同時変更 

実はあまり知られていませんが。複数のオブジェクトに対して、オブジェクトプロパティを同時に変更することができます。 

たとえば👆のようなシーンにおいて、「Object Properties」→「Viewport Display」→「Display As」の「Textured」を選択オブジェクトすべてに対して「Wire」に変更してみます。

 

複数オブジェクトを選択してから、「Display As」の「Textured」をALTキーを押しながらクリックして展開します。そのまま「Wire」を選択します。 

すると選択したオブジェクトすべての「Display As」の設定が「Wire」に変更されます。 

この「ALTキーを押しながら変更項目をクリック」するテクニックは、「Object Properties」の他の項目に関しても適用できます。 

たとえば「Renders」をALTクリックしてみると、 

選択オブジェクトすべてのレンダリングがoffになります。 

モディファイアでも使える 

選択オブジェクトすべてに同じモディファイアが適用されていた場合、変更したい項目をALTクリックで変更すると、選択オブジェクトすべてに変更が適用されます。 

Arrayモディファイアが適用されたオブジェクトで試してみます。 

Countを増やすボタンをALTクリックしてみます。 

選択オブジェクトすべてに適用されました。 

ちなみに下記のようにCountが既にずれている場合でも、Count数をコピーすることができます。 

コピーしたいデータであるCountで右クリックします。 

Copy to Selected」をクリックします。 

するとCount数が他の選択オブジェクトにコピーされました。 

Blenderでは、Object Propertiesやモディファイアをオブジェクト同士でリンクさせることができません。このテクニックを知るまでは、オブジェクト1つ1つに対してプロパティの変更を加えていました。今では絶対に欠かせないテクニックの一つです。

カテゴリー
All Blender

オブジェクトの位置を揃える

オブジェクトの位置を揃える

本やフィギュアを棚に飾りつける時など、複数のオブジェクトの高さ位置を揃えることがあります。このような作業をできるだけ簡単に行う方法をご紹介します。 

今回は一番左のスザンヌに高さを合わせてみます。 

Align Tools Addonを活用する 

Blenderにデフォルトで搭載されている「Align Tools Addon」を有効にします。

ItemタブにAlign Toolsが表示されます。
一番右のスザンヌがアクティブオブジェクトになるように、すべてのオブジェクトを選択します。
Align ToolsのAlign Locationから「Z」をクリックしてみます。

しかし、それぞれのオブジェクトの基点が高さ方向Zに揃ってしまいました。 

今回の意図としては、それぞれのオブジェクトの最も低い点が左のスザンヌの最も低い点に揃うことだったはずです。 

このためには、Advancedオプションを開きます。 

デフォルトでは下記のような設定になっていると思います。 

これを下記の設定に変更します。 

それぞれのオブジェクトの最も低い点(ZがMin)が左のスザンヌの最も低い点(ZがMin)に揃いました。 

この方法であれば、オブジェクトの数が増えても楽に対応できますね。 

カテゴリー
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のレンダリング機能としてデフォルトで用意されるようになったら嬉しいです。