From 393e559b6d6ddf6352c99e26db3eccf2c926faa8 Mon Sep 17 00:00:00 2001 From: laksjdjf Date: Tue, 29 Apr 2025 17:54:27 +0900 Subject: [PATCH] Create README.md --- scripts/reference/README.md | 75 +++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 scripts/reference/README.md diff --git a/scripts/reference/README.md b/scripts/reference/README.md new file mode 100644 index 0000000..d15d87f --- /dev/null +++ b/scripts/reference/README.md @@ -0,0 +1,75 @@ +えへへ♪ お兄ちゃん(お姉ちゃん)、聞いて聞いてー! + +あのね、ComfyUIで使える「ReferenceApply」と「ReferenceLatent」っていう、とーっても便利なカスタムノードの使い方、わたしが教えてあげるね! これを使うとね、お兄ちゃんのお気に入りの絵を「お手本」にして、新しい絵をいっぱい描けるようになるんだよ!魔法みたいでしょ?✨ + +**このノードでできること♪** + +* **「この絵みたいにして!」ってお願いできる!**: 大好きな絵の雰囲気とか、キャラの感じとかを、新しく作る絵にマネっこさせられるんだ! +* **いーっぱい同時に作れる!**: たくさん絵を描くとき、その中の一枚を「リーダー」みたいにして、他の絵もお手本を参考にするようにできるの。 +* **どれくらいマネするか、決められる!**: 「ちょっとだけ参考にする」とか「がっつりマネする!」とか、絵を描く途中の「いつ参考にするか」とか、細かーく設定できるんだよ! すごいよね! + +**ノードの説明だよ☆** + +### 1. `ReferenceApply` ノード (お願いする係さん!) + +この子はね、AIモデルさんに「この絵をお手本にしてね! こういう風にお願いします!」って、詳しくお願いごとを伝える係なんだ! + +**つなぐもの (Inputs):** + +* **`model`**: ここには、使いたいAIモデルさん(Checkpointとかから出てくるやつね!)をつないであげてね。 +* **`index`**: **何番目の絵をお手本にするか**決める数字だよ (0番から数えるよ!)。あとで説明する `ReferenceLatent` っていうノードで決めた番号と、**同じ番号**にしてね! 約束だよ? +* **`mode`**: お手本をどうやって参考にするか選ぶところだよ。 + * `concat` (くっつける!): 元々の情報に、お手本の情報を「プラス!」する感じ。お手本の影響が強めに出やすいかも? + * `replace` (いれかえ!): 元々の情報を、お手本の情報と「そっくり入れ替え!」しちゃう。もっと直接的にお手本っぽくなるかな? + * **どっちがいいかな?**: うーん、まずは `concat` で試してみるのがいいかも! +* **`depth`**: モデルさんの心の奥(?)の、**どのくらい深いところまで**お手本を見てもらうか決めるの。数字が大きいほど、絵の細かいところまで影響しやすくなるよ。小さいと、最初のほうとか、大まかな感じに影響するかな? + * **おすすめ**: 最初はデフォルトの `12` (ぜーんぶ!) でやってみて、もし「お手本に似すぎちゃった!」って思ったら、数字をちょっと減らしてみるといいかもね♪ +* **`start_step` / `end_step`**: 絵を描き始めてから完成するまでの**どのタイミングで**お手本を見るか、0.0 (最初) から 1.0 (最後) の間で決めるの。 + * `start: 0.0`, `end: 1.0` なら、ずーっとお手本を見ててくれるよ。 + * `start: 0.0`, `end: 0.5` なら、絵を描く前半だけ見る感じ! + * **どうする?**: 全体的に影響してほしいなら `0.0` から `1.0` で、特定のときだけ見てほしいなら範囲を狭めてみてね! +* **`apply_input / apply_middle / apply_output`**: モデルさんの中を「入口」「まんなか」「出口」って分けたとして、それぞれの場所でお手本を見るかどうかをON/OFFできるスイッチだよ。 + * **どうかな?**: 基本はぜーんぶON (True) で大丈夫だと思う! もっと細かく調整したくなったら、OFFにしてみるのもアリかも? + +**出てくるもの (Output):** + +* **`model`**: お願いごとをちゃんと聞いてくれた、新しい状態のモデルさんが出てくるよ!これを KSampler さんとかにつないであげてね! + +### 2. `ReferenceLatent` ノード (下書き準備係さん!) + +この子はね、**お手本にする絵と、これから描く絵の「下書き(Latentっていうの!)」を準備してくれる**係なんだ! + +**つなぐもの (Inputs):** + +* **`latent`**: ここには、**お手本にしたい絵**を VAE Encode っていうノードで変身させた「Latent」をつないでね。 +* **`index`**: お手本の絵を、**何番目のお部屋に入れるか**決める数字だよ (0番から!)。さっきの `ReferenceApply` の `index` と、**絶対に同じ番号**にしてね! ここ、大事だよっ! +* **`batch_size`**: **ぜーんぶで何枚の絵を描くか**決める数字だよ。例えば、お手本が1枚で、それを参考に新しい絵を3枚描きたいなら、`batch_size` は 1 + 3 で `4` にするんだよ! + +**出てくるもの (Output):** + +* **`latent`**: + * `batch_size` で決めた枚数分の、下書きのお部屋が用意されるよ。 + * `index` で決めた番号のお部屋には、お手本の絵の下書きが入ってるの! + * 他の番号のお部屋は、まだ空っぽ(ゼロ)だよ。 + * あとね、「ノイズマスク」っていう特別なシートも一緒に出てきて、お手本の絵のところにはノイズ(絵を描くときのザラザラしたやつ)があんまり乗らないようにしてくれるんだって! (サンプラーさんが対応してれば、だけどね!) + * この出てきた `latent` を、KSampler さんとかの下書きを入れるところにつないであげてね! + +## やってみよう! (基本的な使い方だよ♪) + +1. **お手本の絵を用意!**: Load Image でお手本の絵を読み込んで、VAE Encode で Latent に変身させるよ。 +2. **下書きを準備!**: + * VAE Encode から出てきた `LATENT` を、`ReferenceLatent` の `latent` につなぐ! + * `ReferenceLatent` で、`index` (例えば 0番!) と `batch_size` (例えば 4枚描くなら 4!) を決める! +3. **モデルさんにお願い!**: + * Load Checkpoint でモデルさんを呼んできて、`ReferenceApply` の `model` につなぐ! + * `ReferenceApply` で、`index` (さっきと同じ 0番!)、`mode` とか `depth` とか、お兄ちゃんの好きなように設定してみてね! +4. **絵を描いてもらう!**: + * KSampler さん(とか他のサンプラーさん)を置くよ。 + * `ReferenceApply` から出てきた `model` を、KSampler さんの `model` につなぐ! + * `ReferenceLatent` から出てきた `latent` を、KSampler さんの `latent_image` につなぐ! + * あとは、呪文 (Prompt) とかも忘れずにつないであげてね! +5. **完成!わくわく♪**: KSampler さんに「お願い!」ってする (Queue Prompt ポチッ!) と、`batch_size` で決めた枚数の絵が出てくるはず! `index` で決めた番号の絵がお手本になってて、他の絵がそれを参考に描かれてるか、VAE Decode で見てみてね! + +--- + +これでバッチリかな? ちょっと難しいところもあったかもだけど、だいじょーぶ! いろいろ試して、お兄ちゃんだけの素敵な絵をいっぱい作ってね! えへへ♪ わからないことあったら、またいつでも聞いてねー! がんばってー!٩(ˊᗜˋ*)و