【Blender】有機的なオブジェクトを作る方法 Tissue Tools編

本記事ではBlenderに標準で搭載されているアドオンであるTissue Toolsの使用方法をご紹介します。
Tissue Toolsには多様な機能が備わっていますが、今回は主な機能であるTessellate、Dual Mesh、Weight Toolsの使用方法を解説していきます。

導入方法

Tissue ToolsはBlender3.0でも使用可能ですが、機能が少なく動作が不安定なのでBlender3.1で使用することを推奨します。

Edit→Preferences→Add onsの検索タブにTissueと入力するとMesh:Tissueというアドオンが表示されるのでチェックマークを入れます。 

Edit→Preferences→Add ons→Mesh:Tissue

PreferencesでMesh:Tissueというアドオンにチェックを入れる

Tessellateツール

Tessellateツールでは選択したオブジェクト(Component)をアクティブオブジェクト(Base)のすべての面に複製して貼り付けることができます。[N]キーを押してサイドバーを表示させるとTissue Toolsのタブが表示されます。頻繁に使用するので常時表示がおすすめです。

Tissue Toolsのタブが表示されます

Tissue Toolsのタブが表示される

Tessellateツールを使用するには二つのオブジェクトが必要なのでここではCubeとTorusを用意します。Shift+[A]でオブジェクトを追加からTorusを選択します。

Shift+[N]でオブジェクトを追加

Shift+[A]でオブジェクトを追加

Torus(Component)→Cube(Base)の順番でオブジェクトを選択し、Tessellateボタンを押します。
ここではデフォルトの設定のままOKを押してみましょう。Baseオブジェクトの面が多すぎると動作が重くなるので、こまめに保存するのをおすすめします。

Tessellateボタンを押します。

Tessellateボタンを押す

Cubeのすべての面にTorusが張り付きました。これがTessellateの基本機能です。

詳細な設定はTessellateを適応した後でもObject Data Propertiesから変更し更新できます。
ここでは主に使う項目を紹介します。

Object Data Properties

Object Data Properties

Fill modeではComponentオブジェクトにBaseをマッピングする際の形を選択できます。

Fill mode

Fill mode

  • Tri:Baseオブジェクトの面を自動的に三角形に分割し、Componentオブジェクトを三角形の面に割り当てます。
  • Quad:ComponentオブジェクトをBaseオブジェクトの四角面に割り当てます。これが最も基本的な形です。
  • Fan:Baseオブジェクトのすべての面の各辺をその中心に接続する三角形に分割します。
  • Patch:基本的にはQuadと同じですが、サブディビジョンサーフェスなどで湾曲した面に向いています。
  • Frame:特定の厚さの面に沿ってComponentオブジェクトを適用できます。

Component modeはComponentオブジェクトの配置先を選択できます。

Component mode

Component mode

  • Object:選択したBaseオブジェクトのすべての面にComponentオブジェクトを貼り付けます。
  • Collection:選択したコレクションに含まれるオブジェクトを割り当てます。Componentオブジェクトはデフォルトではランダムに貼り付けられますが、頂点グループを選択して配置することもできます。
  • Material:Baseオブジェクトに割り当てられたのマテリアルとComponentオブジェクトの名前を同一にすることでBaseオブジェクトの任意の位置にComponentオブジェクトを貼り付けることができます(マテリアルを同一にする必要はありません)。

ThicknessではComponentオブジェクトのスケールやオフセット値を調節できます。

Thickness

Thickness

  • Constant:Componentオブジェクトを法線方向に均等な厚さで貼り付けます。
  • Relative:ComponentオブジェクトをBaseオブジェクトの面の寸法に比例した厚さで貼り付けます。アスペクト比は元のComponentオブジェクトと同様になります。
  • Scale:Componentオブジェクトの厚さを調整します。
  • Offset:ComponentオブジェクトとBaseオブジェクトの面の距離を調整します。

使用例

まず始めにComponentオブジェクトを用意するためにExtra Object アドオンを追加します。
Edit→Preferences→Add onsの検索欄にExtraと入力するとAdd Mesh:Extra Objectというアドオンが表示されるのでチェックマークを入れます。

Edit→Preferences→Add ons→Add Mesh:Extra Object

PreferencesでAdd Mesh:Extra Objectというアドオンにチェックを入れる

Shift+[A]でmesh→Extras→Honeycombを追加します。
追加できたら左下のAddHoneyCombタブからNum of rowsを3にします。

Ctrl+[A]→mesh→Extras→Honeycomb

Honeycombを追加

画像のように不要な部分を削除し、Subdivision Surfaceの数値を2にします。

正方形を少しはみ出る程度が良いです

不要な部分を削除

Subdivision Surfaceを追加します。

Subdivision Surfaceの追加

Subdivision Surfaceの追加

Object ModeでSubdivision SurfaceをApplyします。

Subdivision SurfaceのApply

Subdivision SurfaceのApply

赤く囲ってある正方形を少しはみ出るくらいまで拡大します。

オブジェクトの拡大

オブジェクトの拡大

編集モードにして[K]キーでナイフツールに変更し、正方形からはみ出した部分をカットします。ナイフツールで[C]キーを押すと裏面までカットできます
Componentオブジェクトの準備は終了です。

ナイフツールでカット

ナイフツールでカット

Baseオブジェクトは好みのオブジェクトで大丈夫ですが今回はCylinderを使用します。辺の数はマウスのホイールボタンで調整できます

辺の数を調整

辺の数を調整

面の形をなるべく正方形にしたいので、編集モードで辺を選んでCtrl+[R]で辺を追加し上下の面を削除します。

Honeycomb(Component)→Cylinder(Base)の順番で選択しTessellateを押してOKをクリックします。TessellateオブジェクトはBaseオブジェクトとは別に生成されます。

TessellateオブジェクトはBaseオブジェクトとは別に生成されます

Tessellateオブジェクトが生成される

Tessellateで生成された網状のオブジェクト(以後「網」と呼ぶ)に捻りを加えたいので、CylinderにSimple Deformモディファイアを追加します。 

モディファイアが追加出来たら網を選択してTissue ToolsパネルのRefreshを押します。
Baseオブジェクトに変更を施した際にはRefreshを押すとComponentオブジェクトに反映されます。

Tissue Toolsパネル→Refresh

Tissue ToolsパネルからRefreshを選択

Componentオブジェクトの角度を変えたいので網を選択してObject Data PropertiesのRotationのShift値を1に変更します。

Rondamを選択することでComponentオブジェクトの角度をランダムにすることもできます。

Object Data Properties→Rotation

Object Data PropertiesからRotationを選択


Seed値を変えると角度がランダムに変化します

Seed値を変えると角度がランダムに変化します

網を選択してSolidifyモディファイアを追加することで厚みを追加できます。

これらがTessellateの基本的な使い方です。

このようなSF風なメッシュができます

するとこのようなSF風なメッシュができます

使用例2

[Ctrl]+[A]キーでBaseオブジェクトとなるTorusをシーンに追加します。

DecimateモディファイアとSubdivision Surfaceを追加し、Un-Subdivideの数値を3に、Subdivision Surfaceの数値を3にします。

Subdivision SurfaceのOptimal Displayにチェックを入れておいてください。

Wireframe表示をオンにしておくと見やすいです

Torusをシーンに追加

Torusをシーンに追加

ComponentオブジェクトとなるCubeを追加し、編集モードですべての面を選択し右クリックでExtrude Indivisual Facesを選択し面を押し出します。

その後押し出した面を削除します。Subdivideする前に面を削除しておきましょう。
面を削除したら全選択して右クリックでSubdivideを選択し、数値は3にしてください。

Extrude Indivisual Facesを選択し面を押し出し

Extrude Indivisual Facesを選択し面を押し出し

Cube→Torusの順番で選択し、Tessellateを押します。

Fill ModeはPatchにしてMergeとSmooth Shadingにチェックをしてください。

Mergeにチェックをいれないとそれぞれのコンポーネントがバラバラになりますが面白い形になることもあるので好みで設定してください。

Cube→Torus→Tessellate

TorusをTessellateする

生成されたTessellateオブジェクトを選択しSmoothモディファイアを追加しRepeatの数値を50にします。

Smoothモディファイアの数値をはドラッグでは限界があるので数値を入力してください。

Smoothモディファイア追加

Smoothモディファイア追加

厚みがないのでSolidifyモディファイアを追加し厚みを加えて完成です。

有機的な形になりました

有機的な形になりました

Dual Mesh

Dual Meshは、選択したメッシュを元にしてデュアルメッシュを作成します。

出力される面の形は三角形と四角形のどちらかを選択できます

Dual Meshを繰り返すとメッシュの形は小さく、歪になっていきます。

細かくしすぎるとWireframeモディファイアの表示がうまくいかないことがあるので気を付けましょう。

