AIゲーム開発研究室

2026-09-24 11:32:00

第11回 TripoからMixamo、そしてUnityへ

AIゲーム開発研究室

3Dモデル制作ドキュメント


第11回 TripoからMixamo、そしてUnityへ

― これまで接続できなかったAI生成3Dモデルをゲームエンジンまでつなぐ ―


研究代表 大川 博
主任研究員 Arc(ChatGPT)


はじめに

これまでの3Dモデル制作では、Tripoで生成したパンタをゲームキャラクターとして使用するため、さまざまな検証を行ってきた。

3Dモデルの生成。

ゲーム利用を想定した軽量化。

Auto Rigによる骨格生成。

TripoのプリセットAction。

AIによるオリジナルAction生成。

Blenderへの受け渡し。

さらに、豊富なActionを持つMixamoとの連携についても検証してきた。

しかし、第8回と第9回では大きな問題が残った。

第8回では、MixamoのActionをTripoのリグへBlender上で直接適用した。

Tripoのボーンには、

mixamorig:Hips

mixamorig:Spine

mixamorig:LeftArm

など、Mixamoと同じ形式の名称が使用されていた。

しかし、実際にActionを適用すると、キャラクターが大きく移動したり、身体が傾いたりして正常には動作しなかった。

調査すると、同じボーン名であってもBone Rollなどに違いがあり、Mixamo純正骨格からTripo骨格へCopy Rotationによって動作を転送するリターゲット実験まで行った。

動作を転送すること自体はできたが、姿勢の補正が必要となり、ゲーム制作の実用工程としては複雑すぎるという結果になった。

そこで第9回では、別の方法を試した。

Tripoには、

スケルトンプリセット:ミクサモ

さらにFBXエクスポートにも、

FBXプリセット:ミクサモ

が用意されている。

それならば、TripoでMixamo用としてAuto RigしたパンタそのものをMixamoへアップロードできるのではないかと考えたのである。

しかし、結果は失敗だった。

Mixamoには、

Sorry, unable to map your existing skeleton.

と表示され、Tripoの既存スケルトンをMixamo側で正常にマッピングすることができなかった。

さらに、Tripoから出力したFBXを一度Blenderへ読み込み、Blenderから改めてFBXとしてエクスポートする方法も試した。

それでも結果は変わらなかった。

そのため第9回では、

TripoリグとMixamoの互換性については、結論を保留する。

そして、

この問題は後日、継続研究として改めて検証する。

として実験を終了した。

今回は、その続きである。

そして今回、

これまで一度も成功しなかった、TripoでAuto RigしたパンタのMixamoへのアップロードに初めて成功した。

そこから、

MixamoでのAction設定

Blenderへの帰還

マテリアルの復元

Animation OnlyによるAction追加

さらに、

Unityへの受け渡し

までを一つの工程として確認することができた。


1 BlenderタイプとMixamoタイプを比較する

最初に、TripoのFBXエクスポートに用意されている、

Blenderタイプ

と、

Mixamoタイプ

の違いを確認した。

AタイプのパンタをBlenderタイプでエクスポートし、Blenderへ読み込んだ。

アーマチュアは正常に含まれていた。オブジェクトのTransformは、

X軸回転0°

となっている。

 

02.png

 

次に、CタイプをMixamoタイプでエクスポートし、Blenderへ読み込んだ。

こちらにもアーマチュアが含まれていた。

骨格そのものは基本的に同じだったが、MixamoタイプではオブジェクトのTransformに、

X軸回転90°

が入っていた。

 

03.png

 

以後の検証では、このCタイプのMixamoタイプ出力を使用することにした。


2 Mixamoへアップロードできなかった原因を探る

第9回では、TripoでMixamoプリセットを使用して出力しても、パンタをMixamoへ正常に読み込ませることができなかった。

Blenderを経由してFBXを再出力しても結果は同じだった。

そこで今回は、骨格だけではなく、

モデルやマテリアルなど、骨格以外の構造

にも原因がある可能性を考えた。

実際、第9回の段階でも、今後検証すべき項目の一つとして、

「モデルやマテリアルなど、骨格以外の構造が影響しているのか」

