Cascadeurで楽してUnity対応モーションを作る

物理のちからってすげえ

はじまり

3D制作の情報サイトを見ていたら、物理挙動ベースのモーション制作ソフト「Cascadeur」なるものを発見。

今までモーション制作と言えば、キーフレームのモーションを作る度にほぼすべてのパーツを手作業で動かす必要がある、それが嫌ならモーキャプスタジオを借りると思ってたんですが、この動画にある「どこかのパーツを動かすと他のパーツも当たり障りない程度に動いてくれる機能」がすごい衝撃的でした。

他にも、物理シミュレーションを利用して衝突や床判定、ジャンプの挙動を再現することもでき、ああ、これは革命が来たんだなあ……と思ってCascadeurを触り始めた所存です。

アニメーションが300フレーム未満・モデルのボーン数120未満でないとエクスポート不可・その他商用利用の制約などちょっとした制約がありますが、なんとタダで触れます。今すぐダウンロード!

今回はCascadeurでアニメーションを作って、それをUnityに持っていくまでの行程を書いていきます。

下準備

Cascadeurをインストールして起動します。

スプラッシュスクリーンが出ます。ここから各種テンプレートを選んで早速アニメーションを作れますが、せっかくなので自分の好きなモデルを持ってきてみます。

“New scene”を押します。

モデルをインポートする

”File” メニュー -> “Import Fbx/Dae” -> “Model”

ファイル選択ウィンドウが開くので、好きなアバターのfbxを選びましょう。Unity上でHumanoidタイプで動かすことを想定したアバターであれば大丈夫……なはずです。

本記事ではオレンジみかん栽培所さんのアイルロース2〈デュオ〉を使っていきます。

基本の視点操作

  • Alt + マウス左 で上下左右に移動
  • Alt + マウスホイール押下 で上下左右に平行移動
  • Alt + マウスホイール上下 でズーム

基本的にAltを押しながらなんかする、といった感じです。blenderに慣れているとちょっとしんどいかも。

リグを設定する

この時点でボーンを動かしていってポーズを作れますが、このままだと例の「どこかのパーツを動かすと他のパーツも当たり障りない程度に動いてくれる機能」(以下、AutoPosing)が使えないので、CascadeurにこのモデルをHumanoidモデルの認識させる必要があります。そう、リギングです。

”Objects” メニュー -> “Quick Rigging Tool”

リグの設定をするウィンドウが出てきます。

ウィンドウ左側のCONFIGURATIONの欄にはモデルに使われているボーンがずらりと出てきます。ここから身体の各関節にあたるボーンを選んでドラッグし、右側の対応するパーツのところにドロップします。ボーンの名づけは製作者によって多少の違いがあるので、頑張って探して埋めましょう。以下は一例です

一通り設定し終わったら、ウィンドウ下の “Create prototypes rig”を押します。

水色のガイドなどが出てくるので、いい感じにモデルの中に入っているのを確認したら、左側に出てきたRigging toolsの “Create rig” を押します。水色のガイドがしぼむのを確認したら、上のアイコン群から “Enable AutoPosing tool” を押します。

緑色のガイドが出てきたら、明るい緑色の点をクリックしてぐりぐり動かしてみましょう。アクティブじゃない他のパーツが動いていればちゃんとAutoPosingが効いています。お疲れさまでした。

アニメーションの作り方は割愛します。上の動画はジャンプアニメーション作成のチュートリアルとなっているので、真似してみると操作にも慣れて一石二鳥です。

アニメーションをエクスポートしてUnityに持っていく

アニメーションを一通り作り終えたらエクスポートします。

が、そのままだとボーン数120未満の制約に引っかかる可能性が非常に高いので、アニメーションに関係ない余計なボーンをArmatureから削除していきます。事前にプロジェクトのセーブをしておきましょう。

UI右側にOutlinerというのがあるので、UnityのHierarchyみたいなリストからArmatureを探して展開、ここにモデルのボーンがすべて格納されているので、アニメーションに関係ないボーンを全部選択してDelキーで削除します。プレビュー画面でメッシュが消失しますが、エクスポートに問題はない(はず)なので大丈夫です。

この時点では完全にボーンが消えたことにはならず、Armatureの外に削除したはずのボーンがまだ残っているのでこれを再び選択し削除します。

”File”メニュー -> “Export Fbx/Dae” -> “Scene”

この時点でボーン数120を超えていると警告画面が出てエクスポートできません。

ファイル名と出力先を決めると早速エクスポートが始まります。ディレクトリ名に全角文字が含まれていると何もエクスポートされないので注意。

無事fbxファイルが出力できたら、Unityのプロジェクトを開き、fbxファイルをインポートします。

Import Settingsにおいて、RigのAnimation TypeをHumanoidとし、Applyを押します。

Animationの、Root なんたらかんたらのBake Into Poseにチェックをつけ、Applyを押します。

Unity上でアニメーションを繰り返し再生すると、繰り返しの度にモデルの向きや位置がどんどんずれていく場合があります。Bake Into Poseにチェック入れることでそれを防止できます。

右にあるloop matchというのは、Bake Into Pose適用時のアニメーション繰り返し時の自然さを緑・黄・赤で評価しているやつです。緑が出ていればまあ問題ないでしょう(適当)

あとはプレビュー画面にアバターのプレハブをもっていき、動作確認して大丈夫そうならインポート完了です。お疲れ様でした。

おわり

Cascadeur側はメッシュが消えているので、閉じる際は保存せずに終了するようにしましょう。

作ったアニメーションは普通にゲームに取り入れたり、VRCで披露してみたりすると良いでしょう。AFKとか。