UE4.23 でついにC4Dネイティブ読み込み可能に

UE4ことUneal Engine 4がバージョン4.23でついにネイティブのC4Dファイルを読み込めるようになりました。これを書いている時点ではUE4.23はPreviewリリースの段階で詳しい情報もまだ出ていませんが、ちゃんと使える状態です。

C4DファイルをUE4に読み込んでレンダリングした動画がこちらになります。レンダリング時間はなんと1フレームあたり1秒を切っています。表現上UE4でOKであれば途方もないスピードアップが望める状況になりました。

Datasmithって何?

DatasmithはUE4に3DCADや3DCGソフトのデータを読み込む機能です。

従来のワークフローではUE4へのデータ読み込みにはFBXフォーマットが使われていましたが、FBXで受け渡しできるデータはごく限られているので、「素材」のレベルでしか持ってこれませんでした。ゲーム開発の場合はUE4側での作業の割合が高いのでデータの受け渡しはFBXでもさほど問題ではないらしいのですが、ゲーム以外の用途、つまり建築やプロダクトのビジュアライゼーション、映像メディアでの使用等になると、主な作業は3Dソフト側で行って、そのままUE4に持って行けたほうが効率的です。非ゲーム用途だと作業する人もゲーム業界以外の人ですしね。

そこで、外部のソフトで作り込んだデータを丸ごとUE4に読み込めるようにする機能がDatasmithです。

Datasmithを使うには

※2019.11.13追記:UE4.24でUnreal Studio機能がエンジン本体に統合され、引き続き無償で提供されることになったそうです。Datasmithプラグインは最初からインストールされており、プラグイン設定で有効にすれば使えるようになります。以下の説明と手順が違うので、公式ドキュメント等でご確認ください。

なんとなくUneral Engineの機能として捉えられている感じのDatasmithですが、正確に言うと製品としては Unreal Stuido の一部になります。

Unreal Studioは非ゲーム業界でUnreal Engineを使うために有用な機能を提供するサービスで、現在はベータ期間につき無償ですが、いずれ有償になるらしいです。いまのところUnreal Engine自体は非ゲーム業界では商用利用でも全くの無償になっているので、Unreal Studioが本格的にサービス開始となることでようやく普通の製品になるわけですね。ゲーム用途と違って成果物に対するロイヤリティではなく、ソフトのライセンスという形態になるようなので、個人ユーザーに優しいライセンスも設定されることを期待しています。

Unreal StudioはUnreal Engineにライセンスを追加する形で提供されています。Unreal Engineのユーザ登録のほかにUnreal Studioのユーザ登録も行うと、Epic GamesランチャーにDatasmithをインストールするボタンが出てきます。UEのマーケットプレイスで買ったアセットやプラグインのインストールと同じ感じですね。詳しくは上記リンクのUnreal Studioのページなどを参照してください。

Datasmithのインストールボタン

DatasmithをインストールしたUnreal EditorにはDatasmithメニューが追加されます。C4D読み込みに対応しているのはUE4.23からで、Datasmithメニューで「Cinema 4D」が選択できるようになっており、ここからC4Dのシーンファイルを直接読み込むことができます。

ネイティブC4Dファイルが選択できる

C4D側での設定

DatasmithのC4D対応についてはまだPreviewリリース段階ということもありドキュメントも出ていないので、僕自身も手探りでやっています。もちろんC4Dのあらゆる要素が持ってこれるわけではなく、マテリアルの一部の要素は引き継ぐことができなかったり、アニメーションの対応も限定的といった制限はあります。

C4D側でひとつだけ重要な設定があります。一般設定>ファイルの「汎用変換用(Melange)にポリゴンを保存」と「汎用変換用にアニメーションを保存」です。

「Melange」設定

このMelangeは、C4Dのパラメトリックオブジェクト(実体としてのポイントやポリゴンを持たないオブジェクト)や、キーフレームのないアニメーション(Mographエフェクタやダイナミクスによるもの)を他のソフトに渡すための機能です。オンになっているときはオブジェクトやアニメーションを「ベイク」したデータをC4Dファイルに不可視の状態で内包して保存します(そのぶんファイルサイズが大きくなります)。これにより、C4Dファイルを他のソフトで読み込んだときにC4D固有の機能を使っていてもある程度は再現できるようになるので「汎用変換」と呼ぶわけですね。

UE4にC4Dデータを持っていく場合、Melangeをオンにしておかないと引き継げないものがあるので、その場合はオンにして保存しておきます。

一方で、Melangeがオンになっていると、C4Dの「インスタンス」がUE4では全部独立したスタティックメッシュになってしまうといった不都合もあるようです。C4DのインスタンスをUE4で「同一のスタティックメッシュを参照する複数のアクター」として読み込みたい場合はMelangeはオフにしておくほうがいいでしょう。

Melangeで都合の良いものと悪いものが混在している場合は工夫が必要になりますね。あと個人的には、このMelangeの設定がシーンファイル単位でなくアプリケーションの一般設定にあるのは不便だと思います。ファイルのプロジェクト設定についてると便利なんですけど。

C4DユーザもUE4を使おう

これまでC4DユーザがUE4を使うにはデータの受け渡しをFBXで行わなくてはならず、非常に効率の悪いワークフローに堪えなくてはいけなかったのですが、それももう終わりました。おおまかにいうと、これまで1日かかっていたようなデータの受け渡し作業が1時間もかからずに終わります。C4D側でのデータ修正が発生しても、UE4側でリロードすればすぐ反映され、シームレスな感覚で使うことができます。以前3ds Maxのユーザさんから「Datasmith最高!」みたいな話を聞いて非常にうらやましく思っていたのですが、なるほど実際に使ってみると納得です。Datasmith最高!

UE4の習得は簡単とはいえませんが、UE4を使うことでレンダリング時間を桁違いに短縮できる場合もありますし、リアルタイム/インタラクティブなコンテンツ制作に手を広げることもできるようになります。ゲームエンジンの普及とともに始まったリアルタイムCGのビッグウェーブに乗らない手はありません。使おう、UE4!

UE4のエディタービュー、Detailed Lightingモード
同、Litモード