Revit

Datasmith を使用して Autodesk Revit から Unreal Editor にシーンを取り込む際に特に考慮する必要のある事項について説明します。

このページでは、Datasmith で Autodesk Revit から Unreal Editor にどのようにシーンがインポートされるかについて説明します。このページは、「Datasmith の概要」と「Datasmith のインポート プロセスについて」で説明されている基本的なプロセスに基づいています。ただし、Revit に固有の特別な動作がいくつか追加されています。Datasmith を使用して Revit から Unreal Editor にシーンをインポートする予定の場合は、このページを読むと、シーンがどのように変換されるか、その結果を Unreal Editor でどのように使用できるかを理解できます。

Revit

Unreal Engine

Revit のワークフロー

Datasmith は Revit に対してエクスポート プラグイン ワークフローを使用します。つまり、Datasmith を使用して Revit のコンテンツを Unreal Engine に取り込むには、次の手順を実行する必要があります。

  1. Revit 用プラグインをインストールします。「インストールに関する注記」セクションを参照してください。

  2. Revit のコンテンツを「*.udatasmith」ファイルにエクスポートします。「Revit から Datasmith のコンテンツをエクスポートする」を参照してください。代わりに、Dynamo を使用 して Revit ビューを一括エクスポートすることもできます。

  3. プロジェクトの [Importers (インポータ)] > [Datasmith Importer (Datasmith インポータ)] プラグインを有効にします (まだ有効でない場合)。

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

インストールに関する注記

Revit のコンテンツをエクスポートするには、Datasmith エクスポート プラグイン ページから Datasmith Exporter for Revit プラグインをダウンロードおよびインストールしなければなりません。

プラグインがサポートしている Revit のバージョンを確認するには、「Datasmith でサポートされているソフトウェアとファイルの種類」を参照してください。

Datasmith エクスポーター プラグインのダウンロード リンクは、所属している組織の内外を問わず不特定多数のユーザーと共有できます。ただし、Datasmith エクスポーター プラグイン自体の配布は許可されていないため、ご注意ください。

Revit 用 Datasmith エクスポーター プラグインをインストールする前に、以下について確認してください。

  • Revit を実行していないこと。

  • 使用する予定の Unreal Engine のバージョンに該当するエクスポータ プラグインのインストーラをダウンロードしたこと。

  • 以前のバージョンの Revit 用 Datasmith エクスポータをすべてアンインストールしていること。

インストーラをダウンロードした後、ダブルクリックして開き、画面上の指示に従ってください。

エクスポータプラグインをインストール後に Revit を起動する際、以下の警告が表示される場合があります。「このアドインの発行元を確認できませんでした。どうしますか。」Revit を起動した際に常に Datasmith エクスポーター プラグインを使用可能するために、[Always Load (常にロード)] をクリックします。

Revit 用 Datasmith エクスポーター プラグインをアンインストールするには、他の Windows アプリケーションと同じ要領で コントロール パネル から行うことができます。

エクスポートする内容をコントロールする

Datasmith エクスポータ プラグインを使用してシーンをエクスポートするにはいつでも、Revit で 3D ビューを選択してアクティブにしておく必要があります。その 3D ビューの表示設定により、エクスポートされた「.udatasmith」ファイルに含める Revit ファイルの要素を定義します。

すでに Revit ファイルにある 3D ビューを使用することができます。ただし、Unreal Engine に取り込むオブジェクトを完全にコントロールするには、Revit で新しい 3D ビューを設定し、リアルタイム ビジュアリゼーションに必要なオブジェクトだけが表示されるようにビューを設定することをお勧めします。