という可能性を残していた。

そこで、Blender上でマテリアルを削除した状態のパンタをFBXとしてエクスポートし、Mixamoへアップロードした。

すると、

Mixamoへのアップロードに成功した。

これまで何度試しても読み込ませることのできなかったTripoのパンタが、初めてMixamo上に表示された。

これは、第9回から保留されていた問題を大きく進展させる結果となった。


3 マテリアルを削除しなくてもアップロードできる

次に、さらに条件を調べた。

マテリアルそのものを完全に削除する必要があるのかを確認するため、元のCタイプをBlenderへ読み込んだ。

パンタにはTripoで生成されたマテリアルとテクスチャが設定されている。

 

04.png

 

今回はマテリアル自体は残した。

その代わり、Shader Editorでテクスチャ等とPrincipled BSDFを結んでいるノードの接続を切断した。

これによってパンタは白い状態になった。

 

20.png

 

この状態でFBXとして書き出した。

今回使用したMixamoタイプでは追加の軸変換を行わず、そのままエクスポートした。

そしてMixamoへアップロードした。

結果は、

成功した。

 

05.png

 

つまり今回のパンタでは、

マテリアルそのものを削除する

だけでなく、

マテリアルを残したままノード接続を切る

方法でもMixamoへアップロードできることが確認できた。

ただし、今回の実験だけから、Mixamoで読み込めなかった原因そのものをマテリアルだと断定することはしない。

今回確認できた事実は、

マテリアルを削除、またはノード接続を切断したFBXでは、それまで失敗していたMixamoへのアップロードに成功した

ということである。


4 Mixamoでパンタ自身にActionを設定する

Mixamoへのアップロードに成功したことで、これまでできなかった実験が可能になった。

Mixamo上で、パンタ自身にActionを設定する。

今回はダンスなどのActionを選択した。

すると、

パンタがMixamo上で実際にアニメーションした。

 

09.png

 

第8回では、Mixamo ActionをBlender上でTripoリグへ直接適用しようとして正常に動作しなかった。

しかし今回は方法が違う。

TripoでAuto RigしたパンタそのものをMixamoへアップロードし、Mixamo上でパンタ自身にActionを設定している。

これによって、Tripoで生成したパンタとMixamoのActionを直接つなぐことができた。


5 パンタ付きのアニメーションFBXを書き出す

Mixamoからアニメーションをダウンロードした。

設定は、

Format:FBX Binary

Skin:With Skin

とした。

つまり今回は、Actionだけではなくパンタ本体も含めて書き出した。

 

10.png

 

このFBXをBlenderへ読み込んだ。

Action Editorにはアニメーションデータが存在し、パンタはBlender上でも正常に動いた。


15.png

 

これによって、

Tripo

↓

Blender

↓

Mixamo

↓

Blender

という往復が初めて成立した。


6 Mixamoから戻すとテクスチャ設定が失われていた

Mixamoから戻したパンタには、マテリアルのデータそのものは残っていた。

しかし、元のTripoモデルに存在していたテクスチャ等のノード構成は保持されていなかった。

Shader Editorを確認すると、基本的なシェーダー構成だけとなり、パンタは白く表示された。

 

06.png

 

そこで、元のCタイプのBlenderファイルからマテリアルを復元することにした。


7 元のパンタからマテリアルをAppendする

Blenderの、

File → Append

を使用した。

元のCタイプのBlenderファイルを開き、

Material

フォルダから、

tripo_mat_cb2b275b

をAppendした。

 

07.png

 

読み込んだマテリアルをMixamoから戻したパンタへ割り当てた。

すると、

パンタ本来のテクスチャが復元された。

白黒の毛並み。

青いリュック。

首元の色。

その他のテクスチャも元の状態へ戻った。

そして、マテリアルを復元した状態でもMixamoのActionは正常に動作した。

 

08.png

 

これによって、

Mixamoへ渡すために一時的にマテリアル表示を外しても、Blenderへ戻した後に元のマテリアルを再利用できる

ことが確認できた。

また、今回とは別にマテリアルそのものを削除してMixamoへ渡した場合についても、元のBlenderファイルからマテリアルをAppendして再設定することで、同様に復元できる可能性が高い。


