見出し画像

色指定可!プロンプトだけできれいなグラデーションヘアを出す【Stable Diffusion】

最近、理想的なバーソロミュー系男子を出したくて奮闘しています。その副産物として、綺麗なグラデーションヘアを出しやすくするプロンプトを見つけたので、備忘録的にシェアしておきます。

※ただ、このプロンプトは色の組み合わせによってはグラデーションがでませんでした。試した中だと、pink×green、pink×cyan、white×redはダメでした……。

white(白) × purple(紫) のグラデーションヘア

プロンプト

早速、プロンプトを紹介します。

{頭頂部の色} hair, [(gradient hair from {毛先の色} to {頭頂部の色}:1.4):0.4], {その他の髪の特徴}

例えば、次のように書くと黒から銀へのグラデヘアが作れます。

black hair, [(gradient hair from silver to black:1.4):0.4], short hair

Stable Diffusionは毛先から色認識を始めるようなので、順序を逆にすると色の順序が逆になります。

髪が短い場合はこれで十分なのですが、長髪の場合は"{毛先の色} inner hair"も組み合わせると毛先の色の範囲が増えて、よりそれっぽくなります。

black hair, [(gradient hair from silver to black:1.4):0.4], (silver inner hair: 0.8), long hair

"0.4"の部分は同系色の場合は"0.6"くらいのやや大きめの値にして、差の大きな色の場合は値は小さめのほうがはっきりしたグラデーションが出ます。
ただし値が小さくなるほど、ツートンカラーになったり、毛先の色一色の髪色になったりしやすくなります。
なので色の組み合わせに応じて、適宜バランス調整してください。

また、組み合わせによっては色が逆に出ることもしばしばあります。そのときは次のように"gradient hair"内部の色を逆に書くと狙い通りになる可能性が上がります。

pink hair, [(gradient hair from pink to blonde:1.4):0.4], medium hair
(pink hair:1.4), [(gradient hair from pink to blonde :1.4):0.4], (blonde inner hair:0.6), medium hair

かんたんな解説

[(gradient hair from silver to black:1.4):0.4]

この書き方の意味は、"(gradient hair from silver to black:1.4)"のプロンプトを全体のステップの40%以降からかけ始めるというものです。

[to prompt:when]

逆に40%までプロンプトをかけたい場合は次の構文を使います。

[from prompt::when]

途中からプロンプトを切り替える場合は次の通りです。

[from prompt:to prompt:when]

このプロンプトを使うと、2つの色を混ぜたような色合いの髪を生成できるようです。

"when"は1以上の整数を入れた場合、ステップ数そのものと判断されます。例えば"5"という値を入れると5ステップ目からプロンプトが適応され始めます。
なのでグラデーションヘアを作るという用途なら、0.0< x <1.0の値を入れるのが無難でしょう。

ということで最初に示したプロンプト、

{頭頂部の色} hair, [(gradient hair from {毛先の色} to {頭頂部の色}:1.4):0.4], {その他の髪の特徴}

この意味は「全体的には頭頂部の色の髪なんだけど、ステップの途中で毛先の色から頭頂部への色にグラデーションもかけ始めてね」ということになります。


以上です。よろしければ、いいねをいただけば幸いです。

いいなと思ったら応援しよう!