DAZ Studio + iClone + Unity 連携


はじめに

DAZ Studio のコンテンツがゲームに使用できれば、個人で何かを作りたいと思っている人にとっては非常にいい話に思えませんか? フェイシャルアニメーションをしつつアニメーションさせたいと思いませんか?私のようにレンダリング目的で DAZ Studio を使用している人にとっては一石二鳥です。ですが DAZ と Unity だけではうまく連携できず、かならずどこかで袋小路にぶつかりました。結構長い間いろいろ調べた結果これがベストな連携だと結論づきました。

ただし!この方法でゲームを作って公開するときは(商用、非商用問わずのようです)Indie Game Developer License を購入する必要があります。また、これで使用できるコンテンツはあくまでベンダーが DAZ 3D のものだけです(DAZ のロゴが付いているコンテンツ)別のベンダーはそれに応じたライセンスが別途必要になります(ライセンス一覧。ほとんどの場合そんなライセンスありませんが…)。

使用ソフトウェア

  • DAZ Studio 4.6 Pro
    Free、無料です。上記 URL でサインアップしてダウンロードできます。
  • iClone 3DXchange Pipeline Ver.5.51
    DAZ からエクスポートした FBX を Unity 用にエクスポートできます。Pipeline グレードじゃないと FBX の出力オプションありませんので注意です。
  • iClone Facial Pipeline Character Pack
    これに含まれている DAZ Genesis Extension を使用します。
  • Unity 4.3.4
    Free 版は未検証ですが多分大丈夫のはずです。
  • iClone PRO Ver.5.51
    必須ではありません。が、あると変換したアバターの登録やアニメーションを編集して Unity に出力できるようになったりと結構便利です。このページではこれを使用してアニメーションを追加します。

どんな感じになるの?

まだ DAZ の Indie Game Developer License を購入していないため Web Player で公開することができないので動画で示します。

手順

  1. DAZ Studio でキャラクターを生成して FBX 出力する
    DazStudio01
    Troll を Scene に読み込みます。
    DazStudio02
    ”iCloneFaceKey” を適用します。DAZ Genesis Extension がどこにインストールされたかいつも覚えていないので [Content Library] で探します。適用するときは Troll を選択しておくのを忘れないように。
    DazStudio03
    適用されると [Timeline] がこんな感じになります。この状態で FBX にエクスポートします。
    DazStudio04
    [File][Export] で出力先とファイルを指定して、種類を Autodesk FBX にします。上記のようなウィンドウが出ますので [Export Options] の中の [Animations]、[Morphs] のチェックを入れるのを忘れずに [Accept] します。
  2. 3DXchange に FBX をインポートして iClone 用のアバターを作成する
    3dxchange1
    FBX をインポートするとまずこのウィンドウが表示されるので [Import Animation] にチェックを入れて [OK] します。
    3dxchange2
    しばらくすると、このウィンドウが出てくるので [はい] を押します。[いいえ] を押すとボーンのマッピング、Face Expression などを手動でやらなきゃいけなくなります。というか DAZ Genesis Extension を使った意味がなくなるし、本当に面倒なので [はい] を押しましょう。
  3. iClone で通常アニメーション・フェイスアニメーションを作成する
    3DXchange は 2 の状態で起動させたままにしておきます。表示されたキャラクターを iClone にExport するか、[Charactor][Appl to iClone] を押して iClone PRO に表示します。
    iClone1
    読み込みが完了したら適当なアニメーションを追加します。ここでは [Template][Male][Male Motion][Mode_01][Perform] の [Waiting] を使用しました。
    iClone2
    そのあと時間を 0 に戻して [Facial Animation] で [Puppet] を使い、動きに合わせて適当にアニメーションさせます。
    iClone3
    Timeline を開くとこんな感じになります。Timeline の [Collect Clip] ボタンを押して Clip を選択できるようにします。
    iClone4
    [Timeline] のクリップを選択して選択エリア上で右クリックします。
    iClone5
    今回の場合は、これ以前の操作で 3DXchange が待機済みなので [~ to 3DXchange] を選びます。Face Animation を含むモーションなので今回は [Add MotionPlus to 3DXchange] を選びます。
  4. 3DXchange に上で作ったモーションを取り込む
    3dxchange3
    [Motion Library] に [motionplus0] というモーションが追加されます。これを [Perform Editor] に入れます。まず、[Perform Editor] の Clip を削除します。削除後 [Motion Library] から [motionplus0] を選んで [Add to Perform] ボタンを選びます。
    3dxchange4
    追加後 Clip 名を適当に変更します。
  5. Unity 用にエクスポートする
    3dxchange5
    [Advanced Settings][Target Tool Preset] から [GameEngine_Unity3D] を選びます。選ぶと [Animation: ] のチェックが外れるので [Include Animation] をチェックします。 [Save One Take Per File] は今回は外します。後は出力場所を指定して [OK] を押します。
  6. Unity に適当なプロジェクトを作成して 5 でエクスポートした FBX を取り込む
    unity1
    今回は Skyshop のデモに HDR Sky を1つ追加したものをベースとしました。あとは適当な位置にエクスポートされた FBX をドラッグアンドドロップします。上記の Scene ではせっかくなので Skyshop の IBL のシェーダーを適用しています。
    unity2

ソフトウェア購入について

iClone 製品は個別に買うと高価なので必ずバンドルで買った方がいいです。色々調べてみましたが現在では上記すべてを含んだバンドルは無いようです。iClone は以前の記事にも書いたように複数のグレードがあります。また、海外製品にはよくあることですが時期によってはセールを行っていて通常価格より大幅に安く買うことができます。

バンドルは本家 StoreDAZ Store で購入可能です。

  • 3DXchange5 PRO Facial Pipeline Bundle
    これは買ってはいけません!PRO グレードでは Unity 用に出力できません!
  • iClone Animation Pipeline
  • iClone Facial Pipeline Character Pack

最後に

現在この方法は一世代前の DAZ の Genesis にしか使えません。今の Genesis 2 ではフェイシャルアニメーションの部分が正常に動作しませんでした。最近 Reallusion のソフトウェアの更新が全然なくて…対応してくれないのかな? まぁ、Genesis だけでも十分に素材があるし、リアルタイムで使用するなら十分綺麗なのですが。

また、DAZ のコンテンツは基本レンダリング用なので非常に高ポリゴンです。でもそんなときのために DAZ ではこんなプラグインを用意しています。

DazStudio05

これを使うとパーツ毎に指定するポリゴン数まで削減できます。Decimator (有料)です。結構しますので、これもセールの時に買えるといいですね。Platinum 会員になってるなら DAZ 3D 製品は全部 30% オフになります。

最後に一言、この方法は 2014年現在ではまだ有効ですがこれからも有効で有るとは限りません。上でも書きましたが最近 iClone とかの更新がありません。少なくとも 2014年に入ってからは一度もありませんね。購入を考えている人はそういう状況であることを踏まえて検討してください。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)