8 別のActionでも確認する

Mixamoで別のActionをパンタへ適用した。

このActionについてもパンタ本体を含めてFBXとして書き出し、Blenderへ読み込んだ。

正常にアニメーションすることを確認できた。

 

09.png

 

11.png

 

これによって、特定の一つのActionだけが偶然動作したのではなく、複数のMixamo Actionをパンタへ適用できることが確認できた。


9 別キャラクターのAnimation Onlyをパンタへ使えるか

ここで、さらに効率的な方法を考えた。

Actionを追加するたびに、パンタ本体を含むFBXをダウンロードする必要があるのか。

Mixamoには、

Without Skin

でActionだけを書き出す方法がある。

そこで最初に、Mixamoの別キャラクターを使用して、

Joyful Jump

のActionを設定した。

 

12.png

 

これをモデルなしのAnimation OnlyとしてFBXで出力し、Blenderへ読み込んだ。

読み込まれたArmatureには、

X軸回転90°

Scale 0.01

が確認された。

 

13.png

 

このActionをパンタへAppendして適用してみた。

しかし、

パンタでは正常に再現されなかった。

この時点では、

別キャラクターを基準として書き出したAnimation Onlyを、そのままパンタへAppendする方法では正常に動作しない

という結果になった。

なお、Scale 0.01や座標変換などが確認されたが、それらが失敗の直接的な原因であるとは、この実験だけでは断定できない。


10 同じパンタからAnimation Onlyを書き出す

そこで条件を変えた。

別キャラクターではなく、

パンタ自身をMixamoへアップロードした状態で、新しいActionを設定する。

今回は、マテリアル自体を削除したパンタFBXをMixamoへアップロードした。

 

30.png

 

次に、

Run

のActionをパンタへ設定した。

 

31.png

 

今度はダウンロード設定で、

Skin:Without Skin

を選択した。

つまり、

モデルを含めず、Actionだけをエクスポート

した。

 

32.png

 


11 Animation OnlyをBlenderへ追加する

ダウンロードしたRunのFBXをBlenderへインポートした。

モデルは含まれておらず、ArmatureとActionデータが読み込まれた。

このファイルをBlenderファイルとして保存した。

 

33.png

 

次に、すでに2種類のMixamo Actionが設定されているパンタ本体のBlenderファイルを開いた。

 

34.png

 

File → Appendから、先ほど保存したRunのBlenderファイルを開き、

Action

からRunのActionをAppendした。

 

35.png

 

Action Editorを確認すると、

3つ目のAction

として新しいアニメーションが追加されていた。

実際に選択すると、パンタは新しいActionで動作した。

 

36.png

 

これによって、先ほどの失敗との違いが明確になった。

別キャラクターを基準として出力したAnimation Onlyでは正常に適用できなかった。

しかし、

パンタ自身をMixamoへアップロードした状態で作成したAnimation Onlyは、Blender上のパンタへ追加ActionとしてAppendできた。

この方法を使用すれば、Actionを追加するたびにパンタ本体を含めて書き出す必要はない。

パンタ本体を一つ維持したまま、

MixamoからAnimation Onlyを追加していく

という制作方法が可能になった。


12 Unityへ持ち込む

最後に、複数のActionと復元したマテリアルを持つパンタをUnityへ持ち込んだ。

Unity上ではパンタのモデルが読み込まれ、Animation Clipも認識された。

Animation Clipのプレビューでは、

パンタ本来のテクスチャを表示した状態で、Mixamoから追加したActionが再生される

ことを確認できた。

 

37.png

 

今回の検証では、Animatorによる複数Actionの切り替えやゲーム操作との接続までは行わない。

今回の目的は、

Tripoで生成したパンタをMixamoへ渡し、Actionを追加し、Blenderで管理し、Unityまで受け渡す

という制作工程が成立するかを確認することである。

その工程については、ここまでで確認することができた。


13 残った問題 ― 手の捻れ

今回、MixamoのActionそのものはパンタへ適用できた。

しかし、一部のActionでは、

手や手首付近が不自然に捻れる

