Cinema 4D で Datasmith を使用する

Datasmith を使用して Maxon Cinema 4D から Unreal Editor にシーンを取り込む際に特段考慮すべき事項について説明します。

Windows
MacOS
Linux

このページでは、Datasmith が Maxon Cinema 4D から Unreal Editor にシーンをインポートする方法について説明します。ここでは、「Datasmith の概要」と「Datasmith のインポート プロセスについて」で説明されている基本的なプロセスに従っていますが、Cinema 4D に特有の特別な変換動作がいくつか追加されています。Datasmith を使用して Cinema 4D から Unreal Editor にシーンをインポートする予定がある場合は、このページを読むとシーンがどのように変換されるか、およびその結果を Unreal Editor でどのように使用できるかを理解するのに役立ちます。

Cinema 4D

Unreal Engine

Cinema 4D のワークフロー

Datasmith は Cinema 4D に対して 直接 ワークフローを提供するため、Datasmith を使用して Cinema 4D のコンテンツを Unreal に取り込むには以下を実行する必要があります。

  1. [File] > [Save Project for Melange] オプションを使用して、シーンを .c4d ファイルに保存します。

    このオプションを選択すると、ジェネレータによってプロシージャルに作成されたジオメトリも含めて、シーン内のすべてのジオメトリの三角ポリゴン化メッシュが保存ファイルに含まれます。また、現在のフレームに表示されているクローンだけでなく、現在のアニメーションのすべてのクローンが保存ファイルに含まれます。Datasmith では、ソース シーンに一致する Static Mesh アセットとレベル シーケンスを作成するために、これらすべての情報が必要です。

  2. Datasmith Cinema 4D インポータを使用して、.c4d ファイルを Unreal Editor に取り込みます。「Datasmith コンテンツの Unreal Engine 4 へのインポート」を参照してください。

保存するすべてのファイルに Datasmith で必要となる追加情報を常に含めるように Cinema 4D を設定できます。

メイン メニューから、[Edit (編集)] > [Preferences] を選択します。次に、[Preferences] ダイアログボックスの [File] タブで、[Save Polygons for Melange] および [Save Animations For Melange] オプションを有効にします。

ただし、これにより保存するすべてのファイルのディスク上のサイズが大きくなることに留意してください。この事が懸念される場合や、Datasmith 経由で Unreal Engine に取り込む必要のないシーンを頻繁に使用する場合は、[File] > [Save Project for Melange] オプションを必要なときだけ使用することをお勧めします。

他のタイプの Datasmith ワークフローについては、「Datasmith がサポートするソフトウェアとファイル タイプ」を参照してください。

ジオメトリ

Datasmith は、Cinema 4D シーンに表示されているジオメトリ オブジェクトごとに個別の Static Mesh アセットを作成します。

Datasmith は、Cinema 4D のプロパティ パネルで各オブジェクトに割り当てられている名前 (下の画像の左側に表示) を使用して、対応する Static Mesh アセット (下の画像の右側に表示) に割り当てる名前を決定します。

このルールにより、エクスポートする前に Cinema 4D でオブジェクトをマージすることで、Datasmith が作成する Static Mesh アセットとアクタの粒度を調整できます。例:

  • Cinema 4D の [Connect Objects] コマンドを使用して、2 つのオブジェクトを 1 つのオブジェクトにマージできます。「Cinema 4D ドキュメント」を参照してください。

  • より柔軟に行うには、Cinema 4D の [Connect Object] を使用して、指定されたしきい値よりも近いオブジェクトを 1 つのメッシュに結合します。この場合、Datasmith でのインポート時に、結合されたメッシュの 1 つの Static Mesh アセットが生成されますが、結合された部分は Cinema 4D では個別のオブジェクトとして残ります。「Cinema 4D ドキュメント」を参照してください。

オブジェクトの可視性

Unreal Engine にインポートしたくないオブジェクトがある場合は、.c4d ファイルを保存する前に Cinema 4D で非表示にしてください。Datasmith インポータでは、非表示オブジェクトのジオメトリは Static Mesh アセットにインポートされず、Datasmith のシーン階層にも含まれません。

Cinema 4D の [Objects] パネルを使用して、オブジェクトを個別に非表示にできます。または、除外するオブジェクトを独自のレイヤーに配置し、[Layers] パネルを使用して、そのレイヤー内のすべてのオブジェクトを非表示にすることもできます。

ジェネレータとデフォーマ

