投稿者: ZKI

  • インスタンスを解除して実体化する

    インスタンスを解除して実体化する

    インスタンスを解除

    インスタンスコピーされたオブジェクトのインスタンスを解除して、それぞれ個々のオブジェクトとして編集できるようにしたいと思います。 

    前回作成したシーンから続けてみたいと思います。 

    複製されたインスタンスを選択します。 

    Ctrl+Aから「Make Instance Real」を選択します。 

    インスタンス機能が失われて、すべてのバラバラのオブジェクトになりました。 

    メッシュ情報はリンクされたままになっています。 

    メッシュのリンクも切断する場合は、Single User化しましょう。

  • 複数オブジェクトで構成されるモデルを配列複製(その2)

    複数オブジェクトで構成されるモデルを配列複製(その2)

    配列したモデルをいろいろな方向に向かせたい 

    前回作った配列させたモデルに対して、ランダムに少し回転を与えて、自然に配置したようなイメージを作りたいと思います。 

    Displaceモディファイアを追加します。 

    テクスチャを追加します。 

    テクスチャパネルに移動して、Cloudsを追加します。 

    Displaceモディファイアの設定に戻って、強さを好みに変更します。 

    このような見た目になりました。いろいろな方向を向いていますが、Z軸は固定したいですよね。 

    DisplaceモディファイアのDirectionを「Y」に変更します。 

    Z軸を固定したまま、方向を変えることができました。 

    Planeのレンダリングが不要な場合は、下記をオフにしてください。 

    Planeが消えました。 

    私はこのテクニックを、家具や商品、照明器具、植栽の配置などに活用しています。 

    Objectプロパティの「Instancing」の機能を応用すると、下記のようなレゴブロックのアニメーションも作成することができます。 

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

    https://www.youtube.com/channel/UCEhvBzn6O_XEBKLnAfG4kBg
  • 複数オブジェクトで構成されるモデルを配列複製(その1)

    複数オブジェクトで構成されるモデルを配列複製(その1)

    インスタンスを活用した配列複製 

    家具や人形のような、1つのオブジェクトではなく、いくつかのオブジェクトによって構成されるモデルを作る機会が多いと思います。 
    そのようなモデルに対して、Arrayモディファイアを与えたいというケースが多々あります。 
    この場合、私はいつもCollectionインスタンスParentのインスタンス機能を使って、Arrayモディファイアを与えています。 

    今回はこのようなオブジェクトの組み合わせを想定してみます。 

    構成するオブジェクトを「Objects」という名前のCollectionに格納します。 

    別のCollectionにPlaneを追加します。 

    このPlaneに対して、Arrayモディファイアを追加します。今回はX,YそれぞれのArrayモディファイアを追加しました。 

    このような感じです。 

    ObjectsのCollection Instanceを追加します。 

    Collection Instanceが追加されました。 

    このCollection InstanceをCtrl+PでPlaneの子に設定します。 

    Objectプロパティの「Instancing」から「Face」をクリックします。 

    Planeのそれぞれの面にインスタンスコピーされました。 

    カーソルを活用してCollection InstanceをPlaneの基点に合わせておきます。 

    ピッタリ合いました。 

    この手順により、PlaneのArrayモディファイアで個数やピッチをコントロールできるようになりました。 

    次回は配列複製したこれらのインスタンスの向きにバラツキを持たせたいと思います。

  • 無料テクスチャ・マテリアル検索サイト

    無料テクスチャ・マテリアル検索サイト

    複数サイトを横断検索

    CC0の無料のテクスチャ画像やマテリアルを検索するとき、以前は、良さそうなサイトを見つけてはブックマークしていました。 

    3dAssets.oneは、CC0のテクスチャ画僧やマテリアルを、複数サイトを横断して検索できます。 

    https://www.3dassets.one/

    試しに「interlocking」と打ち込んでインターロッキングブロックを検索してみます。 

    検索結果が出てきました。 

    おなじみのサイトも含まれていますね。 

    今回はこちらをクリックしてみました。 

    ここのサイトに遷移しました。 

    substanceのマテリアルとテクスチャがダウンロードできるようですね。2Kのjpgを選択してみました。 

    ダウンロードしたzipを展開してみると、テクスチャとマテリアルがダウンロードできていることが確認できました。 

    テクスチャやマテリアルの作成は結構時間がかかりますよね。より優れた検索方法を見つけて、作業効率を上げていきましょう。 

  • Multiple Importance

    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について思い出してみてください。 

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

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

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

    作成したモデルを様々な角度からレンダリングしたいとき、通常は下記のステップをカメラ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」がもっともシンプルで使いやすいと感じています。 

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

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

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

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

    たとえば👆のようなシーンにおいて、「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つに対してプロパティの変更を加えていました。今では絶対に欠かせないテクニックの一つです。

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

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

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

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

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

    Align Tools Addonを活用する 

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

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

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

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

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

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

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

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

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

  • 表面積・容積の積算

    表面積・容積の積算

    積算について 

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

    Blenderの積算ツール 

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

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

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

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

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

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

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

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

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

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

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

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

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

    現状(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