PR

立ち絵の表情差分イラストの作成方法を解説します!

AIの使い方
記事内に広告が含まれています。

こんにちは。
ハピネスワークKRです。

ゲームでキャラクターを作り、
そのキャラクターが会話をするシーンを作る時
表情の差分を作りたくなりますよね。

NTRディスピュートのゲーム画面

AIイラストで差分を作る方法として有名なのは
Stable Diffusionの「inpaint anything」という手法。
しかしこの方法は意外と納得のいく絵が生成しづらい。

inpaintで表情差分を試みたアーシャ
どこか表情がボケている

筆者もこの方法をトライしたのですが、
今一つ納得のいく絵が
思った絵が生成できないことがあるんです。

 

キャラクターの立ち絵やイベントイラストは
出来るだけ同じような絵を生成したいですよね

そこで今回は、作者が実践している
「同じキャラの差分を作る方法」
解説していきます!

是非、最後までご覧ください!!

 

こちらの記事では立ち絵の作り方を解説しています。
是非こちらもご覧ください。

 

差分生成の時に大事なポイントはこれ

Stable Diffusionで差分を生成する際、
押さえておくべきポイントはズバリ以下の通り。

 

  • プロンプトを後半の表情以外一致させる
  • シード値を固定する
  • ControlNetで姿勢やアウトラインを固定する

 

この3つを押さえておけば
表情差分を生成することが可能になります。
例えば、こちらのように。

smile  angry crying
ティルの表情差分(NTRディスピュートより)

表情豊かな差分ですよね!
この差分を作る際のポイントを
より詳しく、次の章以降では解説していきます。

 

ポイント①:プロンプトの一致

Stable Diffusionでイラストを生成する場合、
プロンプトと呼ばれる英単語を当てはめることで
イラストを生成していきます。

このプロンプトが一致していないと
AIは異なる絵を生成してしまうため
プロンプトを出来るだけ一致させましょう。

 

プロンプトを記載する際に、
①絵の質を決めるプロンプト
②キャラクターの体型や髪色のプロンプト
③服装のプロンプト
④表情のプロンプト

のように順番を決めておくと
差分を作りやすくなると思います。

プラスで抑えるべきコツ

ワンポイント、追加のコツをお伝えします。
それは表情を表すプロンプトを
後半に持ってきたうえで生成することです。

(良い例)1girl, standing, school uniform, long skirt, black eyes, open mouth, smile
(悪い例)1girl, open mouth, smile, standing, school uniform, long skirt, black eyes

やや専門的な話になりますが、
Stable Diffusionは先に記載されたプロンプトに
優先的な重みを付けて絵を生成します。

つまり、最初に表情に関連するプロンプトがあると
差分を作る時に思わぬ誤差を生じる可能性があるのです。
いきなり色が変わるなどは、特に避けたいところです。

 

画像生成AIが生成するイラストを想定通りにするには
プロンプトの順番も重要であるというのは、
必須の知識なので是非押さえてください。

 

ポイント②:シード値の固定

プロンプトが一致していても、
異なるイラストを次々生成するのが
画像生成AIです。

そんな生成AIに同一人物を出してもらうには
「シード値」と呼ばれる項目を一致させてあげる必要があります。

darkelf2 darkelf1
同じプロンプトで生成した絵

シード値を固定することで
上のように「特徴が同じだけど違う絵」を
生成することを防ぐことができます。

なお、シード値を固定しても
プロンプトを微調整さえすれば
全く同じ絵が生成されることはありません

 

ポイント③:ControlNetの活用

そして、もう一つ押さえておきたいのが
ControlNetを活用することです。
ここを抑えると更に生成の精度が上がります。

特にチェックしておくべきControlNetは

  1. Scribble
  2. Canny
  3. Openpose
    の3つです。

こうしたControlNetを活用する理由は
キャラのアウトラインを一定にするため

特に差分はポーズが同じという
制限をかけて絵を生成する必要があるため、
アウトラインを固定するのが大事になります。

それぞれのControlNetを
順番に軽く解説していきます。

①Scribble

Scribbleは「落書き」という意味の通り
絵の外観を大雑把に読みとり
アウトラインを絵に反映させて生成する技術です。

例えば、こちらの線画から
Scribbleを使って生成したイラストが
こちらです。

NTRディスピュートに登場するセリル

既に生成された絵や用意した絵から
アウトラインを抽出することも可能です。

このScribbleはいろいろと応用が利くため
是非使用したい機能です。

②Canny

CannyはScribbleの精密版とも言える機能。
線画を更に細かく抽出して
生成する絵に反映させます。

例えば、先ほど登場してもらった
セリルの絵をCannyに読み込ませると
こんな線画が出来上がります。

非常にディティールが細かい線画になるため
塗り絵のための線画作成にも応用できそうです。

かなり細かく線が固定されるため
より精密にイラストのアウトラインを固定できます

ただその分、目を閉じた表情と開いた表情など、
少し異なる絵を作るには工程が増えるという
欠点もありそうです。

③Openpose

Openposeは棒人間を写真や絵から読みとり
姿勢を固定する機能です。
特に写真から読み取るのが得意です。

先ほどのイラストであれば、
こんな棒人間が出来上がります。

ただ、このOpenposeだけ
イラストから細かいポーズを指定するのは困難です。
特に、手や足の形を指定するのが難しい。

イラストからポーズを指定したい場合、
Openposeはサブとして知っておくといいでしょう。

 

まとめ

如何だったでしょうか?
今回は、表情の差分を作成する方法
解説してきました。

おさらいをすると、以下の通りです。

  • プロンプトを後半の表情以外一致させる
  • シード値を固定する
  • ControlNetで姿勢やアウトラインを固定する

こうした点に注意すれば、
Stable Diffusionを利用して
表情差分をつくることができますよ!

キャラクターの表情差分を作ることで、
あなたのゲームに登場させるキャラクターを
活き活きとさせてみてくださいね!

 

こちらの記事では、
表情差分の発展形とも言える
エッチな立ち絵の差分の作り方を解説しています。

そちらも、是非読んでみてください。
ではまた!

\ 最新情報をチェック /

コメント

PAGE TOP
タイトルとURLをコピーしました