見出し画像

AIで2Dゲーム用スプライトを作る #2

第二回です。
前回はキャラクターのリファレンス画像を作りました。



■ 3Dモデル作成

▼ なぜ3Dモデルが必要なのか?

キャラクターをちびキャラにしているためです。SCAIL-2で参照する動きの動画 (公式には Driving Video と呼ぶらしい) とリファレンス画像の体格が違う場合、生成結果がおかしな事になるのでそれを回避するのが目的となります。

君なんか写真と違わない? ッテレベルジャネーゾ

つまり動かしたいキャラクターと同じ体格の3Dモデルが(Mixamo等で)手に入るのであればわざわざ生成する必要はありませんし、もしキャラクターがリアル体型なら自分自身の動きをビデオカメラで録画するだけでいい気もします (ただし演技力が試される)。

▼ Pixal3Dを使ってみる

画像から3Dモデルを生成できる Pixal3D を使ってみます。

Pixal3Dワークフロー
参照画像は真正面よりナナメ45°くらいのほうがいいらしい

出来たのがこれ。画像1枚からこれが生成できるとは驚きですね。そのまま3Dプリンターで出力して遊べそう... 持ってないけど。

というわけで3D化してみましたが、実はこれは使いません。
基本的に物理演算でふわふわしそうなもの (長い髪、大きい胸、スカートなど) は3Dで動かしにくいので、これらを消してシンプルな3Dモデルを生成します。

▼ 素体画像を作る

リファレンス画像をQwenImageEdit-2511で調整します。ワークフローはキャラの向きを変えた時と全く同じで、プロンプトだけ変更します。

Change hair style to pixie cut,
Remove headdress,
Reduce the size of the bust,
Change outfit to blue and white stripes swimsuit and bike shorts.
Keep pose and facial features identical.

でこんな感じになりました。

Before / After
うーん凄い

全裸&スキンヘッドでもいいような気がしますが、諸事情により服を着せてます。あと服を着てるほうがモーションの動きが見やすくてSCAIL-2の精度が上がるような気がしなくもないです。

▼ 改めて3D化

背景除去
Pixal3D実行
なかなかいい感じです

■ リギング

3Dモデルのリギング(ボーン入れetc...)をして動かせるようにします。一旦ComfyUIから離れて AccuRig というツールを使います。Mixamoのサイトでもリギングは出来ますが「ローカル環境でやる」という謎の縛りプレイをしています。

▼ GLB to FBX

AccuRigは.glb形式のファイルを読み込めないのでBlenderで.fbxに変換します。この時ついでにモデルの軸合わせを行います。

ナナメのリファレンス画像を使った影響で微妙な角度になっている。
XYZどの軸でもいいのでまっすぐ向いてて欲しい。
真下から見たほうが分かりやすい?
横側の角度は問題無さそう。でもアホ毛が…

真正面を向いていないとAccuRig的に都合が悪いので角度を調整します。

手足は無視して胴体を基準にするといいはず

せっかくなのでアホ毛も消しました。
修正が終わったらFBXでエクスポートします。

エクスポート前にマテリアルの Image_0, Image_1 のパック解除をしないとFBXにテクスチャを含められませんでした。
Blenderよく分からないけど動いたからヨシ!
geometory_0以下を選択してエクスポート
パスモードは "コピー"、その右側の "テクスチャを埋め込む" を有効にしてエクスポート実行

▼ AccuRigでリギング

.fbxが出来たので、これをAccuRigで開いて設定していきます。
特に難しいことはなく、指示に従ってポチポチしていくだけでした。

正面を向かせてセンターラインを設定
(この時、90°単位でしかキャラを回せないから事前に軸合わせする必要があった)
体のジョイント位置を設定
左右の指を設定 (指のモデル雑すぎ...?)

で最後に「Calibrate」実行で1~2分後くらいにリギングが完了します。

リギング完了

ここで「Add Motion」ボタンを押すと ActorCore で販売されているモーション (5,000個くらいある) を再生して確認できます。気に入ったモーションがあれば買いましょう。リギング後のFBXエクスポートもこちらから実行できます。今回は Character only でエクスポートしてキャラクターだけ使わせていただきます。

エクスポートして完了

今回はここまで。
次回、リギング済みキャラクターをゲームエンジンに組み込んで任意のモーションを撮影できるようにします。


いいなと思ったら応援しよう!