Revit には、3D ビュー内のオブジェクトの可視性設定をコントロールするための多くのツールとテクニックが用意されています。次に例を示します。

  • [Graphics (グラフィック)] > [Visibility (可視性) / Graphics Overrides (グラフィックをオーバーライド)] を使用して、レベル内のさまざまなオブジェクトおよびオブジェクトのカテゴリの可視性をコントロールできます。

  • セクション ボックス を使用すると、エクスポートしたジオメトリをカットすることができます。セクション ボックス内のオブジェクトのみが Unreal Engine にエクスポートされます。なお、下の画像のウォール、フロア、家具などのように、オブジェクトがセクション ボックスの境界を越えると、そのジオメトリのセクション ボックスを越える部分は切り取られます。Unreal Engine 内にエクスポートされたオブジェクトを表すスタティック メッシュ アセットには、セクション ボックス内にあるジオメトリのみが含まれています。

  • Revit の [Temporary Hide and Isolate (一時的に非表示および分離する)] 設定を反映します。

  • 現在の 3D ビューに表示されているジオメトリック オブジェクトのみがエクスポートされます。非ジオメトリック オブジェクトは無視されます。

Datasmith Exporter では、Revit ビューポート内のオブジェクトの表示/非表示の選択が反映されます。ただし、3D ビューの描画方法のコントロールに関する設定は反映されません。たとえば、3D ビュー向けに設定される [Graphics (グラフィック)] > [Graphic Display Options (グラフィック表示オプション)] (リアリスティック モデル表示、シェーディング モデル表示、シャドウのキャストなど) や [Camera (カメラ)] > [Rendering Settings (レンダリング設定)] (ドラフト品質設定、高品質設定、ライティング スキームなど) は考慮されません。

Revit 3D ビューでの表示/非表示のコントロールについての詳細は、Revit ヘルプの「プロジェクト ビューの表示設定とグラフィック表示」 も参照してください。

ジオメトリ

一般に、Revit シーン内で個別に選択できる要素はそれぞれ、Unreal では個別のスタティック メッシュ アセットとして変換されます。いくつかの要素がレールなどの小さな部品で構成されている場合、さらに小さなスタティック メッシュに分割されることがあります。

各スタティック メッシュ アセットのジオメトリは、すべての場合において、ファイルをエクスポートした時点の Revit オブジェクトの寸法と一致するように設定されています。パラメトリック設定とコンストレイントは、Unreal Engine に反映されません。例えば、Unreal Editor でフロアを上下に移動させても、Revit における場合とは異なり、ウォールの高さは新しい位置に合わせて伸び縮みしません。

インスタンス化

2 つのオブジェクトが同じファミリに属していて、それらがまったく同じパラメータ値を使用している場合、両方のオブジェクトは同一のスタティック メッシュ アセットのインスタンスとして Datasmith シーンに表示されます。

テッセレーション

Datasmith は、Revit にビルトインされているテッセレーション機能を利用して、シーン ジオメトリから三角ポリゴン メッシュを生成します。ほとんどの場合、テッセレーションを使用することで Unreal Engine に最適なジオメトリを生成できます。ただし、プロジェクト内でこのようなサーフェスが問題となる場合は、Unreal Editor が提供する プロキシ ジオメトリ ツール などのツールを使用して、これらサーフェスのメッシュの複雑さを軽減することができます。

また、[Datasmith エクスポート設定] パネルから手動で Revit が作成するメッシュのテッセレーションのレベルを指定することもできます。このようなレベルは Revit API によって定義されます。

Level of Tessellation setting in the Datasmith Export Settings

レベル 8 がテッセレーションのデフォルトです。この設定では、Revit FBX エクスポータと同じメッシュ解像度が生成されます。

レベル 2

レベル 8

リンク モデル

Revit シーンに リンク モデル が含まれる場合 (他の Revit ファイルを参照している場合)、Datasmith は Revit ファイルに保存されたパスを使用して、コンピュータ上のリンクされたファイルを探そうとします。Datasmith には、Unreal Engine で Datasmith が作成した Datasmith シーンで検知できるすべてのリンク ファイルが含まれます。

マテリアルとテクスチャ

