
お前がMidjourneyからサイバーパンクニンジャを召喚する方法
最近AIによる画像生成界隈がアツいですが、例に漏れずミーハーの私も流行りに乗ってここ1ヶ月間ほどMidjourneyを酷使する日々を送っています。
主な用途はTRPG(テーブルトーク・ロールプレイングゲーム)用のカットシーンや背景イメージ、キャラクタービジュアルなどの生成で、直近の活用例では『ニンジャスレイヤーTRPG』向けのファンメイド・サプリメント記事にMidjourney製の画像を挿絵として取り入れるなどしています。
元々キャラクタービジュアルや挿絵あるいはハンドアウト類も最低限は自分でDIYしていたのですが、品質や時間的リソースの問題があり、また外注するにしても分量が多すぎる……と頭を悩ませていたところ、ひたすらリテイクを重ねても怒られないAI生成ジャンルの流行が飛び込んできたのが本格的に手を付け始めるきっかけでした。
色々と弄り倒す過程では「ニンジャスレイヤー」の2次創作として、大量のサイバーパンク・ニンジャを生み出そうと試行錯誤してきたわけですが、この記事ではその成果である「ニンジャスレイヤーっぽいキャラをMidjourneyから錬成するコツ」のようなものをまとめたいと思います。
もっとも、技術的な仕組みや考え方的な箇所は他の方が散々記事にされていますし、私もよく分からないので特に深掘りはしません。「なんとなくこうするとそれっぽいのができるらしい」ぐらいの感覚で読んで頂ければと思います。
※Midjourneyの基本的な使い方を知っている方向けの記事となります。
とりあえずこうしておけ

腰から上と言いつつMidjourneyくんはバストショットを生成しがち
Midjourneyは何らかの学習の結果、特定のキーワードを使うとこういった構図の画像が生成されやすい、という作法ないし法則があります。
そんなわけでウエストショット的なキャラクタービジュアルを生成したいときは、とりあえず次のキーワードを頭に付けてやるとそれっぽい構図になります。
キャラクターのコンセプトアートを生成したい character concept art
コンセプトアート的な絵柄で生成したい concept art
腰から上を生成したい waist up
逆に何度やっても構図が偏るような場合、これらのキーワードを後ろに移動させると、生成パターンに動きが出るようになります。
※Midjourneyのアルゴリズムは、最初に記載したテキスト群が主題として全体に影響を及ぼしやすい。
お前のニンジャのシルエットを決めろ

キャラクターを生成する際、その全体的な体格やシルエットを指定してあげるのは意外と有効です。例えば性別、筋肉量などです。
一般的なキーワードは次の通り。
性別から輪郭や骨格を制御 female, male, guy, man, woman, lady, girl, boy, young
特徴的な体格を指定して制御 massive, skinny, exoskeleton, creature
後者のキーワードについては、どういうこと?と疑問に思われる方もいらっしゃるかもしれません。要するにこれらは、全体的な骨格バランスを制御するために、抽象的なイメージを持ったキーワードを指定している形となります。
massiveやskinnyは非常に分かりやすく、「筋肉質でガタイが良い」だとか「痩せて骨ばっている」といったイメージの指示になります。特にmassiveは大胸筋が発達した逆三角形のシルエットを作りやすくなります。一方で性別を明確に指定していないと、胸部が発達した女性のシルエットに派生してしまう可能性もあります。
exoskeletonは「強化外骨格」や「パワードスーツ」的なキーワードで、ロボット的な肩幅の広い体格に加えて、腕は細いというmassiveとskinnyの中間的な体格を生成できます(機械的要素も付随するため注意)。
creatureはmassiveとexoskeletonを混ぜたような骨格バランスとなり、より怪物的な、人体とは異なる関節や骨格構造のキャラを生成するのに役立ちます。creatureのみを指定した場合は当然ながら怪物的な何かが生成されますが、先のように「character concept art」など人間のキャラクターを想起させるキーワードを頭に付けていれば、そちらに引き摺られてヒューマノイド型からは逸脱しにくくなります。
逆に言うと「creature concept art」などにしてしまうとモンスターが生成しやすくなるということですね。
その他体型に関連したキーワード
その他、より具体的な体型イメージ、つまり「太り具合/痩せ具合」の指示に使用できるキーワードを生成例と併せて次に提示します。

thick:スラングで「くびれのあるナイスバディな体型」
fat:太っている
chubby:ぽっちゃりした体型

thin:痩せてほっそりしている
boney:ガリガリの体型
anorexic:拒食症めいて痩せた
humanoid:人間型
人物の属性を決定づけるキーワード