Melange 用に Cinema 4D シーンを保存すると、シーン内のすべてのジェネレータが、プロシージャルに生成されるオブジェクトのジオメトリ全体を表す 1 つの三角ポリゴンメッシュに*ベイク*されます。同様に、すべてのデフォーマは、デフォーマの最終状態に基づいて 1 つの三角ポリゴンメッシュにベイクされます。Datasmith は、これらの三角ポリゴン メッシュを 1 つの Static Mesh アセットとしてインポートします。

インスタンス、クローナー、配列

Cinema 4D シーンでインスタンス、クローナー、または配列を使用して、シーン内の複数の異なる場所に 1 つのオブジェクトのコピーを配置する場合、Datasmith はコンテンツ ブラウザでそのオブジェクトのジオメトリから 1 つの Static Mesh アセットを作成することで、意図したとおりに処理します。次に、この Static Mesh アセットの複数のインスタンスを Datasmith シーンに配置します。

法線の向き

Unreal Engine は、ほとんどのリアルタイム レンダラーと同様に、パフォーマンスを最大化するためにカメラから離れた方向を向いている三角ポリゴンを自動的に選別します。ただし、Cinema 4D では、この背面カリングの有無にかかわらず、ジオメトリをレンダリングできます。Cinema 4D の設定方法によっては、サーフェスの向きに適さない場合があります。シーンに、面のサーフェスの法線が基本のビューの方向から離れている辺面のジオメトリが含まれている場合、Unreal Engine で特定の角度から表示すると、そのジオメトリが消えているように見えることがあります。

たとえば、下の画像には、1 つのサーフェスの法線を内側に向けてモデリングされた本が表示されています。シーンが Unreal にインポートされると、最初は前面のカバーがないように見えます。この場合、サーフェスの法線方向を反転させると、その面が適切に表示されます。

Book in Cinema 4D

Book in Unreal Engine

この問題を回避するには、Cinema 4D でサーフェスが目的の方向を向いていることを確認します。これにはいくつかの方法があります。例:

  • ビューポートの [Options] > [Backface Culling] の設定を有効にします。これにより、Unreal Engine で非表示になるのと同じように、法線がカメラから離れた方向を向いているすべての面が非表示になります。

  • ポリゴン モードでは、選択した面が手前を向いているときは黄色のハイライトで表示され、手前を向いていないときは青色のハイライトで表示されます。

    Back faces are blue

  • 頂点法線を各面の中心から伸びる白い線として表示するようにビューポートを設定します。[Options] > [Configure] を選択し、[Attributes] パネルに移動します。[Polygon Normals] の設定が有効になっていることを確認し、その [Selected Only] オプションを無効にして、ポリゴン モードで選択したモデルのすべての面の法線を可視化します。

    Show vertex normals on all surfaces

Cinema 4D で法線が反転している面を見つけたら、[Reverse Normals] コマンドを使用して反転させることができます。「Cinema 4D ドキュメント」を参照してください。

詳細な説明と解決策については、「Datasmith のインポート プロセスについて」を参照してください。

ライト

Datasmith は、Cinema 4D のライトのほとんどのタイプを Unreal Engine のライトと等価なライト タイプに変換します。この変換では、シーン内の配置、カラー、フォトメトリック強度、コーン角、IES プロファイルなど、ライトで最も重要なエミッシブ プロパティが保持されます。

以下の表に、Datasmith で Cinema 4D のライト タイプを Unreal Engine のライト タイプにマップする方法を示します。

Cinema 4D

Unreal Engine

ポイント ライト、IES ライト

ポイント ライト

スポット ライト、ターゲット ライト

スポット ライト

エリア ライト、PBR ライト

DatasmithAreaLight ブループリント

サン ライト、無限ライト

指向性ライト

カメラ

Datasmith は、Cinema 4D シーンのカメラごとに、Datasmith シーンの CineCamera アクタを作成します。このカメラは、Cinema 4D 内の対応するカメラと同じ位置と回転で配置され、焦点距離など、カメラの物理的特性に関連するいくつかのオプション設定が保持されます。

シーン階層

Unreal Engine の Datasmith シーンには、オリジナルの Cinema 4D シーンのオブジェクトの階層と厳密に一致するアクタの階層が含まれています。シーン オブジェクトの名前と親と子のネストは、可能な限り厳密に保持されます。たとえば、以下の画像では、Cinema 4D のシーン階層が左側に表示されており、右側にはそのシーンを Unreal Engine にインポートされた結果を示しています。