現象が残っている。

この問題は、以前TripoのActionを検証した際にも確認されていた。第7回でも、腕を動かした際に手の部分が不自然にねじれる現象が記録されている。

今回MixamoのActionでも同様の現象が見られたことから、

TripoのAuto Rigによって生成された手周辺の骨格、

ボーンの向き、

ウェイト、

パンタの人間とは異なる手の形状、

Mixamo側が想定する人型骨格との違い、

などが関係している可能性がある。

ただし、現時点では原因を特定していない。

この問題は、

TripoとMixamoを接続できるかどうか

という今回の検証とは分け、今後のモデル品質・リグ品質の改善課題として扱う。

 

40.png

 


14 第9回で保留した問題はどうなったのか

第9回では、

Tripoの「ミクサモ」スケルトンプリセットでAuto Rigしたパンタを、「ミクサモ」FBXプリセットで出力しても、Mixamoへ既存リグ付きキャラクターとして読み込ませることができなかった。

そのため、

TripoリグとMixamoの互換性については、結論を保留する。

として実験を終了した。

今回、その状況が変わった。

Blender上で、

マテリアルを削除する

または、

マテリアルを残したままノード接続を切断する

という処理を行ったFBXでは、

TripoでAuto RigしたパンタをMixamoへアップロードすることができた。

さらに、

Mixamo上でパンタ自身にActionを設定できた。

Blenderへ戻してActionを再生できた。

元のマテリアルを復元できた。

同じパンタを基準としたAnimation Onlyを追加できた。

そして、

Unityまで受け渡すことができた。

第9回で「保留――つづく。」とした問題に対して、今回ようやく実制作による一つの答えを出すことができた。


15 今回の結論

今回の検証によって、Tripoで生成したパンタをゲーム用3Dキャラクターとして利用するための工程が、大きく前進した。

これまでMixamoへ正常に読み込ませることのできなかったTripoのAuto Rigモデルは、

Blenderでマテリアルを削除する

または、

マテリアルのノード接続を切断する

ことで、今回のパンタではMixamoへアップロードできた。

これによって、

Tripo

↓

Blender

↓

Mixamo

↓

Blender

↓

Unity

という一連の工程が初めてつながった。

さらに、Actionの追加についても重要な結果が得られた。

別キャラクターを基準として出力したAnimation Onlyをパンタへ適用する方法では正常に動作しなかった。

しかし、

パンタ自身をMixamoへアップロードした状態でActionを設定し、Without Skinで書き出したAnimation Onlyは、Blender上のパンタへ追加ActionとしてAppendできた。

これによって、一つのパンタ本体へMixamoのActionを追加していく制作方法も確認できた。


まとめ

第8回では、

Mixamo ActionをTripoリグへ直接適用する

ことを試した。

正常には動かなかった。

第9回では、

TripoのMixamoプリセットを使用したパンタそのものをMixamoへ渡す

ことを試した。

これも成功しなかった。

そして問題を、

「保留――つづく。」

とした。

今回、第11回。

その保留していた問題へ再び戻った。

マテリアルを削除する。

あるいは、マテリアルを残したままノード接続を切る。

それによって、

これまで一度も成功しなかったTripoモデルのMixamoへのアップロードが、初めて成功した。

そこから、

MixamoでActionを与える。

Blenderへ戻す。

元のマテリアルを復元する。

Animation Onlyで新しいActionを追加する。

そして、

Unityへ持っていく。

ここまでを、一つの制作工程として実際に確認することができた。

まだ手の捻れなど、モデル品質を高めるための課題は残っている。

しかし、それはもう、

Tripoで作ったパンタをMixamoへ渡せるのか。

MixamoのActionを利用できるのか。

ゲームエンジンまで持っていけるのか。

という問題とは別の段階の課題である。

第9回以前から残っていた大きな問題の一つに、ここで実制作による答えを出すことができた。

Tripoで生まれたパンタは、Mixamoで動きを与えられ、Blenderで再び制作素材となり、Unityまで到達した。

これによって、AIによる3Dキャラクター制作は、モデルを「作る」段階から、

 

ゲームで「使う」ための工程へ進んだ。