Datasmith では、Revit のシーンに含まれる各種サーフェスに対して新規の Material アセットを Unreal Engine プロジェクトで作成して、Datasmith シーン アセットの横の「Materials」フォルダに配置します。これらのマテリアルの目的は、Revit で設定したサーフェスの外観を忠実に再現するとともに、Revit で使い慣れたプロパティを忠実に反映した一連のプロパティを提供することです。

Revit

Unreal

Datasmith は現在、Revit のディフューズ マップとカラー、透明度、カットアウト、バンプ設定から Datasmith で作成される Unreal Engine マテリアルへの変換をサポートしています。

Unreal Editor でマテリアルを変更するには、次の手順を実行します。

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

  2. 上の図に示すマテリアル エディタが起動します。[Details (詳細)] パネル上部の [Parameter Groups (パラメータ グループ)] セクションでこれらのパラメータを変更できます。Unreal レンダラにより提供されている他の組み込みパラメータを変更することもできます。

  3. プロパティのデフォルト値をオーバーライドするには、まず、変更するプロパティ名の左にあるチェックボックスをオンにして、マテリアルでそのプロパティを有効にします。次に、そのプロパティで使用する値を設定します。

各アセットはマテリアル インスタンスで、その親は Datasmith プラグインにビルトインされた RevitMaster マテリアルです。この親マテリアルを開くと、マテリアル インスタンスで公開された各プロパティがマテリアル グラフ内でどのように関連付けられているかを確認することができます。

テクスチャと UV ラッピング

Datasmith では、Revit マテリアルで使用したテクスチャをアセットにインポートし、Datasmith シーン アセットの横にある「Textures」フォルダに配置します。

テクスチャ アセットを使用する各マテリアルには、Revit テクスチャ エディタと同様の設定があり、そのマテリアルを使用して 3D オブジェクトのサーフェスにテクスチャ マップを適用する方法をコントロールできます。

Texture mapping and UV settings

  1. Revit の [Position (位置)] > [Offset (オフセット)] の値は、各マップ タイプの UVOffsetX および UVOffsetY の設定によって決まります。

  2. Revit の [Position (位置)] > [Rotation (回転)] の値は、マップの種類ごとの UVWAngle 設定によって決まります。

  3. Revit の [Scale (スケーリング)] の値は実際の寸法に基づいており、Unreal Engine マテリアル内でスケール乗数に変換されます。これらのスケール値の絶対値を大きくすると、オブジェクトのテクスチャが小さくなります。

Datasmith では、Checker、Noise、Tiles などのプロシージャル テクスチャは変換されません。

Datasmith のシーン階層の構築

Datasmith エクスポータ プラグインによって、Datasmith シーン内に親 / 子アクタの階層が生成され、Revit 内のシーンの全体的な構成が反映されます。これにより、Revit で使い慣れた考え方に基づいて、Unreal Engine のレベルでアクタを整理がすることができ、オブジェクトの発見や作業が容易になります。 

このシーン階層は、次のルールに従って構成されています。

  • Revit の各 レベル (地上階、レベル 1、レベル 2 など) は、Datasmith シーン階層内のアクタに個別に反映されます。

  • 各レベル内で、Revit の他のシーン要素を ホスト しているオブジェクトは、そのオブジェクトがホストしているオブジェクトの親になります。 

  • Revit のレベルとホストを表す親アクタの下には、各ジオメトリック オブジェクトを表すスタティック メッシュ アクタがあります。

    例えば、「Level 1」という名前のアクタには、ウォールを表すアクタが含まれています。そのため、これらのアクタは、ウォールがホストする各ジオメトリック オブジェクト (ドア、窓、またはウォール セクション) を子に持つ別の親アクタとして表されます。

    Example scene hierarchy in the Unreal Editor

  • カーテン ウォールや手すりなど、「複合」の Revit オブジェクトでは多くの場合、複合オブジェクトを表すためにシーン階層にアクタが 1 つだけ含まれます。このアクタに複合要素を構成しているサブオブジェクトのそれぞれにする Static Mesh コンポーネントが含まれます。

    たとえば、Revit のカーテンウォールは通常は単一のアクタとして Unreal Engine に入ってきますが、このアクタには、カーテンウォールを構成する各仕切り枠と各パネルごとに別々になった Static Mesh コンポーネントが含まれています。

