Datasmith で CAD ファイル形式を使用する

Datasmith を使用して CAD ファイル形式からコンテンツをインポートする際に特に考慮する必要のある事項について説明します。

Windows
MacOS
Linux

このページでは、Datasmith でサポートされているほとんどの CAD ファイル形式から Unreal Editor にどのようにシーンがインポートされるかについて説明します。ここでは、「Datasmith の概要」「Datasmith のインポート プロセスについて」 で説明されている基本的なプロセスにに沿っています。ただし、CAD ファイルに固有の特別な変換ビヘイビアがいくつか追加されています。Datasmith を使用して CAD ファイルから Unreal Editor にシーンをインポートする予定がある場合は、このページを読むとシーンがどのように変換されるか、およびその変換結果を Unreal Editor で操作する方法を理解するのに役立ちます。

CAD のワークフロー

Datasmith では、ほとんどの CAD ファイル形式において 直接的な ワークフローを使用します。つまり、Datasmith を使用してコンテンツを Unreal に取り込むには、以下の手順を実行する必要があります。

  1. CAD シーンを サポートされているファイル タイプ のいずれかとして保存します。

  2. まだインストールしていない場合は、[Importers] > [Datasmith CAD Importer] プラグインをプロジェクトで有効にします。

  3. Unreal Editor のツールバーの Datasmith インポータを使って対象のファイルをインポートします。「Datasmith コンテンツを Unreal Engine 4 にインポートする」 を参照してください。

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

テッセレーション

CAD 形式では、ほとんどの場合、曲線や数学関数を使用してサーフェスやソリッドを定義します。このようなサーフェスの精度と滑らかさは製造プロセスに適しています。ただし、近年の GPU は、三角ポリゴン メッシュで構成されているサーフェスのレンダリングに高度に最適化されています。Unreal のようなリアルタイム レンダラやゲーム エンジンは、秒単位で驚くほどのフォトリアル品質の映像を大量に出力するために、GPU の能力を限界まで引き出す必要があります。ただし、よく行うのは三角ポリゴン メッシュで構成されるジオメトリの操作にすぎません。

Datasmith では、このギャップを埋めるために、まだメッシュ表現のない CAD ファイルに含まれる曲線サーフェスを厳密に近似する三角ポリゴン メッシュを自動計算します。この処理は テッセレーション と呼ばれ、CAD データをリアルタイムで使用する準備として不可欠なステップです。

たとえば、左の画像はネイティブの CAD ビューアでレンダリングしたサーフェスです。右の画像は、このサーフェスのために生成された三角ポリゴン メッシュのワイヤーフレームです。

Parametric Surface

Triangulated Mesh

リアルタイム レンダリングのためのサーフェスのテッセレーションには、サーフェスの精度とレンダリング速度の間に潜在的なトレードオフが存在します。

性質上、三角ポリゴン メッシュは、その生成元である数学的に正確なサーフェスと完全に同一になることはありません。テッセレーションとは常に、元のサーフェスを特定の詳細度でサンプリングして、GPU にジオメトリをより高速にレンダリングさせるための近似を生成することを意味します。一般的に、メッシュは元のサーフェスに近似するほど複雑になります。つまり、三角ポリゴンの個数が増えて、三角ポリゴンのサイズがより細かくなります。レンダリングされた時の外観は向上しますが、GPU での処理の負荷が増大します。テッセレーションされたメッシュの精度を下げて、三角ポリゴンの個数を減らしてそれぞれのサイズを大きくすれば、GPU のレンダリング速度を上げることができますが、ガタガタ、ギザギザになったりと、期待する忠実度を実現するレンダリングにならない可能性があります。

そのため、テッセレーション処理の目的は、メッシュの三角ポリゴンの個数を最小限に抑えつつ、ソースに対するビジュアル忠実度を最大限に高めることにあります。つまり、滑らかで平らなサーフェスには比較的少数のよりサイズの大きい三角ポリゴンを配置して、より複雑で起伏のあるサーフェスには比較的多数のサイズの小さい三角ポリゴンを配置することになります。

以降のセクションで説明しますが、Datasmith には CAD シーンのインポート時に調整可能な 3 つのパラメータがあります。これらの値を調整することで、カーブしたサーフェスに対して Datasmith が生成するスタティック メッシュ ジオメトリの複雑さと忠実度を制御できます。

