画像生成AIでモブキャラのサムネイルを生成する
2023/6/25
モブキャラのサムネイルには画像生成AIが最適
現在弊社で開発しているJoggleというフィットネスゲームにはクエスト機能があり、訪れた街でモブキャラが簡単な仕事を頼んできます。
これらのモブキャラ達の種類を増やすため、画像生成AIによる顔画像の大量生成を試みました。
まだ実際に使用するかは未定ですが、今日までの過程をここに記載しました。
画像生成AIの目覚ましい発展が注目される反面、まだゲーム開発の現場などで本格的に導入されていない背景には、下記のような理由があります。
同一のキャラクターを安定して生成することが難しい
没個性的で、人間が生み出したキャラクターの魅力には到底敵わない
手の表現などが不得意で、奇妙な形の手足を生成させてしまう
今日現在も、目まぐるしい速度で新たな手法が開発され、これらの弱点も次第に克服されつつあります。
ですが、上記のような現時点での弱点がむしろ強みとなるような使い方を見つけたので、思い切って全面的に導入してみることにしました。
その使い方とはズバリ「モブキャラのサムネイル」です。
より正確に言うと、「サムネイルの一枚絵としてしか登場しないモブキャラの大量生成」です。
なぜ画像生成AIにとって、この仕事が最適なのでしょうか。
理由1:顔の異なるキャラクターを無限に生成してくれる
「同一のキャラクターを安定して生成することが難しい」と言う弱点は、裏を返せば「顔の異なるキャラクターを無限に生成してくれる」と言うことです。
無名のその他大勢であるモブキャラにとって、このことは大きな強みです。
理由2:ちょうど良い没個性
メインのキャラクターを生成するのが目的であれば、没個性であることは致命的です。
ですが、モブキャラにとってはその没個性こそが良いのです。
悪目立ちせず、主人公キャラクターを引き立てることがモブキャラの存在意義なのですから。
理由3:そもそも手足は描かない
先ほども触れたように、今回はモブキャラたちはサムネイルとしてのみ登場します。
基本的にサムネイルはバストショット(顔から胸まで)ですので、そもそも手足は映り込みません。
画像生成AIの弱点である手足の描画は、この使用目的においては全く問題になりません。
Leonardo.ai
今回は、Leonardo.aiという画像生成サービスを利用しました。
画像生成AIといえば、誰でも無料で使えるStable Diffusionが有名で、商用利用も可能とされています。
ただ、使用するモデル(AIの学習結果を保持するデータ)によっては商用利用不可だったり、現在は商用利用可能なモデルでも今後ライセンスが変更される可能性もあるなど不安要素が残ります。
そのため、商用利用を前提としている有料のサービスを使用することにしました。
Leonardo.aiは、まだ登場したばかりのサービスですが、生成する画像のクオリティが非常に高く、また操作性も優れているので、簡単に思い通りの絵を生成させることができます。
画像生成の方針
最終的なゴールは「息子にお弁当を渡すのを忘れちゃったの。代わりに届けてくれないかしら」というクエストを頼んでくる女性モブキャラの生成です。
また、画風は80年代の日本のアニメ黄金時代のスタイルを目指すことにしました。
その理由として、90年代から現在までのスタイルよりも、80年代のスタイルの方が「大人の人間」を描くことに優れており、より多様性がある人物が許容されていたと考えたためです。
美少女やイケメン以外が登場することを許され、格好いい歳の取り方をしている魅力的な人物たちが登場していた頃のアニメのスタイルです。
また、当時はハードSF小説からストレートに影響を受けている作品が多く、現在開発しているゲームの世界観であるSFとの親和性がより高いのではと言う期待もありました。
まずは適当に生成してみた
適当に下記のようなプロンプトを入力して、初期設定のまま出力してみました。
Three-quarter bust shot, 80's anime, sci-fi, middle-aged, female, in a clean futuristic sci-fi room, smily, best lighting
美少女やイケメンを基準にスタイルを絞っていくと、最終的にそのスタイルが多様性のあるモブを描けるのか判断がつきません。
そのため最初から、いかに中年女性を魅力的に描けるかに焦点を合わせました。
その結果、以下のような出力結果となりました。
生成された瞬間は、この女性たちが発する強烈な威圧感に驚き、椅子から転げ落ちそうになりました。
思い描く「80年代風アニメ」に近づけていく
上記のマダムでも既にSF感は充分に出ているので、少しずつ80年代風アニメに近づけていくことにします。
もう既にプロンプトには「80's anime」という火の玉ストレートを投げ込んであるのですが、まだアニメ感が弱いです。
"80's"という単語は"anime"とは結びつかずに、毛量の多さにとして表現されてしまったのかも知れません。
フワフワの髪がバックライトに照らされて紫に色に透けている感じは、最高に80年代のPVを醸しています。
ここから文言を少しずつ入れ替えながら、微調整に取り掛かります。
フラットにしてみる
アニメの線画とセル塗りを表現するため、”flat, outlined”をプロンプトに追加してみました。
Three-quarter portrait, best quality, 80's anime, flat, outlined, sci-fi, middle-aged, female, in a clean futuristic sci-fi room, smily, best lighting
先程の威圧感は薄れ、すこしアニメに近づいてきました。
また、"80's"の言葉の意味も、80年代文化全般というよりは、少しずつ80年代アニメという意味に使われ始めているような気もします。
ですが、もう少しフラット感を強調したいところです...
さらにフラットにさせたいので、少しだけプロンプトを変えてみました。
Three-quarter portrait, best quality, 80's anime, (flat), outlined, sci-fi, middle-aged, female, in a clean futuristic sci-fi room, smily, best lighting
フラットのキーワードをカッコで囲んでいます。
Stable Diffusionでは括弧は強調として解釈されるのですが、もしかしたらお作法が異なるのかも知れません。
別の観点からフラットさを強調するために、"cell"という単語を追加してみました。
セル画調の画質を作り出すのに効果があるようです。
Three-quarter portrait, best quality, 80's anime, flat, outlined, cell, sci-fi, middle-aged, female, in a clean futuristic sci-fi room, smily, best lighting mirror
ようやく、思い通りの画風が出せてきました。
ただ、まだサブキャラ感がありますね。
印象に残るようでいて残らない、絶妙なモブ感にはもう少し工夫が...
おかん爆誕
具体的に年齢を入れてみることにしました。
Three-quarter portrait, best quality, 80's anime, flat, cel, outlined, sci-fi, middle-aged female in her 40s, in a clean futuristic sci-fi room, smily, best lighting
すると見事に、おかん爆誕!
まさに「息子にお弁当を渡すのを忘れちゃったの」というセリフが似合いそうです。
人種や体型などの特徴を入れると、さらに多様なおかんを生成出来ました。
多様性のあるモブキャラの生成
上記のプロンプトを基本にして、老若男女さまざまなモブキャラを生成してみました。
こうして並べてみると、少しスタイルにばらつきを感じますが、数多く生成させた中からスタイルに統一性のあるものを選び出すことで対応できそうです。
プロンプト自体で画風を安定させることができたら、また追って記事にしたいと思います。
次世代技術を利用したアプリ開発プロジェクトに参加できます!
Vitalify Asiaでは、Unityや先進的な技術を使用したアプリを日々開発しています。
幅広い分野にて効率的なアプリケーション開発が可能ですので、お気軽にお問い合わせください。