Unity Alembic フォーマット対応


いつの間にか Package Manager に Alembic が追加されていました。

190302-06

以前は Unity Japan(UTJ) が GitHub で公開していたものを使用していましたが、正式にパッケージの仲間入りをしたみたいです。 ただ以前使用した感じでは Blender や Modo などの DCC で出力した Alembic の Face Set をうまく読み込んでくれなくてあきらめた覚えがあります(もちろん Unity 以外の Alembic Import では Face Set を読み込めていた)。 ところが昨日試した感じでは UTJ の方も正常に読み込めるようになってました…何かの不具合だったのでしょうか。

それは良いとして、Package Manager に対応して、Face Set も正常に読み込めるようになったので、以前からやりたかった Alembic と Unity の統合をやってみたいと思います。 環境は Car Setup を行っているプロジェクトを使うので HDRP になります。

Alembic

DAZ Studio + Octane Render で Alembic 出力が可能です。以前 Octane Render で動画のレンダリングを行ったのですが、時間がかかりすぎ、綺麗だけどね。

キャラクターのモーション、カメラの動きは DAZ Studio で構成。髪のシミュレーションは Daz Studio の dForce。ドレスアニメーションは MARVELOUS DESIGNER(MD)でシミュレーションさせて、その後非常に面倒なワークフローを介して最終的に Blender で Alembic 出力しています(MD の Alembic 出力が Face Set に対応していないため使えない。ホント使えない)。

以前 Octane Render を使って何時間もかかってレンダリングした物です。背景がさみしいです。

Unity で Alembic インポート

HDRP 環境なので、お決まりのごとくインポートされたオブジェクトは紫になります。

190302-01

マテリアルを適切に割り当て直していきます。Face 名 は保存されないのか、不具合なのか全部 Default マテリアル1つで統一されてしまうので(他のツールでインポートしても似たような感じです)、頑張って正しい位置にマテリアルを設定していきます。

190302-02

たった23秒ほどのアニメーションですが、

  • キャラクター Alembic ファイル 3.41GB
  • ドレス Alembic ファイル 617MB

と、サイズはすごいことになっています。

Shader

2019/3/06 追記:コメントを頂いたので補足を。

チャラクター、服、髪はすべて HDRP デフォルトの「HDRP/Lit」シェーダーで構成しています。非常にパワフルなシェーダーなので、PBR の 「Standard」に比べるとデフォルトでもかなり色々とこなせます。 髪の毛に関しても [Material Type] を [Anisotropy] にすれば、ツヤツヤな日本で言う「天使の輪」が簡単につくれます。


(今回使用した Hair Shader です)

セットアップ

190302-03

背景が何も無いと Unity を使う意味が無いので、Vegetation Studio Pro で植生しました。今回は車の時とは違い、リアルタイム性に意味は無いので多めに植えてみました(そもそも Alembic 再生が重いです。いや、あのサイズをこの速度でストリーミングできる方が凄いか…)。

カメラ

インポートした Alembic ファイルのカメラは細かい制御ができないので、位置だけ使って Cinemacine の Virtual Camera を子にしています。

190302-04

Post Processing を使っていい感じに仕上げます。

動画

Unity 2018.3.5f1
+ High Definition RP 4.8
+ Post Processing 2.1.2
+ Alembic 1.0.0
+ Cinemachine 2.2.8

Assets
+ Vegetation Studio Pro
+ Meadow Environment – Dynamic Nature
+ Unity Recorder

まとめ

数年前から何とかできないかと試行錯誤していた統合ですが、やっとできるようになって喜ばしい限りです。それぞれのツールの持ち味を生かし、それを統合する。ワークフローはかなり面倒ですが、出来ることの幅が広がりましたね。

ゲームエンジンでは現在不可能な精度のクロスシミュレーション。 HDRP によるレンダリングにより、従来より綺麗なレンダリングが可能となっています、透過処理が微妙な感じですが、個人的には満足な仕上がりになったと思います。

Alembic パッケージはシーンの Alembic 出力にも対応していますので、このシーン全体をエクスポートし、別の環境 DCC や Unreal Engine とかにも持っていくことができるハズ。さすがに何 GB になるか…

使用したアセット

コメントを残す

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

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