ENGINEER BLOG

ENGINEER BLOG

Cascadeurで3Dアニメーションを作ってUnityで使ってみる

こんにちは。
入社2年目、SCI本部の鈴木です。
今回初めてエンジニアブログを執筆させていただきます。

私は普段、業務上でも趣味でもBlenderやUnityに触れる機会があり、3Dモデルを扱うことが多いです。
3Dモデルを扱う上で避けて通れないのがアニメーションの技術。
それも人型を扱うとなるとなかなか手間がかかるのですが、それを手助けしてくれるソフトウェアを見つけたのでこの場でご紹介させていただきます。

ソフト紹介

Cascadeur

Cascadeurとは、キャラクターアニメーション用の3Dアニメーションソフトウェアです。
複雑なアニメーションの作成を助けてくれます。
https://cascadeur.com/

公式サイトのチュートリアルが基本的な操作を細かく説明してくれており、
豊富なサンプルシーンをもとに使い方を学ぶことができます。
公式サイトは全て英語ですがそのままGoogle翻訳をかけてもとくに文章が破綻しなかったので
英語が苦手な私でも問題なく進められました。
https://cascadeur.com/learn/how_to_begin
sumple

アニメーション作成

今回はUE4 SK MANNEQUINを使用します。
Mannequin

基本操作

  • カメラ回転
     Alt+左クリックでドラッグ
  • カメラ移動
     Alt+ホイールクリックでドラッグ
  • カメラズーム
     Alt+ホイールスクロール or Alt+右クリックでドラッグ

(UnityもBlenderもこのソフトもカメラ操作の仕方がバラバラなのって不思議だと思いませんか?)

  • 頂点移動
    point controller modeに変更して、頂点を選択してから移動させます。
    このように選択していない頂点も連動して動いてくれるので、関節が破綻してしまうようなことが起こりにくいです。
    頂点移動

  • 頂点回転
    移動モードをRotateに変更。(Eキーを押してもOK)
    円をドラッグするとオブジェクトが回転します。移動と同様に周りの頂点もある程度一緒についてきてくれます。
    頂点回転

  • 拳の握り方
    Box controller modeに変更し、指の最初の骨のボックスをダブルクリックすると、その指全てが選択されます。
    Shiftを押しながら全ての指に同じ操作を行うと全ての指が選択できます。
    ローカルモードに切り替え、テールボタンを押すとらせん状のアイコンが出るので、回転を行うと指を曲げることができます。
    拳

ほかにも機能はありますが、基本的に以上の操作を覚えておけばマネキンのポーズを変えることはできます。

キーの設定

アニメーションのキーを設定します。
キーといわれてもピンとこない方がいらっしゃると思いますがパラパラマンガのページを1枚ずつ設定していくイメージです。

画面下部のタイムラインをクリックし、鍵マークを押すと、キーフレームを設定することができます。
keyflame

設定した各キーは独立しており、10フレーム目でマネキンのポーズを変えても0フレーム目のマネキンのポーズは変わりません。
あとはパラパラマンガの要領でマネキンを動かしてキーを追加を繰り返していきます。
30フレームで約1秒です。

ということでパンチのモーションを作成してみました。
右下の再生ボタンで再生してみましょう。
パンチカクカク

4枚しかキーを設定していないためとてもカクカクしていますね。
これではまだ実用に足るとはいえません。
ここからがこのソフトウェアの本領発揮です。

キーフレームの補間

全てのキーフレームをドラッグで選択し、補完選択メニューでBezierを選択します。
タイムラインの選択範囲が青くなるのでそのまま再生してみましょう。
ぬるぬるパンチ
動きがなめらかになりました!(gif画像だと少しわかりにくいかもしれませんが……)

Unityでの取り込み

ここからは作ったアニメーションをUnityで使う方法を解説していきます。

まずはシーンをまるごとFBXとしてエクスポートしましょう。
export

Unityを起動してモデルを用意しておきましょう。
今回はUnityちゃんを使用します。
https://unity-chan.com/contents/guideline/
UnityChan

さきほどエクスポートしたFBXからアニメーションだけをとりだします。
FBXをproject内に取り込んでアニメーションファイルを選択しEditを押すと、設定が開きます。(今回はPunchという名前になっています)
animationFile

ModelタブのPreserveHierarchyにチェック

PreserveHierarcyCheck

RigタブのAnimationTypeをHumanoidに変更し、Applyを押すと変更した設定が適用されます。

Humanoid

その後アニメーションファイルを選択してCtrl+Dを押すとファイルが複製されます。
(赤枠のファイルを選択して複製すると黄枠のファイルが生成されます。)
animationCopy

複製したアニメーションファイルを開いて全てのBakeIntoPoseにチェック、BaseUponをOriginalに変更します。
ここでLoopTimeにチェックを入れるとアニメーションがループするようになるのでお好みでチェックを入れてください。

BakeIntoPose

ここからはアニメーションを使用できるようにする設定を行います。
まずAnimationControllerを新しく作成してください。
Animatorを開いて先ほど設定したアニメーションファイルを挿入し、FootIKにチェックを入れてください。
FootIKにチェックを入れると足が滑らなくなります。

FootIK

最後にUnityChanに作ったAnimatorControllerをセットしてあげて、ApplyRootMotionにチェックを入れます。

ApplyMotion

全ての設定が終わりました。早速プレイモードにしてみましょう。

UnityChanPunch
ちゃんとCascadeurで作成した通りにUnityちゃんが動いてくれてますね!

おわりに

今回はCascadeurで作成したモーションをUnityで取り込むまでを行いました。
キーフレームを4つ設定するだけでここまでなめらかなモーションを作成できるので、人間のアニメーション作成はとても楽になると思います。
扱うモデルがHumanoid属性を持ってさえいればモーションを使用できるのでいろいろなモデルに流用することができます。

サンプルモデルには二頭身や犬、武器を持ったものなどもあるので、作成したいアニメーションにあわせてモデルを変えましょう。

もちろんCascadeurに自作の3Dモデルをインポートして、それをもとにモーション作成することもできますが、エクスポートしたFBXファイルをそのまま使うことはお勧めできません。
アニメーション以外の設定がリセットされてしまうことがあるので、あくまで今回のようにアニメーションファイルだけ抜き出すのがよいでしょう。

これからUnityに触れてみたいと思っている方、普段のアニメーション制作で苦労している方はぜひ一度Cascadeurを試してみてはいかがでしょうか。