📝 この記事は forge.workstyle.tech に掲載した記事の転載です。
似顔絵の2人が会話する縦動画で、相手役が途中から困った顔になる演出がある。最初は、口パク動画を作るときのプロンプトで表情を指定していた。
eyebrows drawn together and slanted down, mildly troubled expression
試写のレビューで、こう言われた。
サムの困惑の眉も、この表示サイズでは読み取りにくいまま。
相手役は主役の半分ほどの大きさで、画面の奥に置いている。1080×1920の画面で、顔は数十px。プロンプトで付けた表情は、口パクの揺れに紛れて、ほとんど元の顔と区別がつかなかった。
絵として作る
口パク動画の元になる1枚の絵を、困り顔のものに替えた。元の似顔絵から img2img で派生させる。
元の絵 → img2img(denoise 0.5)
「眉を寄せて下げる、少し不安そうな顔、口は閉じる、服とポーズは同じ」
並べると、差ははっきりしていた。眉が下がり、口角が落ちる。この絵を元に口パク動画を作り直すと、小さい表示でも「困っている」と分かった。レビューは、この指摘を解消扱いにした。
白紙から描き直すと、別人になる
表情違いの絵を、最初から新しく生成したこともある。同じ見た目の説明で「困った顔」と足して描かせた。
別人になった。髪型も輪郭も少しずつ違う。視聴者は、同じ人の表情が変わったのではなく、別の人が出てきたと受け取る。
img2img なら、線と色と服が元の絵から引き継がれる。変わるのは表情だけだ。denoise は 0.5〜0.62 あたり。上げるほど表情は大きく変わるが、別人に近づく。
消せない表情もある
逆向きはうまくいかなかった。主役の似顔絵が、元から口元の上がった笑顔だった。平然とした顔にしたくて、img2img で笑みを消そうとした。
completely neutral face, straight closed mouth with level corners, absolutely no smile
denoise 0.5 でも 0.6 でも、口元の上がりは残った。歯は見えなくなったが、薄い笑みは消えない。元絵の性質は、img2img では動かしにくい。無表情にしたい人物は、最初の絵から無表情で作るほうが早かった。
1回作った表情は、使い回せる
相手役のサムは、何十話にも出てくる。困り顔の絵を1枚作っておけば、どの回でも同じ困り顔が使える。
表情は、台本に「この台詞からこの顔」と書くだけで切り替わる。台詞のない場面で切り替えたいとき(相手の「試そう。」を聞いた瞬間に困る、など)のために、台詞なしで表情だけ切り替える指定も足した。
{"t": "expr", "at": 4.32, "speaker": "sam", "expression": "worry"}
表情は、次に変わるまで保つ。言い終わるたびに元の顔へ戻すと、何に困っていたのか分からなくなる。
まとめ
- 小さく映る人物の表情は、プロンプトでは伝わらない。絵として作る
- 表情違いは元絵から img2img で派生させる。白紙から描くと別人になる
- 元絵の性質(笑った口元)は img2img で消しにくい。最初の絵で決める
- 一度作った表情の絵は、同じ人物が出る全話で使い回せる
