Choose your operating system:
Windows
macOS
Linux
このページでは、 Datasmith で McNeel Rhinoceros (Rhino) から Unreal Engine にどのようにシーンがインポートされるかについて説明します。ここでは、「 Datasmith の概要 」と「 Datasmith のインポート プロセスについて 」で説明されている基本的なプロセスに基づいています。ただし、Rhino に固有の特別な変換挙動がいくつか追加されています。本ページでは、Datasmith を使用して Rhino から Unreal Editor にシーンをインポートする場合、シーンがどのように変換されるか、その結果を Unreal Editor でどのように使用できるかを理解できるように説明します。
Rhino のワークフロー
Datasmith は Rhino に対してエクスポート ワークフローを使用します。したがって、Datasmith を使用して Rhino のコンテンツを Unreal に取り込むには以下を実行する必要があります。
-
Rhino 用の Datasmith Exporter プラグインをインストールします。「 Rhino 用の Datasmith Exporter プラグインをインストールする 」を参照してください。
-
[Save As] または [Export] プロセスを使って Rhino のコンテンツをエクスポートします。「 Rhino から Datasmith のコンテンツをエクスポートする 」を参照してください。
-
Unreal Editor のツールバーの Datasmith インポータを使って、「 .udatasmith 」ファイルをインポートします。方法については、「 Datasmith コンテンツを Unreal Engine 4 にインポートする 」を参照してください。
他のタイプの Datasmith ワークフローについては、「 Datasmith でサポートされているソフトウェアとファイル タイプ 」を参照してください。
ジオメトリをスタティック メッシュに変換する
Datasmith は、Rhino ファイルに含まれる各メッシュ、ソリッド、またはサーフェスに対して、個別の Static Mesh アセットを作成します。Rhino の [Properties (プロパティ)] パネルでオブジェクトに [Name (名前)] プロパティが設定されている場合 (下図の左を参照)、Datasmith は Static Mesh アセットにその名前を使用します (下図の右を参照)。Datasmith によってレベルに作成された、スタティックメッシュ アセットを参照するアクタも同じ名前を使用します。
インスタンス化
Datasmith が Rhino のシーン内に同一ブロックの複数のインスタンスを検出すると、そのブロックのジオメトリの Static Mesh アセットを 1 セットのみ作成して、この Static Mesh アセットの複数のインスタンスを Datasmith シーンに配置します。そうすることで通常は、プロジェクトのランタイム メモリ要件とパフォーマンスにおいて望ましい結果がでます。また、 コンテンツ ブラウザ におけるスタティックメッシュ数の管理が容易になります。
シーンで繰り返し使用されるすべての要素 (窓、ドア、椅子など) を Rhino のブロックにすることで、この機能を可能な限り活用することを推奨します。
詳細については、「 Rhino のドキュメント 」を参照してください。
テッセレーションとレンダー メッシュ
Unreal Engine では、常に三角ポリゴン メッシュを使用してオブジェクトをレンダリングします。パラメトリック サーフェスまたは NURBS として定義されている Rhino ファイルにオブジェクトが含まれている場合、それらのサーフェスを三角ポリゴン メッシュにトランスフォームまたはテッセレーションを行う必要があります。Datasmith は [File] > [Properties...] > [Document Properties | Mesh] にある Rhino テッセレーション オプションを使用します。
名前 |
説明 |
---|---|
Jagged and Faster |
品質は若干落ちますが、素早くオブジェクトを覆うために低密度のメッシュを作成します。 |
Smoother and Slower |
速度は若干落ちますが、より正確にオブジェクトを覆うために高密度のメッシュを作成します。 |
Custom |
作成されたメッシュに対してさらに制御が可能になります。密度スライダーは NURBS サーフェスから作成されたポリゴンの密度と数をおおまかに制御します。 [Detailed controls... ] をクリックすると、その他の制御を利用できます。 |
Rhino でカスタム レンダリング オプションを使用する方法については、Rhino に関するドキュメントの「 Polygon Mesh Detailed Options 」を参照してください。
トライアングルの向き
Datasmith にエクスポートする場合、サーフェスでは方向が維持されます。Rhino 内でサーフェスの方向を視覚化するには、バークフェースの色を明るい緑色に設定します。手順は、 [Document Properties] を開き、 [View] > [Display Modes (ディスプレイ モード) > [Rendered] の順に選択します。メニュー [Shading Settings] の中から [Backface] オプションを見つけます。最後に、 [Single color for all backfaces] カラーを明るい緑に設定します。
これを行うことで、Datasmith へエクスポートする前にサーフェスの方向が正しいかどうかを確認することができます。
詳細および推奨される解決方法については、「 Datasmith のインポート プロセスについて 」を参照してください。
Rhino のマテリアル
Datasmith が Rhino のシーンで検出した異なるサーフェスのマテリアルに対して、Datasmith では Unreal で Material アセット を同じ名前で個別に作成し、Datasmith シーン アセットの横の「 Materials 」フォルダに配置します。
-
「Materials」 フォルダの各マテリアルは「Rhino」ファイルで設定されている色の値、テキスト マップなどのプロパティを公開する マテリアル インスタンス です。これらの公開されたプロパティを変更すると、サーフェスに適用される時のマテリアルの外観を変更できます。Datasmith は作成するスタティック メッシュ アセットにこれらのマテリアル アセットを割り当て、Rhino レンダリングで表示される方法と同じようにサーフェスをシェーディングします。
Datasmith では、Rhino オブジェクトから Unreal Engine にマテリアルをインポートするだけです。Datasmith では Rhino の表示色は完全に無視されます。これにより、Unreal Engine へのインポートの視覚的な結果が、Rhino でのレンダリングの結果と可能な限り一致するようになります。
-
また、Datasmith では「 Materials/Master 」フォルダに親マテリアルのセットも作成します。これらはそれぞれ、「Materials」フォルダの 1 つ以上の Material アセットの親です。各サーフェスの表示方法を定義したり、追加パラメータを子インスタンスに公開したり、公開パラメータをレンダリング時に反映する方法を変更したりするマテリアル グラフをより詳細にコントロールする必要がある場合は、これらの親マテリアルを編集することができます。
なお、親マテリアルを変更すると、その親から継承するすべてのマテリアル インスタンスも自動的に変更されるので注意してください。通常、変更する前に親マテリアルを複製して、その複製を変更し、最後に特定のマテリアル インスタンスを更新して、新しい複製を親として使用することをお勧めします。詳細は「 Datasmith マスター マテリアルを変更する 」を参照してください。
Rhino メタデータ
User Text メニューに入力されたデータは Datasmith Metadata としてエクスポートされます。
データはキー値のペアとして表に入力されます。Attribute User Text の使用方法の詳細については、Rhino に関するドキュメントの「 Attribute User Text 」を参照してください。
Datasmith のシーン階層を構築する
Datasmith では、シーン階層を次のように Rhino のモデルから構築します。
-
Rhino のシーンに含まれる各レイヤーに対して、Datasmith では該当レイヤーのすべてのオブジェクトに対する親として動作するアクタを Unreal で作成します。ただし、Unreal Editor の Layers パネルで作成されたレイヤーとは異なり、このアクタの階層は平坦化されません。Rhino のシーンのレイヤーと厳密に同じようにネストされています。
-
各レイヤーを表すアクタの下に、対応するレイヤーにあるインスタンス化されたすべてのブロックが別のアクタで表されています。
-
最終的に、各レイヤーと各ブロックを表すアクタには、レイヤーまたはブロックを構成する実際のジオメトリ オブジェクトを表す Static Mesh アクタが含まれます。Rhino のポイントは Unreal Engine では空のアクタとして表されます。
-
Rhino のグループは、シーン階層における重要な要素ではなく、選択を補助する要素とみなされるため、Unreal のシーン階層に影響を与えません。
例えば下の画像では、Rhino の階層の各レイヤーに、それぞれに対応する Unreal のアクタがあることを確認できます。Rhino でジオメトリ オブジェクトのみを含む lights > [turn signals] のようなレイヤーは、対応する Unreal の Static Mesh アクタのみを保持しています。Rhino の lights レイヤーも left_headlight と right_headlight という名前の 2 つのブロック インスタンスを保持しています。Unreal では、これらがそれぞれネストされたアクタで表されています。そのため、それらのブロックを構成するジオメトリ オブジェクトを保持しています。
資料提供: このページで使用されているモデルは、 Turbosquid ユーザー tomashorin.design