MkItYs

MkItYs > 心身 / 技術 / 文化 / 社会 / 倫理 > 

images

まとめ:ゲームエンジンで3Dキャラメイク+α:DAZ, Unity

images

DAZ の3Dキャラを使って、キャラメイク・物理演算・自律制御などを、Unity でやってみます。


背景

ゲームエンジンでアニメ系のキャラを使うとき、3Dモデルの(オリジナルの)形式でよく利用されるのが、MMD/VRM/FBX あたりでしょうか。[※1]

問題

ただ、それらのキャラをゲームエンジン上で統一的にあつかおうとすると、ボーンやメッシュに違いがあるため、けっこう厳しいものがあります。

とくに容姿や体型を変形させるキャラメイクは、同一メッシュ上のモーフで実現することが多いので、もとの3Dモデルにそういったしかけがないと、ゲームエンジンだけで実装するのはそうとう困難です。[※2]

主題

ここでは、DAZ の3Dキャラをアニメ調に変換して、ゲームエンジン(Unity )上でキャラメイク(容姿や体型の変形・衣装替え)をやってみます。[※3][※4][※5]

さらに、より人間味をもたせるために物理演算(実在感のあるふるまい)や自律制御(自律歩行・擬似会話)も試してみます。


※1
これは、ボーカロイドの伝統(MikuMikuDance: MMD)や、アニメ系キャラメイクツールの利用(Vroid Studio: VRM )、VR系SNSでの利用(VRChat: FBX )、などが要因としてあるでしょうね。
※2
ドワンゴ社が推進するVRM 形式は、クロノスグループの3Dモデル統一規格(glTF)の拡張になっていますがーーただメッシュの作りは自由なので、キャラメイクという点では厳しいものがあります。
※3
ここでは、Unity 標準の機能とベンダが提供する機能のみを使って実現しますーー有料のアセット(Final IK, PuppetMaster, etc.)や既存のアプリ(VaM , etc.)は使いませんーーその方がしくみをよく理解し〜制御できるようになると思うので。
※4
DAZ 3D社が提供するUnity/Blender 向けの変換ツールは、いったんFBX に変換し、それぞれの環境に取り込みます。
※5
AIのマルチモーダルへの対応で、3Dのキャラクタについても、かなり精密なものが生成できるようになってきましたーーそうなると必要になるのは、生成された3Dモデルを整形する、キャラメイクツールでしょう(解析的なAIモデルによる生成では、どうしても制御できない部分が出くるので、論理的な手法で補う必要があります)ーーまたゲームエンジンで動かすキャラは、エンジン側でキャラメイクする方が自然です(シェーダなどの違いによる)……ただAIが生成した3Dモデルのメッシュは、DAZ のメッシュと正確に同じにする必要があり、このあたりに課題があるかもしれませんが。
3Dキャラをカスタマイズする:リアル調/アニメ調:DAZ Studio
images



汎用ジョイントの基本(物理ベースのキャラを動かす力):Unity (ConfiguarableJoint)
images



キャラクタ・メイキング(容姿や体型を変える/表情を変える/髪や服を取り替える):Unity (BlendShapes, Hair, Cloth) , DAZ, VRoid



物理ベースのキャラに実在感を与える(振り向かせる、重みや抵抗、など):Unity (Quaternion)



物理ベースのキャラを、強化学習で自律的に歩かせる:Unity (ML-Agents (Walker)), UnityChan, VRM (VRoid) , DAZ



大規模言語モデル/音声認識/音声合成/感情分析を使う:ChatGPT (gpt-3.5-turbo) , GPT-3 (text-davinci-003) , FlexGen, Azure Cognitive Services (Speech SDK)