LoginSignup
8
5

Unity公式キャラモーション生成AI(MuseAnimate)使ってみた

Last updated at Posted at 2024-05-02

UnityMuseとは

Unity公式の生成AIサービス群です。
既存のUnityライセンスとは別に、UnityMuse専用のライセンスが必要です。
(15日間の無料トライアルがあります。)

このドキュメントではキャラクタアニメーションに関する生成AIであるMuseAnimateを使用する方法と、これを使用してみた感想を記載します。
生成されるのはHumanoidに対応したAnimationClipです。

公式リンクはこちらです。
Unityブログ
UnityMuseサイト

始め方

Unityインストール

Unity2022.3以降のUnityをインストールしてください。
手元の環境のUnity6では動作しなかったので、2022.3.2Xを使用しています。
Unity6でのエラーメッセージ、UnsupportedUnityVersionのポップアップエラー画面

PackageManager経由でのインストール

MuseサイトでAnimate/GetStartedを押すと、PackageManager経由のインストール方法を表示されます。

UnityMuseサイトでのインストール方法のスクリーンショット、パッケージマネージャー自体の使い方や、パッケージのURLが記されている。

Unityのパッケージマネージャーのプラスボタンから「Add package by name」を選択します。
PackageManager経由のインストール方法。AddPackageByNameのメニュー表示されている

「com.unity.muse.animate」を記入し、Addボタンを押します。
PackageManager経由のインストール方法。AddPackageByNameのメニューにcom.unity.muse.animateを入力している。

タブにMuseメニューが出てくるので、NewAnimateGeneratorからツールを起動します。
MuseAnimationツールの起動方法、タブから起動する。

アカウントを選択します。
利用規約等のポップアップが表示されます。
MuseAnimationツール内の、アカウント選択画面。

生成に関する設定

空欄に生成したいアニメーションに関するプロンプトを入力します。

Generationsは一度に生成するモーション数です。
まとめて生成して、近いものを選ぶのがいいですね。
1~4までの数字を指定可能です。

Duration(sec)でアニメーションの長さを指定出来ます。
ちなみに3(秒)で設定したアニメーションでは、174フレームのAnimationClipが生成されました。
あくまで目安だと思います。
1~5までの数字を指定可能です。

MuseAnimationツール内の生成に関する設定の画面が表示されている。

生成

汎用系なモーションを生成

とりあえず簡単そうな単語を入力してアニメーションを生成してみます。
「walk happy」としてみます。

MuseAnimationツール内の画面、WalkHappyで生成したアニメーションの結果が表示されている。

いい感じですね。
歩き方が軽快な感じとか、上を向いている感じとかhappyだなと思います。

こちらは「roll」のプロンプトです。
MuseAnimationツール内の画面、Rollで生成したアニメーションの結果が表示されている。

こちらもいい感じですね。
前後の立ち姿勢の指定はしてないですが、ゲームでよくある使い方になっていると思います。

ポーズが重要なモーションの生成

Unity公式サイトのOKポーズを想定し、アピールモーションを生成してみます。
Unity公式サイトの画像、UnityChanがThumbsUpしている。

プロンプトは以下とします、具体的な単語はGoogle翻訳で得ました。

  • アピール(Appeal)
  • 右手で親指を立てる(thumbs up with right hand)
  • 左手を腰に当てる(put your left hand on your waist)
  • 頷き(nod)

MuseAnimationツール内の画面、ThumsUpなどで生成したアニメーションの結果が表示されている。

前述の2つのアニメーションと比較して難易度が高いようで、なかなかイメージするアニメーションが生成されませんでした。
何度が生成し近いアニメーションを選びましたが、それでも左手の位置がイメージと異なります。
修正していこうと思います。

編集に関する設定

ツール画面下部の【Make Editable】ボタンを押下し、【EditOptions】を表示させます。
生成したアニメーションをいくつかの区間に分割して編集しますので、分割の粒度を指定出来ます。
スライダーを右に動かすほど、分割が細かくなります。
どの程度分割されるか、どのタイミングで分割されるかはアニメーションの内容によって変動するようです。

Make Editableを押下後に表示されるEditOptionsの、分割具合のスクリーンショット

EditOptionsで【Done】ボタンを押すと編集画面に入れます。
EditOptionsで【Done】ボタンを押した後に表示される編集画面のスクリーンショット

手首、足首などいくつかの部位を移動/回転コントロールできるようです。
肩などの部位は移動のみコントロールできるようでした、エイムのような概念のようです。

KeySettingから分割区間ごとの設定が出来ます。

  • Transition Duration...その区間をどれだけの長さとするか。右(カメのアイコン)に動かすほど、長く取るようです
  • Extrapolated Pose...オンだとこの区間の最後までポーズを維持しているように感じました。オフだと区間の最後は次のフレームに遷移しています
  • Loop to first pose...最終区間のみオンにすることが出来ます。オンの場合は開始区間の最初のポーズとつながり、いわゆるループモーションとなります。

EditOptionsで【Done】ボタンを押した後に表示される編集画面のスクリーンショット

ある程度修正出来ました。
MuseAnimationツール内の画面、ThumsUpなどで生成し、修正したアニメーションの結果が表示されている。

出力に関するボタン

AnimationClipは画面下のExportから保存可能です。
出力ボタンのスクリーンショット

編集画面からの書き出しは画面上のアイコンから行います。
出力ボタンのスクリーンショット

実際にアニメーションをキャラクターに流す

生成したアニメーションを、SDUnityChan、UnityChan、Robotに流してみます。
Humanoidアニメーションですので、当然問題なくリターゲットしてくれます。

WalkHappyのプロンプトで生成されたAnimationClipを、SDUnityChan,UnityChan,Robotに流した動画

Rollのプロンプトで生成されたAnimationClipを、SDUnityChan,UnityChan,Robotに流した動画

ThumbsUpのプロンプトで生成されたAnimationClipを、SDUnityChan,UnityChan,Robotに流した動画

感想

歩きや前転など、汎用的なモーションを気軽に作れるのは非常に便利だと思います。
Unityエディタのみで、誰でも簡単に、数秒で生成できることは、イテレーションの観点から何にも変えられないメリットだと思います。
生成が難しいアニメーションでも、ある程度修正可能な点も素晴らしいと思います。

しかし何度生成しても足の接地感は気になりました。
また修正画面においてはいくつかの不便を感じてしまいました、主に感じた点は以下です。
(私が操作方法に気がついていないだけであれば申し訳ないです)

  • 指の編集が出来ない
  • ローカル回転を直接制御できない骨がある
  • アニメーションカーブを確認する事ができない
  • タイミングを数値で調整する事ができない
  • FullBodyIKのように、1つのコントローラの操作で全身が動く。この際に再推定が走っているのかかなり重い
  • SceneViewと視点操作方法が異なる
  • Ctrl+Zの戻る操作が使えず、画面上の戻るボタンを押す必要がある

微細な調整が難しく、商業レベルで使うのはかなり難しいと感じます。
他のAIサービスと同様に「エンジニアがモック開発で使うくらいならできるかも」くらいの精度だと感じました。
とは言え「歩き」「武器攻撃」などのベーシックなアニメーションはAssetStoreに並んでいますし、UnityChanのパッケージにもいくつか含まれているので、基本的にはそれらを使用させていただくのがいいと思います。
望みのアニメーションが見つからない場合の選択肢の1つとしては覚えておこうと思います。

あとすごく細かいですが、セッション単位で.assetファイルが生成される点は正しいのかは気になりました。
Assets/MuseAnimateSessinsフォルダが生成され、Session.assetファイルが複数個作成されていスクショ

また精度向上はもちろん、足滑り、カクつきを抑えるなどのオプションや、全ての骨のローカル回転を指定できるモードがほしいと感じました。
他のサービスでは画像や動画をヒントにしてアニメーションを生成してくれるものもあるので、そういったアプローチにも期待したいです。

いずれにしても記事執筆時点ではPreviewパッケージなので、今後に期待したいと思います。
個人的にはとても面白い取り組みだと思うので、アップデートがあれば追っていきたいです。

その他リンク

https://unity-chan.com/contents/guideline/
https://unity-chan.com/download/releaseNote.php?id=UnityChan
https://unity-chan.com/download/releaseNote.php?id=SDUnityChan
https://assetstore.unity.com/packages/3d/characters/robots/robot-kyle-urp-4696?locale=ja-JP

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5