よく見ると左側の眼が二重に生成されている
生成したいキャラクターが素顔を露出した人間の場合、髪型や人種、目の色などを指定することで「その系統の顔」に寄せてあげることも可能です。
ただし後述のようなAIの弱点に由来して、目の色が思うように反映されづらい、前髪を伴うヘアスタイルが綺麗に生成されづらいという難点もあるため、思い通りの形に整えるには少々試行錯誤が必要になるでしょう。
例えば眼を青色にしたい場合:blue eyes
例えば金髪の短髪にしたい場合:blonde short hair
人種的な特徴を持たせたい場合:latin, negroid, caucasoid
お前のニンジャのファッションスタイルを決めろ

ジャケットを重ね着しているのは予想外だが確かに黄色いジャケットを着てくれた
全体的なシルエットが決まったら次はファッションスタイルを決める時間です。つまり、生成しようとしているニンジャがミリタリー風なのかストリート風なのか、あるいは民族風なのかといった外見の属性を指定してやる必要があるわけです。
軍隊系 military, soldier, BDU, body armor, camo
サイバー系 body suit, cyber suit, tech wear
ストリート系 shirts, hoodie
一般的衣服 business suit, jacket, coat
ここについては基本的にイメージする衣服に関連するキーワードを入れてあげると、比較的素直に反映されます。例えばケルト風の衣装、などふわっとした表現でも問題ありません。その際「black suit」などカラーを指定すると、具体的にこの衣服の色指定なんだな……と認識されやすく、よりイメージに近い生成物を得られやすくなるでしょう。

なおこの際、指定した衣服そのもののデザインが生成されてしまうこともあるため、AIに意図がうまく伝わっていないと感じる場合、単語ではなく「The Man in the Black Suit」のように「黒いスーツを着た男性」を生成したいんだと短文で指示を出すのも時には重要です。
また副次的な恩恵として、具体的な胴体パーツ=衣服の情報を指定することになるため、腰から上が写ったウエストショットが生成しやすくなる効果もあります。
アーマーを纏え

ベースの衣装デザインが決まったら、次は別の要素を混ぜ込んで、オリジナリティや変化をつけることを考えます。一般的な衣服デザインのままで良いのであればここを考える必要はありませんが、ニンジャは「戦闘するサイバーパンクのキャラクター」なのでそれらしい要素を付け加えてあげた方がベターでしょう。
軍隊系 body armor, ballistic vest, bomb suit, bandoiler
甲冑系 armor, armor plate, fullplated-armor, metal plated
サイバー系 cyber armor, exo, tech, mechanical, robotic, metal implant
残念ながら具体的にキーワードを指示したとしても想定通りに重ね着やコーディネートが組まれる事はめったにありませんが、こうしたキーワードを入れておくことで2つのファッションスタイルが融合した特徴的な外見が生まれやすくなります。
好きなカラーをブチ込め

特に髪色や服色を指定していなかったので全体トーンに統一されてしまった
Midjourneyでは色の名前を指定することで、全体的な色調をコントロールする事も可能です。ただし上記の生成例のように、個別の要素について色を指定していない場合、全体色調の指定に引きずられてしまうので注意が必要です。
全体色調をコントロールしたいときは、次のようなコマンドを後ろの方に追加します。
(例えば)ウォーターグリーンの色調にする water-green tone
カラフルにする colorful
モノトーンにする monotone
ネオンで飾れ

なぜフルメタルなバウンサーが生成されたのかはよくわからない
色の指定は「色調」以外の方法でも十分に可能です。特にサイバーパンクなキャラクターを作りたい場合はneonやLEDといった、それっぽい発光体の類をキーワードとして追加することで、間接的に全体の色をコントロールすることが可能です。
特に上記2点のキーワードを加えると、リムライト(輪郭を照らす逆光的なあれ)がネオンライト風に強調されたり、衣服などに発光ラインやパーツが追加されたりといった効果を得ることができます。
サイバーパンクを盲信するな

蛇皮ジャケットを着たゾンビに見える気もするが、とりあえずサイバーパンクっぽい
キャラクターを生成する際には、強力なキーワードとして「ジャンルを指定する」というテクニックもあります。ファンタジー、SF、あるいはサイバーパンクといった具合に、キャラクターデザインを参照する先のジャンルを決めてやるわけです。
しかしサイバーパンクニンジャを作りたいからと言って、必ずしもcyberpunkというキーワードを付与するのがベストな選択肢とは限りません。ジャンル指定は両刃の剣であり、それらしい方向にデザインを誘導できる一方で、生成されるデザインが「指定したジャンルで良くあるデザイン」に偏りがちになってしまうという弱点もあります。
つまりサイバーパンクのキャラだからといってcyberpunkというキーワードを強調して使用しすぎると、デザインが単調になってしまいがちなので注意しましょうということです。他の要素について具体的な指定をしたうえで、あるいは副次的に使用すると適度に方向性を誘導する助けになるのがジャンル指定キーワードです。
イカしたヘルメットを被れ

