色指定可!プロンプトだけできれいなグラデーションヘアを出す【Stable Diffusion】
最近、理想的なバーソロミュー系男子を出したくて奮闘しています。その副産物として、綺麗なグラデーションヘアを出しやすくするプロンプトを見つけたので、備忘録的にシェアしておきます。
※ただ、このプロンプトは色の組み合わせによってはグラデーションがでませんでした。試した中だと、pink×green、pink×cyan、white×redはダメでした……。
プロンプト
早速、プロンプトを紹介します。
{頭頂部の色} 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
かんたんな解説
[(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], {その他の髪の特徴}
この意味は「全体的には頭頂部の色の髪なんだけど、ステップの途中で毛先の色から頭頂部への色にグラデーションもかけ始めてね」ということになります。
以上です。よろしければ、いいねをいただけば幸いです。