小ネタ:Tripo 開発企業の自動リギング AI・UniRig を試してみる
SIGGRAPH2025 で発表された自動リギング AI・UniRig を試した小ネタ。
UniRig とは
Tripo 開発企業の米国 Vast 社 × 清華大学による研究成果。
リギングについて、未だ職人技が求められる現状を解決するために開発したとのこと。
3Dコンテンツ制作の環境は爆発的に変化しています。洗練された従来のワークフローと、AIを活用した生成ツール(Tripoのものも含む)の急速な発展により、高品質な3Dアセットへの需要は急増しています。しかし、依然として重大なボトルネックとなっているのがリギングです。静的な3Dメッシュをスケルトンとスキニングウェイトを適用したアニメーション可能なキャラクターに変換する作業は、依然として複雑で時間がかかり、多くの場合は手作業で行われ、高度な専門知識が求められます。
自動リギング技術自体はこれまでにもありました(ex. RigNet)が、UniRig は「One Model to Rig Them All」の名の通りヒューマノイドから動物、さらには異形のキャラクターまで対応可能。
仕組みとしてはリギングの工程に沿って ① スケルトン予測と ② スキンウェイト予測の組み合わせでできています。
試してみる
実験の環境:
- WSL2:Ubuntu 24.04.1 LTS
- GPU:NVIDIA GeForce RTX 4090
まずは 3D モデルを準備
リギング対象の 3D モデルを準備する必要があります。
今回は Hunyuan3D-2 を使って画像から 3D モデルを生成してみました。
いらすとやの画像をお借りし、README 通りにセットアップして 3D 化。
glb
で吐き出されるので Blender にインポートして形の確認してみると平面になってしまう...?
元画像:
結果:
一度 GPT-4o を使って 3D っぽい質感に変換してから再度モデルに投入してみるとうまくいった。
変換後画像:
結果:
UniRig
こちらも README 通りだが uv
利用なので一部工程を変更して実行。
uv venv --python 3.11.6
uv pip install torch torchvision
uv pip install -r requirements.txt # requirements.txt から flash-attn を除外
uv add hatchling editables wheel
uv add flash-attn --no-build-isolation
uv pip install spconv-cu126 # 自分の環境に合わせて spconv をインストール
uv pip install torch_scatter torch_cluster -f https://data.pyg.org/whl/torch-2.7.0+cu126.html --no-cache-dir # 自分の環境に合わせて torch_scatter と torch_cluster をインストール
uv pip install numpy==1.26.4
精度はどうあれ、ボーンが入ったのは一旦確認できた。
結果:
おわりに
- UniRig の動作確認まで行った。実際にアニメーションを付けるところまでは試せていない
- 公式対応はまだっぽい:https://github.com/VAST-AI-Research/UniRig/issues/15
- ただコードの中を見ると Mixamo とか VRM とかうまくやれば対応できそうな雰囲気
- 公式対応はまだっぽい:https://github.com/VAST-AI-Research/UniRig/issues/15
- 今回はほぼヒューマノイドなのでありがたみが分かりづらいかも...?
Discussion