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

Daz Studio DazのアニメーションをUnityにエクスポート

Daz Studioで作ったフィギュアが 、キーボードの操作によりファッションショーの舞台で動きまわるというUnityゲームを作ってみようと試みていますが、Daz to Unity Bridgeでアニメーションがエクスポートできないトラブルに見舞われました。
そこで今回は、Daz Studioのエクスポート機能を使って、FBXファイル形式でファイルを保存、これをUnityで開いてアニメーションが無事にUnityで読み込まれるファイル形式になっているかどうかを検証してみましょう。

FBX形式とは

3Dファイル形式の一つです。Mayaという有名なモデリングソフトがあるのですが、その会社が作ったファイル形式です。フィギュアの骨格(ボーンとかリグとか言われるもの)もファイルに含めることができるファイル形式なんですね。なので、アニメーションもファイルの中に含めることができるのです。

FBX形式でアニメーションを含むフィギュアをエクスポートする

前回に引き続き、Interactive Licenseを購入したYunaフィギュアを使います。
Smart ContentsにあるAnimationを選択して、Yunaフィギュアが単純に歩き始めて止まるアニメーションを当ててみました。
WindowメニューのPanesからanimate2を選択し、図の右下にあるようなアニメーション作成用のタイムラインを開いておきます。

animate2は有料機能です。
詳しくはDaz Studio アニメーションの作成をご覧になってください。

服などはすべてYunaフィギュアの子オブジェクトにしておいてください。

アニメーションタイムラインの灰色部分を右クリック。「Bake To Studio Keyframes」を選択してフィギュアにアニメーションを焼き込みます。

Yesをクリック。

今度はフィギュアのいるウインドウの余白部分を右クリックして、「Select all」を選択し、すべてのオブジェクトを選択します。

Unity側の準備

Unityで新規プロジェクトを作成。
これを開いておきましょう。
ここではDaz Animationというプロジェクトを作成します。

Daz Studioのエクスポートファイルが安定して動くとされている「2020.1.17f1」のUnityエディタを使います。

HDRPを選んでください。
プロジェクト名を適当につけてください。(今回は Daz Animation)
プロジェクト名を入力したら作成をクリック。

Unityが開きます。
Main CameraとDirectional Light(太陽光ライト)だけがあります。

Export手順

では、ファイルメニューから「Export」を選びます。

あなたがUnityエディタを保存したドライブにはUnityというフォルダがあるはずです。
このUnityの中にProjectというフォルダがあり、そこに今回作成したプロジェクト「Daz Animation」があります。その中の「Asetts」フォルダの中に適当な名前(今回は「Yuna_Walk1」)をつけてアニメーション付きYunaちゃんのFBXファイルを保存します。
最後に保存ボタンをクリックしてください。

FBX Export Optionsが開きます。丸印を選択してください。

FBX 2014-Binaryを選択してください。

Acceptボタンをクリックすると、エクスポートが始まります。
書き出すのに少し時間がかかります。

UnityでFBXファイルを確認する

ではUnityのProjectウインドウで、Assetsフォルダを開くと、先ほど書き出した「Yuna_Walk1」フォルダがあることがわかります。(図では「Daz 3D」フォルダの中にある。)フォルダを開いてみましょう。

UnaWalkとあるのが、先ほど書き出したFBXファイルです。右側を向いた三角形マークをクリックして、中身を展開します。

フィギュアのマテリアル(ポリゴンの表面に貼る画像)がずらずらと並んでます。
青い色でAnimationと書いてあるが、今回Dazから書き出した歩くアニメーションです。

このアイコンがUnityのアニメーションファイルです。
Yunaちゃんが歩くアニメーションの書き出しに見事成功しました。

管理人のコメント

さて次回は、Unity側の操作で、歩くアニメーションを再生するまでの手順を説明していきます。

次回の説明のポイントは、Unityがどのようにしてアニメーションを動かしているのかということです。
Unityはとても複雑な手順でアニメーションを動かしています。なぜならゲーム上のアニメーションだからです。
ゲームはユーザの何らかの操作でアニメーションを再生します。
そこでアニメーションコントローラという仕組みを用いて、アニメの再生を行います。
アニメーションコントローラには、複数のアニメーションを登録することができます。
これをスクリプトと呼ばれるプログラミングで、ユーザの操作に合わせてアニメーションを指定して動かすということをしています。たとえば、上向き矢印キーを押すと歩くアニメーションが再生される、何もキー操作しないと待機状態アニメーションを再生するというようなことです。

プログラミングまで手をつけると大変なので、次回はアニメーションコントローラを作成し、そこにDazからエクスポートした歩くアニメーションを登録し、プログラミングなしで再生してみるということを解説します。

アニメーションの確認

Animationアイコンをクリックすると、Animationウインドウが表示され、再生ボタンで取り込んだアニメーションを再生することができます。