これらには、いくつかの違いがあります。

  • Unreal Editor の [World Outliner (アウトライナ)] (右上を参照) には、階層の各レベルのアクタが常にアルファベット順に並んで表示されます。これにより兄弟の順序に視覚的な違いが生じますが、親子関係は変わりません。

  • Datasmith では、Datasmith シーンのアクタの名前に英数字、ハイフンおよびアンダースコアのみ使用できます。Cinema 4D オブジェクトの名前に他の文字が含まれている場合、それらの文字は自動的にアンダースコアに変換されます。

  • Datasmith シーンの最終階層は、Unreal Engine への移行中に Cinema 4D のプロシージャル機能で*ベイク*される方法、つまり、エフェクトをレプリケートする静的なアクタ セットに置き換える方法を考慮して、若干調整する必要があります。

    ジェネレータ、クローナー、配列など、Cinema 4D シーンの各プロシージャル オブジェクトは、Unreal Engine では 1 つの親アクタとして表示されます。このアクタには、オリジナルの Cinema 4D オブジェクトと同じ名前が割り当てられます。この親の下の Datasmith シーンには、Datasmith が作成するすべての Static Mesh アクタがあり、プロシージャル ジオメトリのエフェクトがシミュレートされます。これらの Static Mesh アクタには、親と同じ名前と数字のサフィックスが付いています。Datasmith シーンの階層の複雑さは、Cinema 4D のプロシージャル機能をどの程度使用するかによります。ただし、個々のアクタに個別のインスタンスとしてアクセスできます。

    たとえば、左下の Cinema 4D シーンでは、ネストされた 2 つのクローナーを使用して、机と椅子の複数の行と列を作成しています。Datasmith シーン (右下) では、クローナーによって生成されたジオメトリ オブジェクトごとに、階層に Static Mesh アクタが含まれます。このアクタは、クローナー自体を表す親アクタの下に編成されます。

レイヤー

Datasmith は、少なくとも 1 つのオブジェクトを含むすべての名前付きレイヤーを Cinema 4D シーンからインポートし、Cinema 4D 内の対応するオブジェクトと一致するレイヤーに作成した各 Level アクタを割り当てます。

Cinema 4D のレイヤー

Unreal Engine のレイヤー

Datasmith は、Cinema 4D のオブジェクトを含まない空のレイヤーはインポートしません。

Cinema 4D マテリアル

Datasmith は、Cinema 4D シーンの標準マテリアルと物理マテリアルごとに Unreal Engine のプロジェクト内に新しい Material アセットを作成します。

これらの Material アセットの目的は、Unreal の物理ベースのレンダラーを利用するのに役立つプロパティを公開しつつ、Cinema 4D で設定したサーフェスの外観を忠実に描くことにあります。

マテリアルを変更する方法

  1. コンテンツ ブラウザ で目的のマテリアルをダブルクリックします。または、変更するマテリアルを使用するレベルのアクタを選択し、[Details (詳細)] パネルでそのマテリアルをダブルクリックします。

  2. 以下のマテリアル エディタを開き、[Details (詳細)] パネルの設定を使用して、Cinema 4D からインポートしたプロパティを修正します。また、Unreal レンダラーによって公開されるその他のビルドイン パラメータを変更することもできます。

    この UI での作業に関する背景情報については、「マテリアル インスタンス エディタ ユーザーガイド」を参照してください。

マテリアル チャンネルを使用する

Cinema 4D からインポートしたマテリアルを編集する場合は、[Details (詳細)] パネルの上部に、Datasmith がインポート処理で処理する Cinema 4D チャンネルの種類が一覧表示されます。Cinema 4D でのマテリアルの操作に慣れている場合は、これらのチャンネルのエフェクトと設定についてはすでに馴染みがあると思います。

Material channels

トップの [00 Global] セクションでチャンネルがアクティブになっている場合、[Details (詳細)] パネルの下のセクションで、そのチャンネルに関連する設定を行うことができます。これらの設定は、Cinema 4D 内の対応するチャンネルに設定できる最も重要なプロパティを公開します。

たとえば、上の画像で有効にしたチャンネルによって、[Color][Reflectance][Specular] および [Normal] のセクションが追加で表示されます。

反射カラー チャンネルは、この規則の唯一の例外です。[Use_ReflectionColor] の設定を有効にすると、新しい [Reflection Color] および [Reflection Color Strength] の設定が [01_Color] グループに追加されます。