ライト

Datasmith では、ライトの強度として設定した物理的な単位を維持したまま、Revit シーンから Unreal Engine にライトをインポートします。

カメラ

Revit から 3D ビューをインポートするとき、Datasmith は Unreal Editor のレベルに単一の CineCameraActor を生成します。このアクタでは、このカメラを Revit 3D ビュー内のカメラの位置と向きで、同じ視野角で配置します。レベル ビューポートまたは、[World Outliner (アウトライナ)] でこの CineCameraActor を選択した場合、.udatasmithファイルをエクスポートした時に Revit 3D ビューのクロップ領域と厳密に一致するビューポイントのプレビューが表示されます。

Datasmith では、正投影モードやチルト、シフト、クロップ領域のようなパースペクティブの補正など、Revit で使用可能な一部のカメラモードには対応していません。

最良の結果を得るためには、以下の設定を行います。

  1. 3D ビューの [Camera (カメラ)] > [Projection Mode (プロジェクション モード)] 設定を [Perspective (パースペクティブ)] に設定します。

  2. Revit で 3D ビューのクロップ領域を、Unreal Engine のカメラで設定したいビューに焦点を合わせるよう設定します。

  3. Revit でカメラのターゲット ポイントがクロップ領域の中心にあることを確認します。これを確認するには、他に平面図と立面図でカメラを表示します。 パースペクティブをシフトしても、Unreal Engine での結果は期待どおりにはなりません。

たとえば、下の 3D ビューでは、クロップ領域を中心としたパースペクティブ カメラがあります。これは適切に変換されます。

ただし、次の 3D ビューでは、クロップ領域が手動で調整されており、パースペクティブ領域の一方のエッジがターゲット ポイントに対して不均等にシフトしています。これは適切に変換されません。

カテゴリ

シーン内の 1 つ以上のオブジェクトを含む Revit カテゴリは、それぞれ別のレイヤーとして Unreal Editor に取り込まれます。

Revit layers

Unreal Editor 内でこれらのレイヤーを使用してカテゴリの表示/非表示を切り替えたり、それらに割り当てられているオブジェクトの検査や選択ができます。

なお、Revit SDK からエクスポータに提供される情報は、必ずしもすべてのシーン オブジェクトをカテゴリに関連付けているわけではないことに注意してください。Revit でカテゴリが割り当てられていないオブジェクトは、Unreal Editor 内のどのレイヤーにも割り当てられません。

メタデータ

Revit ビューで要素を選択すると、[Properties (プロパティ)] パレットに、その要素に割り当てられているすべてのインスタンス プロパティのリストが表示されます。これらの値は自由に変更したり、独自のカスタム プロパティを追加したりできます。

これらのプロパティの設定方法および使用方法の詳細については、「Revit のヘルプ」 を参照してください。

Datasmith を使用して Revit のシーンを Unreal Editor にインポートする場合、Datasmith では各 Revit 要素のすべてのインスタンスのプロパティを、Unreal Engine のレベルでその要素用に Datasmith が作成する Static Mesh アクタのメタデータとして割り当てます。また、このメタデータには、空でないオブジェクトの Revit タイプの任意の型のプロパティも含まれています。

Datasmith のメタデータは常にキー/値ペアのフラット リストであるため、[Properties (プロパティ)] パレットのカテゴリのヘッダー (上図の [Constraints (コンストレイント)][Structural (構造)][Dimensions (寸法)]、および [Identity Data (識別データ)] など) は含まれません。実際のプロパティの名前と値のみが保持されます。

