本記事ではBlender標準機能のGeometry Nodesを使用して有機的なユニークな形状のオブジェクトを作成する方法を紹介します。
この記事は以下の記事の続きとなっています。
Geometry Nodesとは
Geometry Nodesは、ノードベースでオブジェクトのジオメトリを変更するBlender機能の一つです。
オブジェクトにGeometry Nodes Modifierを追加することで使用できます。
ノードと呼ばれる要素をつなげてノードツリーを作成することで、アニメーションやモデリングをすることができます。
今回はBlender3.1を使用しています(Blender3.0以前にはDual Mehs Nodeが存在しない為)。
使用例
今回はTissue Toolsの記事で紹介したDual mesh機能で作成したオブジェクトに似たボロノイ構造をノードベースで作成します。
Geometry Nodesを使用するメリットは、よりユニークな形状を作成できることや、作成した形状を別の形のオブジェクトに簡単に引き継げることが挙げられます。
それでは実際に作成してみましょう。
まず始めに3Dビューにメッシュ配置します。
このメッシュはの形状はどんな形状でも構いませんが今回はデフォルトで配置してあるCubeを使用します。
画面上部のGeometry Nodes Workspaceをクリックします。
ノードを追加したいオブジェクトを選択し、Newをクリックします。
ノードが表示されました。
片方のGroup Inputを削除し、Shift+[A]でMesh Primitives→Ico Sphereを追加します。
Shift+[A]で表示されるウィンドウ上部のSearchでノードを検索することもできます。
Ico SphereとGroup OutputをつなげるとCubeがIco Sphereに変化します。
Subdivisionsの値を4にします。
次にShift+[A]でGeometry→Merge by Distanceを追加します。
つながっているノードの間にノードをドラッグすると自動で間につながってくれます。
Utilities→Random Value ノードを追加し、Data TypeをBooleanに変更します。
この値を変更することでメッシュの頂点数や辺の数を変更することができます。
ここではDecimateモディファイアのような役割です。
Random ValueのValueとMerge by DistanceのSelectionをつなぎます。
Mesh→Subdivide Meshを追加し、Merge by DistanceとGroup Outputの間にドラッグします。
Subdivide Meshノードは、メッシュの隙間を一部補完してくれる機能があります。
Mesh→Triangulateを追加し、Subdivide MeshとGroup Outputの間にドラッグします。
Triangulateノードは、メッシュのすべての面を三角形に変換するできます。
Mesh→Dual Meshを追加し、TriangulateとGroup Outputの間にドラッグします。
Dual Meshノードは面を頂点に変換し、頂点を面に変換します。
この機能により頂点が密集している箇所に隙間ができます。
これで基本的なノードは完成です。
ここにWireframeとSubdivision Surfaceモディファイアを追加します。
モディファイアの順番が上からGeometry Nodes、Wireframe、Subdivision Surfaceになっていることを確認してください。
Subdivision Surfaceの値は使用しているPCの性能にもよりますが、2~3程度が適切です。
モディファイアを追加すると網状の球体ができます。
数値を変えて形状を変化させる
ここからGeometry Nodesの数値を変えて形状を変更していきます。
数値を変更しているときは動作が重くなるのでSubdivision Surfaceモディファイアは非表示にしておくことを推奨します。
試しにMerge by Distanceの値を0.7、Random Valueの値を0.7に変えてみましょう。
ランダムな有機的な構造になりました。
基本的にはこの二つのノードの数値を変更することで形状を変化させることができます。
またRandom ValueノードのSeed値を変更することでオブジェクトのランダムネスを変化させることができます。
オブジェクトを近くで見ると、ところどころ空洞になっている箇所がありますが、これはWireframeモディファイアのBoundaryにチェックを入れることで埋められます。
まだオブジェクトの表面がスムーズでないのでMesh→Set Shade Smoothを追加してDual MeshとGroup Outputの間にドラッグします。
表面がきれいになりました。
次にSubdivide Meshノードを複製してみましょう。
Subdivide Meshを選択し、Shift+[D]でノードを複製できます。
複製したノードをSet Shade SmoothノードとGroup Outputの間にドラッグします。
オブジェクトの隙間が細かくなりました。
既存のSubdivide Meshの値を変更することでも同じような変化が起こりますが、オブジェクト全体の隙間が補完されてしまうのでお好みで使い分けてください。
他のメッシュに適用させる
このノードツリーを別のPrimitive Mesh Nodeにつなぐことでまた違った形状を作成することもできます。
Mesh Primitives→Coneを追加し、Sphereノードと入れ替えます。
下の画像のようにモディファイアとノードの数値を変えてつなぐと、コーンを基礎とした抽象的な形状が出来上がります。
他にもノードの順番を入れ替えたり組み合わせることで抽象的なオブジェクトだけではなくパラメトリックデザイン風のオブジェクトを作成することも可能です。
エクスポートの方法
ジオメトリノードの情報を後から編集できるように、Layoutウィンドウに戻りShift+[D]でオブジェクトを複製します。
オブジェクトを右クリックしてConvert To→Meshを選択するとジオメトリノードとモディファイアが元のメッシュに適用されます。
適用できたらオブジェクトを選択してFile→Export→FBXを選択します。
画像の赤く囲ってある箇所のように選択したらExport FBXを選択します。
これでエクスポート完了です。
STYLYにアップロードする方法
アカウント作成方法
STYLYにアップロードする方法
UnityからSTYLYにアップロードする方法
これでSTYLYへのアップロードは完了です。お疲れ様でした。