Reflection Color settings

[Reflectance] チャンネルで設定した値は、[Roughness][Metallic]、そして [Specular] チャンネルなど、Unreal Engine の複数のマテリアル出力チャンネルに影響します。こういった複雑な関係があるため、Datasmith は Cinema 4D の [Reflectance] チャンネルからは 1 つのレイヤだけを変換します。

テクスチャ UV を制御する

[Details (詳細)] パネルの下部に、マテリアルのすべてのチャンネルの UV マッピングを制御する設定が表示されます。これらの設定を変更することで、シェーディングするスタティック メッシュのジオメトリにマテリアルがテクスチャマップを適用する方法を変更できます。ここで設定する値は、テクスチャマップを使用する*すべて*のチャンネルに適用されます。これらの設定は、Cinema 4D の テクスチャタグ のオフセットおよびタイリング設定と同様の効果を持ちます。

テクスチャマップを持つすべてのチャンネルに影響するグローバル UV 設定

その設定内のテクスチャマップを提供する各チャンネルにも、独自のオプションの UV ラッピング コントロールがあります。たとえば、[04_Normal] チャンネルは法線マップ テクスチャを受け入れるため、法線マップ テクスチャにのみ適用される UV コントロールの 2 次セットをアクティブにする設定も提供します。

Use per-channel UV settings

このオプションを有効にすると、UV マッピング コントロールの新しいセットがチャンネル設定に追加されます。

Per-channel UV settings enabled

UV グループの一般的な UV 設定*と*特定のチャンネルの設定の*両方*をカスタマイズすると、効果がまとめて追加されます。

親マテリアル

Datasmith が作成する各 Material アセットは、マテリアル インスタンスです。このマテリアル インスタンスの親は、常に Datasmith プラグインに組み込まれている C4DMaster マテリアルです。この親マテリアルを開くと、マテリアル インスタンスで公開されている各プロパティがマテリアルグラフでどのように接続されているかを確認できます。親マテリアルを変更して他のプロパティを公開したり、シェーディング計算時に既存のプロパティが考慮される方法を変更することもできます。「Datasmith のマスターマテリアルを変更する」を参照してください。

マテリアル インポートの制限

Datasmith を使った Cinema 4D から Unreal Engine へのマテリアル変換プロセスには制約があり、ノイズ、ノードベースのマテリアル (Cinema 4D R20で導入)、サードパーティ製のレンダラーなどのプロシージャル テクスチャはサポートされません。

このような場合でも Unreal Engine と Cinema 4D の結果を厳密に一致させる必要がある場合の最善策としては、マテリアルをビットマップ テクスチャとしてベイクし、ベイクされたビットマップを適用する新しいマテリアルを作成します。「Cinema 4D ドキュメント」を参照してください。

アニメーション

Cinema 4D シーンに、キーフレーム アニメーション、MoGraph、または Dynamics など、時系列で 3D トランスフォームがアニメートされる要素が含まれている場合、Datasmith はそれらのアニメートされたトランスフォームを新しいレベル シーケンス アセットに自動的にインポートします。シーケンサ ツールを使用すると Unreal Editor 内でアニメーションを再生できます。そして、ブループリントを使用するとランタイムでインタラクティブな再生を管理することができます。

たとえば、次のビデオでは、MoGraph を使用して一連のクローンのトランスフォームをアニメートするシーンが表示されます。Unreal Engine にインポートした後、Datasmith が作成したレベルシーケンスは、同じカメラ視点から見た場合とまったく同じモーションになります。これは、追加されたリアルタイム ライトによるシャドウイングを使用しています。

Datasmith が作成するレベルシーケンスの操作方法に関する重要な詳細については、「インポート プロセスについて」 の「アニメーション」セクションを参照してください。

ユーザー データ

ユーザー データを Cinema 4D のシーン オブジェクトに設定すると、Datasmith はそのユーザー データをトランスフォームし、対応するレベル アクタ上の Datasmith メタデータとして保存します。Unreal Editor 内では、ブループリントまたは Python を使用してこのメタデータにアクセスします。ランタイム時のエンジン内では、ブループリントを使用してアクセスします。

詳しくは、「Datasmith メタデータを使用する」を参照してください。

クレジット:このページで使用されている教室のシーンは、Turbosquid ユーザー スクリプターのご好意によるものです。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信