spacevision

ガジェット好きのアマチュアサイクルフォトグラファー

Codexペットでオリジナルキャラを作ってみた。

OpenAIのCodexに、ちょっと面白い機能が追加された。

Codex pets

 

しかも、ただ既存のキャラクターを選ぶだけではなく、自分でオリジナルキャラクターを作れるらしい。

これは試すしかない。

ということで、私はさっそくオリジナルキャラクター作成に取り掛かることにした。

あのTOJキャラ「けんいんぼうや」

今回作りたいのは、2019年のツアー・オブ・ジャパン(TOJ)で印象に残っているファンアート、「けんいんぼうや」だ。

あの「けんいんぼうや」

この年のTOJを追っていた人なら、あの独特の存在感を今も覚えている人は私だけではないはず。元ネタは、ロードレーサーの佐野淳哉選手と、街角でおなじみの「とびだしぼうや」を融合させたようなファンアート。東京ステージでは、Cyclowiredにも「『牽引坊や』も東京にたどり着いた」という写真が掲載されたほどなのだ。

つまり、ただの自転車キャラではない。

「佐野淳哉選手らしさ」
「とびだしぼうやらしさ」
「TOJのファンアート感」
「小さなペットとして成立する視認性」

このあたりを全部、限られたサイズのキャラクターに詰め込む必要がある。

ここが今回の一番面白いところだった。

いきなりhatch-petで作り込まない

最初に考えたのは、Codexのhatch-petだけでキャラクターを作り込む方法だった。

ただ、実際に触ってみると、これは少しもったいない。

hatch-petはトークンをかなり消費する。

もちろん、キャラクターの方向性を直接詰めていくことはできる。
しかし、髪型、表情、服装、ポーズ、色、元ネタの要素、シルエット、デフォルメ具合……と細部を調整しようとすると、試行回数がどうしても増える。

小さなキャラクターほど、実は情報設計が難しい。

リアルな一枚絵なら、多少情報量が多くても絵として成立する。
しかし、ペットのような小さなキャラクターでは、細部を入れすぎると潰れる。
逆に削りすぎると、元ネタが伝わらない。

だから今回は、あえて前工程としてGPT-Image2を使った。

GPT-Image2で「情報量の整理」を先にやる

私がGPT-Image2でやりたかったのは、単にきれいな画像を作ることではない。

目的は、小さなキャラクターに必要な情報と、不要な情報を切り分けることだった。

たとえば、今回の「けんいんぼうや」では、入れたい要素が多い。

佐野淳哉さん!

佐野淳哉選手を想起させる雰囲気。
自転車競技選手らしいサイクルジャージ。
とびだしぼうや的な立ち姿。
ファンアートとしての親しみやすさ。
Codexペットとしての小ささと視認性。

これを全部そのまま詰め込むと、ただの情報過多なキャラになる。

そこで、まずGPT-Image2でキャラクター案を出しながら、どの要素を残すべきかを確認した。

ポイントは、細かい描き込みではなく、シルエットと記号性だった。

小さなキャラクターで一番大事なのは、見た瞬間に何者かわかること。

「自転車選手っぽい」
「とびだしぼうやっぽい」
「ファンアートっぽい」
「けんいんぼうやっぽい」

この印象が残れば勝ち。

逆に、ジャージの細かな柄やロゴ、リアルな体格、顔の細部などは、ペット化したときには潰れやすい。
そこを無理に再現しようとすると、キャラクターとして弱くなる。

再現性で重要だったのは「元ネタの構造」

今回難しかったのは、「佐野淳哉選手」と「とびだしぼうや」を混ぜるという点だった。

これは単に、選手の画像をデフォルメすればよいわけではない。

元ネタの構造を整理すると、こうなる。

まず、ベースにはロードレーサーらしさがある。
サイクルジャージ、競技者らしい体のライン、スポーティな印象。

そこに、とびだしぼうやの要素が乗る。
正面性、単純化された顔、少し記号的な立ち姿、道路標識的なわかりやすさ。

そして最後に、TOJのファンアートとしての文脈が加わる。
ガチの似顔絵ではなく、見る人が「ああ、あれね」とわかるくらいの親しみやすさ。

この3つを混ぜる順番を間違えると、キャラが崩れる。

佐野淳哉選手に寄せすぎると、ただのミニ選手になる。
とびだしぼうやに寄せすぎると、ただの道路標識キャラになる。
TOJ文脈が弱いと、ファンアートとしての意味が薄くなる。

だから、GPT-Image2ではまず「どの要素を主役にするか」を探った。

私の結論としては、主役はとびだしぼうや的な記号性
そこに、サイクルロードレースの要素を足す。
さらに、元ネタを知っている人には「けんいんぼうや」とわかる程度に寄せる。

このバランスが一番よかった。

ベース画像

hatch-petには「完成形」ではなく「整理済みの設計図」を渡す

hatch-petでいきなり細部を詰めるのではなく、GPT-Image2で方向性を固める。

これには明確なメリットがある。

hatch-petに渡す段階で、キャラクターの設計が整理されているからだ。

たとえば、こんな情報をあらかじめ固めておく。

キャラクターの頭身。
正面向きか、横向きか。
顔のパーツはどこまで単純化するか。
髪型はどの程度残すか。
服装はどの色を優先するか。
ロゴや模様をどこまで省略するか。
ポーズは走るのか、立つのか。
元ネタらしさは、顔で出すのか、服で出すのか、シルエットで出すのか。

ここを曖昧にしたままhatch-petに投げると、毎回違う方向に解釈されやすい。

逆に、GPT-Image2で事前に試しておけば、hatch-petでは「キャラクター化」に集中できる。

これはかなり大きい。

トークンを節約するという意味でも重要だが、それ以上に、キャラクターの一貫性を保ちやすい

小さなキャラ作成のコツ

今回やってみて、Codexペット用のキャラクター作成にはいくつかコツがあると感じた。

まず、情報を入れすぎないこと。

小さなキャラクターでは、細部はほとんど見えない。
だから、再現したい要素を全部入れるのではなく、見た瞬間に伝わる要素だけを残す。

次に、シルエットを優先すること。

服の柄や顔の細部よりも、キャラ全体の形のほうが印象に残る。
頭の大きさ、体の小ささ、立ち姿、手足の角度。
このあたりでキャラクター性が決まる。

そして、元ネタの「見た目」ではなく「構造」を再現すること。

今回で言えば、佐野淳哉選手をリアルに似せることより、
「ロードレーサー × とびだしぼうや × TOJファンアート」
という構造を崩さないことのほうが大事だった。

最後に、GPT-Image2を下絵・設計工程として使うこと。

hatch-petで完成まで持っていくのではなく、事前にImage2で情報量を整理する。
これだけで、かなり作りやすくなる。

 

生成AIでキャラクターを作る面白さ

今回の「けんいんぼうや」作りで改めて感じたのは、生成AIでキャラクターを作る作業は、単なる画像生成ではないということだ。

むしろ、編集に近い。

何を残すか。
何を削るか。
どこまで似せるか。
どこから別キャラとして成立させるか。

その判断の連続だった。

特に、元ネタがあるファンアート系のキャラクターでは、再現性とデフォルメのバランスが難しい。

似せすぎると重くなる。
削りすぎると伝わらない。
小さなペットにすると、その難しさがさらに出る。

だからこそ面白い。