また、個々の Static Mesh アセットでもこれらの同じオプションをオーバーライドできます。これにより、シーン全体に特定のテッセレーション値を設定してから、より高いまたは低い詳細度を必要とする個々のオブジェクトの設定をオーバーライドできます。詳細は、「CAD ジオメトリの再テッセレーション」 を参照してください。

コード公差

コード公差はコード エラーまたはサグ エラーとも呼ばれ、テッセレーションされたサーフェス上の任意の点と元のサーフェス上の対応する点との最大距離を定義します。

Chord tolerance examples

このパラメータの値を小さくすると、テッセレーションされたサーフェスが元のサーフェスに近似します。この場合、三角ポリゴンの数が増えて個々のサイズが小さくなります。

この設定の効果は、曲率が大きい部分で最も顕著に現れます。公差の値が大きくなるほど、生成される三角ポリゴンが大きくなるので、サーフェスの滑らかさは低下します。

0.5mm:37 500 三角ポリゴン数

0.5mm:37 500 三角ポリゴン数

10mm:13 500 三角ポリゴン数

最大辺長

テッセレーションされたメッシュの三角ポリゴンの 1 辺の最大長を制限します。 

Max edge length examples

この設定の効果が最も顕著に現れるのは、モデルの平らな部分です。この値を小さくし過ぎると、平らな部分に必要以上に多くの小さな三角ポリゴンが配置されてしまいます。その一方で、この値を大きくし過ぎるか制限なしにすると、極端に長くて薄い不自然な形の三角ポリゴンになってしまうことがあります。これも避けることをお勧めします。

この値を「0」にすると、Datasmith は生成する三角ポリゴンの辺長を制限しません。

10mm:128 000 三角ポリゴン数

20mm:43 700 三角ポリゴン数

40mm:21 000 三角ポリゴン数

法線公差

この設定は、テッセレーションされたメッシュの 2 つの隣接する三角ポリゴンの最大角度を定義します。

Normal tolerance example

コード公差と同様に、法線公差はテッセレーションされたメッシュを元のサーフェスにどれだけ近似させるかを左右します。ただし、曲率が大きな部分の詳細度を維持する際に特に役立つ一方で、サーフェスの平らな部分に生成された三角ポリゴンにはほとんど影響しません。

5°:295 000 三角ポリゴン数

10°:100 000 三角ポリゴン数

40°:21 500 三角ポリゴン数

ステッチ テクニック

[Stitching Technique (ステッチ テクニック)] 設定では、一見接続されているように見えるものの、実際は別のボディ、またはボディ内の別のサーフェスとしてモデル化されているパラメトリック サーフェスを、テッセレーション プロセスでどのように処理するかをコントロールします。

  • [Stitching Sew (ステッチング ソー)] 設定では、接続すべきサーフェスを探して、それらのボディを同じ Static Mesh アセットに結合します。
    このオプションで、Datasmith がプロジェクト内に作成する個別の Static Mesh アセットの数を減らすことができますが、処理に時間がかかる場合があります。

    Datasmith では、サーフェスを一緒にステッチすべきかテストするためにさまざまな戦略を使用できます。ソース ファイルの大半に対しては、近くにあるボディのサーフェス間の接続性をテストして、サーフェスが接続しているボディをマージします。その他のタイプのファイルに対しては、シーン階層をヒントとして使用して、サーフェスが接続しているか判断します。

  • [Stitching Heal (ステッチ ヒール)] も同じ処理をします。ただし、ソース シーンの同一のボディに属する複数のサーフェスの再接続のみを行います。Datasmith が同じボディ内の別のサーフェスのジオメトリを接続する必要があることを検出すると、Datasmith が作成した Static Mesh アセットの同一のメッシュ要素にそれらサーフェスをマージします。
    ただし、この設定がオンの場合、Datasmith が単一の Static Mesh アセットにソース シーンの複数の個別のオブジェクトを結合することはありません。

  • [Stitching None (ステッチなし)] ではステッチ処理をまったく行いません。Datasmith では常にソース シーンの個別のボディごとに個別の Static Mesh アセットを作成します。そのような各ボディに対して、Datasmith ではボディに含まれる各サーフェスの Static Mesh アセットの個別のスタティック メッシュ要素を作成します。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback