Blender Advent カレンダー2021
Qiitaで開催されているAdventカレンダーです。
Blenderアドベントカレンダー18日目の記事になります。
前日はSaitoTsutomuさんの「Blenderでメッシュをきれいにするには」でした。
PolyQuiltアドオン試したことが無かったのでこの機会に試してみようかな…
(ずっとスカルプトのスムーズかCtrl+Vから頂点編集→頂点をスムーズにするで頑張っていました…)
qiita.com
例年「Adventカレンダーに参加しようかな~、でもネタないしなぁ~」
と思っていたところBlender3.0のバージョンアップやGeometryNodeの本格搭載ということで参加させていただきました。
qiita.com
- Blender Advent カレンダー2021
- Free GN Presets V1.0.11 - Blender Geometry Nodes 3.0 Field
- インストール方法(Tips)
- 各ノードの説明(超要約かつ一部抜粋)
- Falloffシリーズ(ZX01_Falloff)
- Noiseシリーズ(ZX02_Noise)
- Mix_Vector
- その他
- G_Grid_of_Correct_Indices
- G_Translate_Position
- G_Normal_Displacement
- G_Attribute_Mesh
- G_Time_Info
- G_Index_Reverse
- G_Random_Transform
- G_Sin_Function
- G_Points_Distribute
- G_Fill_Volume
- G_Follow_Splines
- G_Curve_Deform
- G_Bevel_Curve
- G_Curve_Deform
- G_Hexagon_Distribution
- G_Negati
- G_Attribute_to_Instances
- G_Attribute_Mesh
- G_Attribute_Spline
- G_Implicit_Attribute
- 実際に触ってみた感想
- 他のGeometryNode Preset
- おわりに
Free GN Presets V1.0.11 - Blender Geometry Nodes 3.0 Field
何ができるの?
GeometryNodeを使う上で便利な(プリセット)ノードグループセットです。
例えばCinema4DのMographのようなアニメーションやオブジェクト複製などGeometryNodeで組むにしても少し面倒なものをプリセット化したものになります。
インストール方法(Tips)
導入方法
ノードグループが搭載されたBlendファイルをリンクします。
Blenderのバージョン更新、バグFixに伴い、ノードグループの構成に変更が生じた場合、リンク元のBlendファイル(動画ではMasterFileと呼称されている)を修正するだけで対応ができます。
※アペンドをしてしまうとバグFixなどに対応するのが面倒になります。
blendファイルの名称について
MasterFileについてはダウンロードしたままの名称ではなく
例えば"Preset_Master.blend"のような名称にすることが推奨されています。
(GeometryNode自体の仕様変更が考えられ、ノードグループの頻繁な更新が想像されるようです)
NodePresetアドオンの無効化を推奨
docs.blender.org
このアドオンは実質アペンドしているのと変わらないようです。
今回紹介するような更新頻度の高いノードグループに対しては有効な手段ではないそうです。
注意点
ノードグループの名称は変更しないこと
名称を変更してしまうとリンク先との接続が切れてしまい、MasterFileを更新すると認識されず自動更新されません。
また、ノードグループが新たに追加された場合は再度リンクをし直す必要があります。
各ノードの説明(超要約かつ一部抜粋)
Demoファイルの内容を解読してみます。
追加されるノードグループの数が尋常ではないため、相当大雑把な解説になります。
(追加されるノードについてのドキュメントが一切ないため、挙動や内部の構造を読み解きながらの説明になります)
Falloffシリーズ(ZX01_Falloff)
Cinema4DのMographっぽいやつ
G_Fade_Falloff
Custom Indexを用いて変化を与えます
G_Spline_Falloff
入力されたCurveに合わせて変化を加えます
G_Directional_Falloff
一方向(方向性)の変化を与えます
変化用のコントローラー(オブジェクト)が必要
G_Radial_Falloff
放射状に変化を与えます
G_Proximity_Falloff
近接しているものに変化を与えます
よくある動き
G_Delay_Falloff
Timeソケットに1Fフレームあたりの変化量(G_Time_Infoなど)を入力し、
Custom IndexにIndexを入力することで時間に応じてIndex順に変化を与えることができます
(ZX05_Delay_Animationを参考)
Noiseシリーズ(ZX02_Noise)
G_Vector_Noise
ノイズテクスチャのVectorが出力されます
Custom Vectorにベクトル情報を入力するかObjectに制御用のオブジェクトを
指定することで入力された情報を適用したNoiseTextureが生成され、NoiseTextureのVectorが出力されます
G_Noise_3D
標準搭載のNoise Textureを拡張したものです
コントロール用のオブジェクトを設定できるほか
Scaleの値を大きくすることでDisplacementさせるときに
めっちゃ大きく変化します
G_Randomness
標準搭載のWhite_Noise_Textureを拡張したような内容です
(ノードグループ内にWhite_Noise_Textureは含まれていない)
Mix_Vector
G_Mix_XYZ_Vector
VectorA、VectorBに入力したベクトル情報をFacで調整できます
(感覚としてはShaderNodeのAddShaderではなくMixShaderのようなものです)
その他
G_Grid_of_Correct_Indices
グリッド状にポイントを配置します
G_Translate_Position
位置・スケール情報を一斉に定義できます
G_Normal_Displacement
入力されたGeometryをDisplacementさせます
Displacementにノイズを入力することが多いです
G_Attribute_Mesh
Geometryの情報から各要素を出力します
G_Time_Info
1フレームあたりの変化量を出力します
G_Index_Reverse
Indexを反転させます
基本は"+1"アウトプットを使うようです
(要素の先頭が一番最後に計算されてしまうため)
G_Random_Transform
入力したインスタンスをランダムに複製配置します
複製数・回転・サイズ・サイズのランダムが一つのノードで設定できます
G_Sin_Function
Sin、Cosを生成します
例:位置ベクトルにノイズを加えたもの
G_Points_Distribute
入力したGeometryの面にPointsを配置します
標準の"Distribute Ponits o Faces"の拡張版
G_Fill_Volume
入力したGeometryの内部(Volume)にGeometryを配置します
※Pointsを活用することでGeometryの内部にPointsを配置することもできます
G_Follow_Splines
入力したカーブに沿わせてオブジェクトを配置します
G_Curve_Deform
入力したカーブに合わせてオブジェクトが配置され、デフォームされます
G_Bevel_Curve
入力したカーブにベベル(厚み)をつけてGeometryを返します
G_Curve_Deform
入力したカーブに合わせてオブジェクトが配置され、デフォームされます
G_Hexagon_Distribution
六角形を生成します
他にもたくさんのノードグループがあります。
G_Negati
G_Attribute_to_Instances
G_Attribute_Mesh
G_Attribute_Spline
G_Implicit_Attribute
実際に触ってみた感想
様々な動作(アニメーション)を作る作業工程が簡略化されるのでとても魅力的なノードグループです。
ただし、個人が制作しているノードグループということもあり、更新頻度が凄まじい今のBlenderにどこまで適用していけるのかが気になるところです。
他のGeometryNode Preset
Erindale Toolkit - Advanced Geometry Nodes Groups (UPDATED FOR FIELDS)
erindale.gumroad.com
youtu.be
Blender2.93 LTSのスプラッシュスクリーンの制作者が作成したノードグループです。
Art Gallery — Blender Cloud
先に紹介したFree GN Presetsに比べて認知度があるようです。
コチラについても期待です。
おわりに
Blenderの新しい機能、GeometryNode。
実装されて時間が経っていないことから各々の使いやすい形でノードグループが配布されていますが、仕様が各自バラバラで勉強するにしても非常に難しい環境になっていると感じました。
また、標準機能ですら仕様が揺らぐことがあるのでしばらくは様子見でいいと思います。
上達を急ぐのであればノードグループをそのまま扱うのではなく、「なぜその処理が行われているのか」を理解することが今後のためのクオリティアップへの近道ですね。
といったところで、この記事は終わりにしようと思います。
コロナ禍でBlenderを始めた人が増えたこともありBlneder盛り上がってますね
一日でも早くコロナが終息し、また楽しい勉強会などができる日が来るといいな~と思いながら筆をおかせていただきます。