生成しようとしているキャラクターがフルメンポ(ヘルメット)やマスクで顔のほぼ全てを覆っているならしめたものです。特に難しいことを考えず、次のようなキーワードを追加してあげるだけで無限にバリエーションを作ることができます。
helmet, mask, face mask, balaclava, gasmask
ただし生成のテーマに据える場合を除き、「角の生えたヘルメット」などの形で装飾類を指定しても無視されがちなため、元々角が生えていることが一般的なヘルメットの固有名詞を指定してあげるなどの工夫は必要になってきます。
お前のニンジャに混沌を呼び込め

ここまでの生成例を見ると、AI特有の歪みのようなものは見られますが、基本的には過密というほどの情報量があるわけではないことが分かるかと思います。ですが時には混沌とした……つまりごちゃっとしたデザインのキャラクターが生成したい場合もあるわけで、そんなときには次のようなキーワードを混ぜ込むことでデザインを「めちゃくちゃ」にすることも可能です。
chaos, evil, creature, monster, fractal, mess
これらのキーワードを効果的に使うためには、ケーブルや鎖、あるいは生体的な何かなど、ごちゃごちゃした塊になる可能性のあるものをキーワードを取り入れておくことが好ましくなっています。
AIで完結させようとするな
アップデートで少しずつ改善されているものの、Midjourneyにも明確な弱点はあります。それは主に人間の顔関係で、特に目鼻口や眉などの形状や、そこに関連したアクセサリとの共存性の低さです。
例えばこんな現象がしばしば発生します。
目の中に目が生成される
黒目がスペースを埋め尽くし白目がなくなる
左右の非対称性が異常に強調されて歪む
眉毛とまつ毛ラインが合体する
眉毛が消える
鼻先の形状がピカソ的な多視点の融合体になる
メガネがアンダーリムしか生成されず、皮膚にめり込む
ゴーグルやマスクと顔が融合して一体化する
ゴーグルやバイザーなど半透明のパーツから覗く限られた範囲に顔のパーツが密集する
こうした問題については生成コマンドによってどうにかなるものではなく、ひたすらバリエーションを生成しながら良いものが出るのを待つか、手作業で修正を加えてやるしか対処法はありません。
この記事では後者の方法を推奨します。つまり、これらの問題に対処するため、まずAIで全体像が自身のイメージに合致するものを生成し、その後にペイントソフトの変形ツールなどで形状を補正するという工程を取るのです。
人体彫刻せよ

最終的な画像の完成度を上げるには、AIに由来する弱点を手作業で修正してやるほかありません。そう聞くと非常に専門的な工程があるのではないかと身構えられる方もいらっしゃると思いますが、実際には幾つかのポイントさえ抑えればそれほど難しいことではありません。
※筆者は加工の工程にClip Studio Paintを使用していますが、最低限の機能があるペイントソフトであれば何でも対応可能な内容になります。
①目の輪郭が綺麗に生成されない場合

こういったケースは非常に頻繁に発生するため、まずは眼が片方だけでもマシな形状になるまで再生成を繰り返してください。そのうえで、マシな輪郭の眼を反転コピーします。





②白目と虹彩のバランスが崩壊している場合

良くあるパターンとして、AIが眼の影と黒目や虹彩を区別して認識できず、エイリアンのようなバランスになっていることがあります。ある程度の範囲に白目が残っていれば塗り拡げることができますが、上記のようなケースではもう描くしかありません。




③鼻や口の形状が歪んでいる場合

目と同様に形状不具合が起きやすいのが鼻と口です。これらも幸いにして片側だけはなんとなくマシな形状に生成されることが多いのですが、コレばかりは目ほど簡単に修正ができません。選択範囲を移動させる「歪みツール」などを使って気合で形状を補正します。




※上記図は分かりやすいように残す箇所を黒色にしている

細かい部分までは誰も見ていないので雰囲気修正できればそれで良い。
ここまでに紹介した工程を使って本項冒頭の画像を修正してみた例が次の通りです。限定的な箇所へのレタッチながら、注視した際の「顔」の違和感が大分軽減されたことが分かります。


メンポ職人は別に雇え

ここまで来るとニンジャのトレードマークでもあるメンポを一緒に生成したくなることかと思いますが、先述の弱点によって顔面と融合したり、あるいは存在することによって顔のバランスが崩壊しやすくなったりとデメリットが多いため、残念ながら推奨はできません。これはAIがメンポの下にある顔のパーツを認識していない(表面の形状≒外観だけを認識学習している)ことが原因のようです。
逆に言うと、顔全体を覆い隠すヘルメットやフェイスマスクなどであれば、これらの問題を気にせず一括生成しても良いということですね。
ではどうすれば良いのかというと、装着するキャラクターとメンポは別々の画像として生成し、後から合成してしまいましょう。








細部は滲んでしまうが、どうせ誰もそこまで見ていないので気にしない

