Let’s play Kawaii dress-up with Daz Studio, and explain how to make a Kawaii image.

Daz Studio Unityにエクスポートしたフィギュアのアニメーションをタイムラインで作成(応用編)

Unityにはアニメーションを制作するために、Timelineという機能があります。
これはDaz Studioのアニメーション制作ツールAnimate2ととてもよく似ていますが、UnityのTimelineの方がはるかに使い勝手がよいです。

DazのAnimate2には、コマにフィギュアのポーズを配置し、コマとコマの間の動きを補完してアニメーションを作成する機能がありました。Unityのタイムラインも同様の機能を持っていますが、フィギュアのアニメーションを作成する場合は、「Very Animation」(有料)と呼ばれるUnityのアセットを使います。TimeLineでフィギュアを動かす場合、あらかじめ作成したアニメーションクリップを組み合わせて一連の動きを作っていくという感覚です。

そこで今回はDazからエクスポートしたアニメーションクリップ(Aniblock)をUnityのTimelineに配置し、Dazフィギュアを動かすという一連の流れを解説したいと思います。

DazのAniblockをUnityにエクスポート

Daz側でフィギュアにAniblockを当てます。
ここでは、最初からAnimate2に付いているおじぎのアニメーションを配置しています。

このAniblockをフィギュアにBake(焼き付け)します。
このことによって、おじぎのアニメーションがフィギュアに付属したものとなります。
具体的な動きとしてはDaz付属のTimelineにアニメーションの制御が移ります。

方法としては、操作パネルの横の空白部分(黄色く囲ったあたり)を右クリックして、「Bake to Studio keyframes」を選択します。

警告が表示されますが、そのままYesをクリックしてください。

animate2横のTimelineというタブをクリックすると、焼き付けされた証拠として、三角形のマーカーが表示されていることがわかります。

それではUnityにエクスポートします。
前にも記事で書いたのですが、なぜかDaz to Unity Bridgeのアニメーションのエクスポートがうまくいきません。そこで、DazフィギュアをFBXファイルで書き出し、そこにアニメーションを含ませる手を取ります。
詳細は以下の記事を参考にしてください。

FileメニューからExportを選択します。

適当なフォルダを選び、ここではおじぎのアニメーションがついたフィギュアを書き出すので、ファイル名はわかりやすく「bow」にしてみました。
保存ボタンを押すと、エクスポートの選択画面に移行します。

赤い部分を選択します。
フィギュアとアニメーションにチェックがついていることに注目してください。
Selectedについては、Dazのシーンビューで選択しているオブジェクトを出力するという意味です。

Unityに持ち込む

Daz to Unity Bridgeを使っているわけではないので、適当なフォルダにエクスポートしたFBXファイルを手動でUnityにコピーします。

ここではBowと名前を付けたフィギュアを、ProjectウインドウにコピーしてUnityのアセットに持ち込みました。

Dazから持ち込んだFBXファイルのフィギュアを、Unity標準のヒューマノイドに変換します。
ヒエラルキーにBowフィギュアを配置し、Bowフィギュアを選択した状態で、インスペクターのRigタブをクリック。アニメーションタイプを「Humanoid」にし、Applyボタンをクリックします。

ヒューマノイドに変換すると、DazのFBXフィギュア(ここではBowフィギュア)にアバターが作成されます。
このアバターが作成されることによって、アバターの横に表示されている、Dazから持ってきたアニメーションが使えるようになります。

さて、以前の記事で紹介したDazのプールのPlopsとYunaフィギュアを利用するために、ヒエラルキーに2点を配置します。
Bowフィギュアと区別するために、Bowフィギュアはキャミソール、Yunaフィギュアは水着にしています。

Timelineの使い方

プロジェクトウインドウにTimelineを新規に作成します。
Projectタブの下にある+をクリック。

Timelineを選択。

TimeLineのアイコンがプロジェクトウインドウに表示されるので、適当な名前を付けます。

TimeLineをヒエラルキーに配置します。

ヒエラルキーでYunaフィギュアを選択した状態で、Timelineタブを開きます。
この時点でTimelineは表示されません。

Timelineが画面にない場合は、Windowメニューから図のようにタイムラインを選択してください。

続いてヒエラルキーのTimelineを選択すると、タイムラインが表示されます。

次にタイムライン上に、Yunaフィギュアのアニメーショントラックを作成します。
ヒエラルキーのYunaフィギュアをクリックした(押し下した)まま、タイムラインの左側、空白部分にドラッグしてください。
するとメニューが現れるので、「Add Animation Truck」を選択してください。

Yunaフィギュアを制御するアニメーショントラックが作成されました。
非常にわかりやすいですね。
アニメーショントラックに、Yunaと名前が付いています。

ここにDazから持ってきたアニメーションクリップを配置します。
まずBowフィギュアに付属したアニメーションクリップをドラッグして、トラック上に配置します。

続いて、Bowフィギュアと同じように制作した、Danceフィギュアに付いているDanceアニメーションをトラック上に配置します。

二番目のAnimationを少し左にずらすと、クロスフェードしてアニメーションが開始されるようになります。
このことにより、アニメーション間のつながりがとても自然になります。

Danceアニメーションを二つ重ね、最後に再びおじぎのアニメーションを配置してみました。

管理人のコメント

さて、下にUnityで作成した動画を掲載しました。
約11秒のアニメーションなのですが、ほぼリアルタイムにレンダリングされます。

もしこれをDazのアニメーション機能からレンダリングしたら、私の環境でも一晩かかると思います。もちろんUnityにはかなわない美しくてリアルなアニメーションが作成できるのですが、Unityでも背景にHDRI画像を配置したり、Propsのシェーダーを変更したりすれば、相当に美しいアニメーションが作成できそうです。
たとえば、下記の書き出しアニメーションの背景は、Unity標準のHDRIスカイですが、これを変更すれば印象は相当に変わります。
また、プールの水のシェーダーを動きのある水のシェーダーに変更したら、相当リアルになるはずです。

Unityでアニメーションを作成する利点は、Genesis8.0や8.1ベースのDazフィギュアをリアルタイムレンダリングしてくれるところにあると思います。

前にも触れましたが、UnityでDazフィギュアを利用する際には、別途インタラクティブライセンスを商品ごとに購入する必要があることを忘れないようにしましょう。