「連番マスクから1枚だけ取り出す」の項を追加
ComfyUIにおいて主にマスク関係を操るノードだが、ソレ以外の機能も多数収録されている。
私の独断で重要そうなものからまとめていく。
kijai/ComfyUI-KJNodes: Various custom nodes for ComfyUI
少なくともマスクの意味と使い方がわかるレベルで。中級者向けかなと思う。
このノードは海外の猛者はよく使っているのだが、どうも日本での認知度があまりに少ないためこの記事を書いている。
そのためしばらくの間この記事も読まれることは少ないだろう。
そういえば、謎技研のテーマはこういうニッチなウェブサイトだった。
右クリックのadd Node
からKJNodes > masking > generate
の中にマスクをプロシージャルに作るCreate系のノードがある。
今回の記事ではこちらを紹介していく。
CGではよく使われる用語。
なんらかの画像を読み込んでマスクとして使うのではなく、ツール内の演算で生成した模様や形状を指す。
CGではプロシージャルなノードを使うことに更にメリットがある。
例えば無限に拡大してもジャギーが出ないことや、ピクセル数をどこまで大きくすることが出来るというメリット。
右から左へ黒のカーテンをかけていくようなアニメーションのマスクを生成する。
検索名とノード名は基本的に同じ。
ComfyUI Essentials
という別のカスタムノードにマスクをプレビューするノードがあるので入れておくと良い(Mask Preview
)
ちょっといきなりクセが強いノードなので細かく解説。
まずframes
を1以上にしないとエラーが出るので注意。
frames=1
の例。このframes
は生成するマスクの数で、数値をあげるとその数のマスクが作られる。
これは単に複数マスクがつくられるのではなく右から左へ黒に侵食するアニメーションのようになっている。
なので、コレを使ってComfy内で画像をスムーズに切り替えるような使い方が可能。
テキストの形状のマスクを生成。
frames
を上げてstart_rotation
, end_rotation
をあげると回転する動きをする。
invert
で白黒反転。
text_x
, text_y
で座標を調整。
音声ファイルからマスクを作るノード。円形のマスクが拡縮する。
wavのみならずmp4などもいけたのでファイル形式は色々いけそう。
波形の音量で面積の大小を取っていると思われる。
真っ白になっている場合は音量が大きすぎかも。Scale
を0.1
とかかなり小さくしてみると良い。
単純に画像全体を白から黒へと変化させるマスク
上は連番画像なので、動画にすると次のようなマスクになる。
FadeMaskの白黒のアニメーションをテキストでコントロールできるノード。
このテキストだと「0フレで明るさ0.0」「7フレで明るさ1.0,」「15フレで明るさ0.0」を意味している。
流体のシミュレーションマスク。
何に使うのか全く不明だが、なんかとにかくすごい。
円形、三角形、四角形のマスクを生成するシンプルなノード。
framesとgrowを増やすと拡大するような動きをする。
細胞のような、ステンドグラスのようなマスクを作成する。
このノードはCGではおなじみのノードで、様々な使用法があるので調べてみるのも良い。
framesの数値を上げるとアニメーションするが、コントロールするのは難しそう。
説明が難しいが、恐らくBlenderのMagic Textureと同じようなアルゴリズムっぽい。
Blenderの公式解説を流用すれば「サイケデリックなマスクを生成する」という解説になりそう。
色々数値を弄って遊ぶと良いと思う。
例えばCreateGradientMask
ノードで10枚つくって、その●番目だけ取り出したいといった場合。
これは紹介していないがMTB Nodes
のMask To Image
で1度画像に変換し、KJNodesのGetImagesFromBatchIndexed
を使う方法がある。
上の例だと2,3番目のように複数マスクを取り出している。
image
データになってしまうので、この後もう一度マスクとして利用するならConvert Image to Mask
ノードを使う
調査中...
マスクを作るノードは以上で全部。
極端な話を言えば別途ツールを使って作ることもできるがComfyUI内で生成できるのはかなり面白い。
KJNodesはまだまだノードがたくさんあるので引き続き記事を追加する。