このとき既にある影の色を拾って使用する。




光の反射と映り込みを再現し、全体を馴染ませる意味合いがある。



今回は少し苦労しましたが、こうした合成の工程を取る場合は、メンポとキャラクターの画風が近くなるように生成するのがポイントです。例えばcharacter concept artのようにコマンドの頭に付与して主題を決定するキーワードや、全体の色調を決定づけるキーワードは、メンポ生成時/キャラクター生成時に原則同じものを用いることで画風の剥離を抑えることが可能です。
本記事の例では生成時に『character concept art』や『concept art』を必ず使用していますが、これはフォトリアル調になりすぎない厚塗り風の絵柄を参照し、全体的に画風を寄せてくれるためです。
お前のニンジャに不要なもの

いわゆる「立ち絵」に使えるようなウエストショットを生成したいのであれば、rain(雨が降っている)だとかcyberpunk cityscape(サイバーパンクの街並み)など、キャラクターの属性に関係しない要素をキーワードで指定するのはNGです。
これはキャラクター以外の情報をAIが画面に取り入れようとするため、キャラクターそのもののサイズが小さくなってしまったり、他の要素に引っ張られて細部が潰れてしまう可能性が高いためです。環境光を再現したい場合はカラートーンやライティングの指示に留め、形状に関わるキーワードは可能な限り削減しましょう。
お前がニンジャを作るための"強い"キーワード


MANGAより1色あたりの塗面が広く、背景がリアル寄りに(最近のアニメ映画の影響?)
Midjourneyで画像を生成する際、「この単語を使うと特定の構図/画風が生まれやすい」という、極めて影響力が"強い"キーワードが存在します。ここまでのセクションでも幾つか強いキーワードに触れてきましたが、以下ではウエストショットに限らず様々な画像の生成のヒントになるキーワードを紹介します。
アニメ調の画像にする anime
漫画/イラスト調の画像にする manga
※体感としてanimeよりmangaのほうが強力
リアル調の画像にする Unreal Engine
※AIがアンリアルエンジン=高画質&写実的という学習をしている為
フォトリアル調の画像にする Photo Real
※アンリアルエンジンより写実的な画像になるが、
キャラデザは逆に写真等に引っ張られて創作的なデザインになりづらくなる。
またキャラ自体より現実的な背景などのほうがリアル調が濃くなる。
キャラの立ち姿を生成する standing
(雨が降っている背景で)キャラの立ち姿を生成する raining
※「雨」という要素に濡れた路面や水たまりが含まれるので、足元まで生成されやすくなる
面頬を生成する mempo-mask
※ここで言う面頬は現実の武者鎧などに見られるサムライ・メンポのこと
なんかいい感じにする epic, ultra detail, high detail
※描き込みや情報量が多いタイプのイラストを参照するようになる(と思われる)
"悪い"イメージを持たせる evil, badass, demon, devil
※副次的な装飾に使用することで、"悪魔的な"要素を加えることができる
"不気味な"イメージを持たせる creepy, terror
"機械的な"イメージを持たせる mechanical, metal, robotic, exo

影や質感の具合が明らかにリアル寄りに

背景などの質感がUnreal Engineより遥かに写実的に。しかし衣服の質感や背景も含め、全体的に現実に近い要素で固められている。
キーワードを選ぶコツ

AIに生成する画像の要件を指定するキーワードには選び方のコツが存在します。実際には先に述べた"強い"キーワードのように、AI学習が進んで指向性を持たせやくなったものもありますが、筆者は『その単語で画像検索した際に望む画像が出てくるか』が1つの基準として使えると考えています。

例えば上記の画像のように『全身に眼球のようなパーツがあるキャラクター』を生成したい場合、「大量の目」だとか「眼球の塊」のようなキーワードはほとんど機能しません。Google画像検索などで調べてみると、抽象的なキーワード過ぎるからか合致するイメージが少ないことが分かります。
一方で上記の画像を生成する際には『shoggoth eyes』というキーワードを指定しています。これは明確な固有名詞であり、画像検索してみても、確かに無数の目を持った不定形のクリーチャーが幾つも登場します。
必ずしもこの法則が当てはまるとは限りませんが、うまく意図した画像が生成されない場合は、まずキーワードが適切かどうか画像検索を試してみても損はないでしょう。
最後に

MidjourneyやAI画像生成の分野は現状万能というわけではありませんが、ちょっとした挿絵を生成する分には申し分ない段階まで来ており、特にこれまでPRが難しかった文字媒体の創作を彩り、分かりやすくするという分野では非常に活躍してくれるのではないかと考えています。
これまで創作物に『オリジナルの画像を使う』という発想がなかった方にもぜひ、本記事をきっかけに色々とAI画像生成の活用方法を模索して頂ければと思います。
それでは良いMidjourneyライフを!