Dual Mesh

Dual Mesh

シーンにIco Sphereを追加します。
Ico SphereにSubdivision Surfaceを追加し、数値は4にします。

Ico Sphere→Subdivision Surface

Ico Sphere→Subdivision Surface

次にDecimateを追加し数値を0.2にします。

Decimate

Decimate

Ico Sphereを選択し、Dual Mesh→OKをクリックします。
デュアルメッシュが作成されました。

デュアルメッシュは独立して生成されます

デュアルメッシュは独立して生成されます

作成されたデュアルメッシュにDecimateを追加しPlanerの角度を15°にします。

Decimate→Planer→15°

Planerを15°に設定

そしたら再度Dual Mesh→OKをクリックしデュアルメッシュを作成します。

面の形状が徐々にランダムになっていくので、好みの形になるまで上記の工程を繰り返して調整します。

面の形状が徐々にランダムになっていきます

面の形状が徐々にランダムになっていきます

今回はICO Sphere→Subdivision Surface4→Decimate(Collapse)0.2→Dual Mesh→Decimate(Planer)15°→Dual Mesh→Decimate(Planer)5°→Dual Meshの順序で生成しました。

模様がランダムになります

模様がランダムになります

次に生成したデュアルメッシュにWireframeとSubdivision Surfaceモディファイアを追加します。

そうするとボロノイ風の有機的なオブジェクトが完成します。
Simple Deformなどの他のモディファイアと組み合わせても独特な形状を作ることもできます。

厚みがついてボロノイ形状になりました

厚みがついてボロノイ形状になりました


Simple Deformモディファイアで変形しています

Simple Deformモディファイアで変形しています

デュアルメッシュを選択し、Tissue ToolsタブのConvert to Curveをクリックすることでオブジェクトの辺をカーブに変換することができます。

Object Data Properties→Bevel→Depthの数値を変更することでカーブに厚みをつけることができます。

Convert to Curve→Object Data Properties→Bevel→Depth

Convert to Curve→Object Data Properties→Bevel→Depth

 Weight Tools

Reaction DIffusion

Tissue ToolのウェイトツールにはReaction DIffusion Systemという物理現象に対応した数学的モデルの一種が使用されています。

簡単に言うと、時間変化は拡散と反応によって引き起こされるということです。

このメカニズムがウェイトツールに応用されておりウェイトの値が大きいところは小さいところへ拡散し、他のウェイトと干渉した際に変化が起こります。

Ico Sphereを追加しSubdivideの値を6にします。

Ico Sphereを選択しWeight Paintモードに入ります。

Weight Paintモード

Weight Paintモード

Tissue ToolタブのReaction DIffusionをクリックするとVertex Group ABが追加されます。

先にVertex Groupが存在する場合はマイナスボタンを押して削除してください。

Reaction DIffusion

Reaction DIffusion

好きなようにウェイトを塗っていきます。ブラシの太さを変えるとまた別の模様ができます

Weight Paint

Weight Paint

塗り終ってアニメーションを再生すると、ウェイトが拡散し反応していきます。

アニメーション再生中でもウェイトを塗ることができます。

Reset Reaction DIffusionで模様をリセットできます

ウェイトが拡散し反応します

ウェイトが拡散し反応します

Object Data Propertiesでfやkの値を変えるとウェイトの動き方を調整できますが今回はデフォルトのままにします。

拡散のスピードや大きさを調整できます

拡散のスピードや大きさを調整できます

アニメーションを止めObject Modeに戻りMaskモディファイアを追加します。

Vertex GroupはBを選択します。

Vertex GroupはAとBどちらも使用できます。

Maskモディファイア

Maskモディファイア

Threshholdの値を変更することで表示させる面積を変えることができます。

Smoothにチェックを入れるとメッシュがきれいになるのでおすすめします

Threshholdの値を変更

Threshholdの値を変更

後は好みでSmoothやSolidifyモディファイアを追加したら完成です。
お疲れ様でした。

Solidifyモディファイアで厚みを追加するとよりきれいに見えます

Solidifyモディファイアで厚みを追加するとよりきれいに見えます

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

STYLYアカウントを作成する

アカウント作成方法

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

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

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

 
3Dモデルがオブジェクトとして配置されると下記のように表示されます。
これでSTYLYへのアップロードは完了です。お疲れ様でした。
STYLYのシーンに配置しました

STYLYのシーンに配置しました