その他のいくつかの技術的な内部情報は、コンポーネント タグを使用して各アクタにアタッチされます。特に Unreal Editor でブループリントまたは Python スクリプトを使用してデータ準備を自動化する場合は、この情報がアクタの識別に役立つことがあります。次の例を挙げます。次に例を示します。

  • Revit.Instance.Depth. - Revit シーン階層におけるオブジェクトのファミリ インスタンスまたはファミリ シンボルの深度。

  • Revit.Instance.Id. - Revit ドキュメント内のオブジェクトのファミリ インスタンスまたはファミリシンボルの ID。

  • Revit.Host.Id. - オブジェクトのファミリ インスタンスがホストされている場合、この値は Revit ドキュメント内のファミリ インスタンス ホストの ID を示します。

Metadata saved in Component Tags

Revit 内の Datasmith ツールバーの [Settings (設定)] メニューから、「.udatasmith」ファイルと共に、またはダイレクト リンクを通してエクスポートされるメタデータの量をフィルタリングすることができます。これにより、エクスポートのパフォーマンスとエクスポートされた Datasmith シーンのサイズの両方に影響するエクスポートするデータ量を削減することができます。

Settings for metadata export

メタデータ エクスポートの設定。

[Add Group (グループを追加)] および [Remove Selected (選択したものを削除)] ボタンを使用して、エクスポートした Datasmith シーンに含みたいメタデータを追加または削除します。

以下のことに注意してください。

  • メタデータ カテゴリは Revit よって定義され、変更はできません。

  • このフィルタは通常の (「.udatasmnith」ファイルとしての) エクスポートとダイレクト リンクの両方に影響します。

  • エクスポート フィルタに追加するカテゴリのリストは、「Revit」ファイル内に保存されます。

  • リストが完全に空の場合、すべて のメタデータがエクスポートされます。

RPC オブジェクト

Datasmith は Revit の Rich Photorealistic Content (RPC) オブジェクトを Unreal Engine へ取り込みます。Revit シーンの中の RPC オブジェクトの各タイプごとに、Revit で表示された見ることができるジオメトリを新しい Static Mesh アセットにインポートします。Revit シーンに配置した RPC オブジェクトのそれぞれに対して、Datasmith は 3D 空間における同じ位置と方向を使って Unreal Engine Level の中に新しい Static Mesh アクタを作成します。

RPC Actors in the World Outliner

Unreal Engine レベルでこれらの RPC オブジェクトを見つけるには、Revit.RPC コンポーネント タグが割り当てられているアクタを検索します。

Component Tag for an RPC Actor

Revit で使用したプレースホルダーの周囲のオブジェクトを 3D リアルタイム可視化により適したものにで置き換える方法を自動化する場合に有用です。

サーベイ ポイントとプロジェクト基準点

Revit シーンに 基準点またはサーベイ ポイントが含まれる場合、Datasmith はこれらの点を Unreal Engine のレベルにインポートし、可視ジオメトリを含まないプレーンなアクタでそれらを表現します。これらのアクタ上の Datasmith メタデータのサーベイ ポイントと基準点に関するデータを記録します。

Base Point metadata

Survey Point metadata

基準点

サーベイ ポイント

Datasmith シーンをエクスポートする場合、モデルの方向はプロジェクト基準点に基づきます (Project / Plan North)。エクスポートされる Revit モデルをサーベイ ポイント (True North) の方向と一致させるには、プロジェクト基準点の回転をサーベイ ポイントと同じにする必要があります。

上記の「メタデータ」と「Datasmith のメタデータを使用する」も参照してください。

このページで使用されたすべてのシーンとモデルは、Turbosquid のご厚意により提供されました。

タグ
このページは Unreal Engine の前のバージョン用です。現在リリースされている Unreal Engine 5.3 に対して更新は行われていません。
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル