【Unity】Unityちゃんにダンスを踊ってもらう

Unity

キャラクターにモーションをつけるにはどうしたら良いか、学びの第一歩として実装してみました。
今回は第一歩ということで”ありもの”を組み合わせて作成していきます。
(モデルはUnityちゃん、モーションはMixamoというサービスから落としてきたものを利用)

Unityバージョンは「2022.3.23f1」となっています。
それでは早速始めていきます。

スポンサーリンク

Unityちゃんの配置

ダウンロード

Unityちゃんを公式ページからダウンロードしましょう。

ダウンロード - UNITY-CHAN!

自分は以下のモデルをダウンロードしました。(「形式」は「unitypackage」版をインストール)

ダウンロードしたらUnitynにインポートします。
自分は「Assets」フォルダ直下にインポートしました。

ピンク表示の解消

「UnityChan」-「Prefabs」フォルダの中にあるプレファブをシーンにセットします。

が、配置するとピンクの状態になってます。
これは、正しくシェダーが適用されてないからです。

修正の仕方として、
体のパーツで、マテリアルがアタッチされてるシェダーの指定を変更していきます。

例えば、帽子の箇所。
Shaderの選択状態が「Hidden/InternalErrorShader」となってます。

これを「Standard」にすると正しテクスチャが反映されます。

少し大変ですが、これを全パーツ箇所同じ対応をすれば解消されるはずです。
※環境によっては解消されない可能性があるので、その場合はググってください。

不要な機能を削除

この状態でシーンの「再生」をするとCanvasに操作ボタンが表示されます。

今回、これらの操作UIは不要なので無効化しておきます。
以下、ピンク枠のスクリプトのチェックを外しておきましょう。

ダンスモーションを設置

Mixamoからモーションをダウンロード

今回「Mixamo」というサービスから利用したいモーションをダウンロードします。

Mixamo

会員登録が必要なので、会員登録をまず実施します。
会員登録後、ログインすると以下の画面が表示されますので、ここから好きなモーションをダウンロードしていきましょう。

自分は「Samba Dancing」というモーションを選択しました。
気に入ったモーションが見つかったらオレンジのボタン「DOWNLOAD」を選択します。

すると、以下のモーダルが表示されますが、
今回の場合、特に指定しなくても問題はないのでオレンジのボタン「DOWNLOAD」を選択します。

ダウンロードを実施すると、拡張子「fbx」ファイルがダウンロードされているはずです。

fbxをUnityにインポート

ダウンロードしたfbxファイルをUnityにインポートします。
インポート箇所は任意ですが、今回、Assets直下にインポートしました。

更に利用する状態に設定するため、
インポートしたfbxのファイルを選択して、Inspectorビューから「Rig」タグを選択 => 「Animation Type」を「Humanoid」に指定し、「Apply」 ボタンで適用を確定しておきます。
※ここまですると、fbxの中に「Samba DancingAvator」というファイルができているはずです。

Unityちゃんにモーションを適用する

アニメーションコントローラーの作成

インポートしたダンスモーションをUnityちゃんに適用するために、新しくアニメーションコントローラーを作成します。
このアニメーションコントローラーにダンスモーションをセットし、アニメーションコントローラーをUnityちゃんにアタッチするという手順です。

と、いうことでまず新しくアニメーションコントローラーを作成していきましょう。
「UnityChan」-「Animators」の中に「Animator Controller」を作成し、ファイル名を「UnityChanSamba」としました

「UnityChanSamba」を開いてAnimatorビューより、以下のように実装をしました。

やったこととして、、
1) 新しく「SambaDance」ステートを作成
2) 「Entry」ステートを「SambaDance」ステートに繋ぐ
3) インポートしたfbxの中にあるアニメーションファイル(mixsamo.comというファイル名)を「SambaDance」ステートの「Motion」にアタッチする。

アニメーションコントローラーをUnityちゃんにアタッチ

最後に、作成したアニメーションコントローラーをUnityちゃんにアタッチします。

Hierarchyビューより、Unityちゃんオブジェクトを選択して、Inspectorビューを表示します。
「Animator」の「Controller」要素を、作成した「UnityChanSamba」に差し替えます。

実装としては以上になります。

確認

それでは再生して確認して見ましょう。
以下のようにUnityちゃんがダンスしていれば成功です!

タイトルとURLをコピーしました