SketchUp Pro

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

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

SketchUp

Unreal Engine

SketchUp のワークフロー

エクスポートのワークフロー

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

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

  2. SketchUp のコンテンツを「.udatasmith」ファイルにエクスポートします。「SketchUp Pro から Datasmith のコンテンツをエクスポートする」を参照してください。

  3. Datasmith インポータ プラグインをまだインストールしていない場合は、[Importers (インポータ)] > [Datasmith Importer (Datasmith インポータ)] プラグインを有効にします。

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

Ruby によるシーンのバッチ エクスポート

SketchUp で Ruby スクリプトを実行して、「」ファイルをバッチ エクスポートすることができます。パイプラインの自動化に役立ちます。

この操作を始める前に、SketchUp 用の Ruby Code Editor 拡張をインストールする必要があります。この手順については、『Managing Extensions』の StetchUp ドキュメントを参照してください。Ruby Code Editor 拡張をインストールすると、SketchUp のメイン メニューからアクセスできるようになります。([Window] > [Ruby Code Editor])。

特定のフォルダからすべての SketchUp ファイルをエクスポートするには、次のコードを実行します。

           target_dir = 'C:\temp\udatasmithExports'
           source_directory = 'E:\path\to\folder'
           Dir.foreach(source_directory) do |filename|
             ext = File.extname(filename)
             if ext == '.skp' then
                 name = File.basename(filename, ext)
                 path = File.join source_directory, filename
                 Sketchup.active_model.close true
                 Sketchup.open_file path
                 puts "Exporting '#{filename}' as '#{name}' to '#{target_dir}'"
                 EpicGames::Datasmith.export name, target_dir
           end
         end

コードから単一のファイルをエクスポートすることもできます。これは、Datasmith のツールバーで Export ボタンをクリックすることに相当します。

       Sketchup.open_file 'E:\path\to\file\sketchup_file.skp'
       EpicGames::Datasmith.export "hello", 'C:\temp'
       # これにより「C:\temp\hello.udatasmith」ファイルが作成されます。

Direct Link を使用するワークフロー

SketchUp のシーンへ行った変更内容を Unreal Engine でリアルタイムでプレビューするために、SketchUp と Unreal Engine の間で Datasmith Direct Link をセットアップすることができます。これにより、変更を加えるたびにシーン全体を Unreal Engine に手動で再インポートする必要がなくなります。詳細は、「Datasmith をランタイム時に使用する」ドキュメントを参照してください。

次の SketchUp バージョンを使用する場合、Datasmith DirectLink は UE 4.27 以降のバージョンのみ Unreal Engine でサポートされています。

  • SketchUp 2020 (Windows と macOS)

  • SketchUp 2021 (Windows と macOS)

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

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

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

現時点では、Datasmith Exporter プラグインは SketchUp Pro でのみ動作します。SketchUp Free または廃止された SketchUp Make はサポートされていません。

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

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

  • SketchUp を実行していない。

  • 使用する Unreal Engine のバージョンと一致するエクスポーター プラグインのインストーラーをダウンロードしている。

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

インストーラーをダウンロードしたら、インストーラーをクリックして開き、画面上のインストラクションに従います。

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

  • Windows:コントロール パネル からプラグインをアンインストールします。

  • macOS: Finder でプラグインを検索し、Dock のゴミ箱アイコン上にドラッグするか、右クリックして [Move to Trash (ゴミ箱へ移動)] を選択します。

Datasmith ツールバーを使用する

Datasmith プラグインをインストールするとツールバーが Rhino に追加されます。

Datasmith Toolbar in SketchUp

Datasmith のツールバーを使って、次のアクションを行うことができます。

アクション

ボタン

説明

Datasmith

dst-synchronize-button.png

Direct Link 接続を使用して、選択されたモデルを Unreal Engine または Twinmotion にプッシュします。

接続を管理する

dst-connections-button.png

Connection Status (接続状態) ダイアログを起動します。

Datasmith ファイルをエクスポートする

dst-export-button.png

既存の .udatasmith エクスポータを起動します。このエクスポータは、 .udatasmith ファイルをディスクに保存するために使用されます。

メッセージを表示する

dst-messages-button.png

メッセージおよびログ出力ウィンドウを起動します。エラー、見つからないテクスチャ、その他の情報の報告に役立ちます。

これらのコマンドは [Extensions] > [Datasmith] の順に進んで SketchUp のメインメニューから使用することができます。

ジオメトリをスタティック メッシュに変換する

Datasmith は、同一のコンポーネントまたはグループの連結したポリゴン面をすべて単一のスタティック メッシュに結合することで、SketchUp のジオメトリを Static Mesh アセットに分割します。この手法を把握しておくことで、Datasmith が作成するスタティック メッシュをよりうまく制御することができます。

Unreal のスタティック メッシュがきわめて大きい場合、シーンの静的または固定ライトのベイクがうまくいかないことがあります。大きなメッシュには、モデルの各部分にライトとシャドウを記録する十分な量のテクスチャ スペースを確保するため、それに対応する大きなライトマップ テクスチャが必要になります。大きなスタティック メッシュのライトマップの解像度を上げることもできますが、これによりベイク時間とランタイム時のメモリ要求も増大します。ライトマップ UV の配置方法によっては、生成がまったくうまくいかないことがあります。このような場合は、Unreal でのスタティック メッシュの処理を容易にするために、大きなジオメトリを SketchUp で複数のコンポーネントやレイヤーに分割してみてください。

インスタンス化

Datasmith が SketchUp のシーン内に同一コンポーネントの複数のコピーを検出すると、そのコンポーネントの Static Mesh アセットを 1 セットのみ作成して、これらのスタティック メッシュの複数のインスタンスをシーンに配置します。これにより、通常、ランタイム メモリ要件とプロジェクトのパフォーマンスが改善されます。また、コンテンツ ブラウザでの Static Mesh アセット数の管理が容易になります。

シーンで繰り返し使用されるすべての要素 (窓、ドア、椅子など) を SketchUp の再利用可能なコンポーネントにすることで、この機能をできる限り活用することをお勧めします。

ビルボード

Datasmith では SketchUp のシーンから回転するビルボードをエクスポートして、これらの平面のスタティック メッシュの複数のインスタンスをレベルに配置します。

レベルでの各スタティック メッシュの向きは、シーンをエクスポートした時点の SketchUp カメラのビューポイントに基づいています。Unreal Engine のカメラが、レベルで SketchUp の元のカメラと同じ場所にある場合、平面のスタティック メッシュは SketchUp で実行されているビルボードの回転と同じように表示されます。ただし、Unreal Engine でカメラを移動させると、スタティック メッシュの回転状態は、SketchUp で行われるように、カメラの現在のビューポイントに合わせて更新されません。

トライアングルの向き

SketchUp はジオメトリの面の向きに関しては大変柔軟です。「片面のジオメトリ」、つまり厚みのないジオメトリを作成することができます。それを両側から表示することができ、それぞれの面に別のマテリアルを適用することも可能です。

Unreal Engine でのアプローチはこれとは異なり、すべてのジオメトリには厚みがあるということが前提となっています。カメラの方を向いていないトライアングルはサーフェスの背面を意味し、サーフェス前面からの視点では非表示になることが想定されます。ランタイム時のパフォーマンスを最大限に引き出すために、Unreal では後ろ向きのトライアングルは常に カリング されます。これにより、実際には表示されないトライアングルのレンダリングに GPU サイクルが浪費されることが回避されます。

3D オブジェクトが Unreal で想定通りに動作するよう、常に厚みを含めてモデリングすることをお勧めします。ただし、SketchUp で片面のジオメトリを使用している場合、Datasmith では、マテリアルと面方向をスタティック メッシュのトライアングルに割り当てる方法において、片面のジオメトリを使用する意図を最大限反映します。

  • SketchUp でサーフェスの 1 面だけにマテリアルが割り当てられている場合、Unreal ではそのサーフェスがトライアングルの前面として選択されます。

  • それ以外の場合、Datasmith は SketchUp でのサーフェスの正面を Unreal での前面として認識します。

  • 「両面」にマテリアルが割り当てられている場合、Datasmith は正面のマテリアルのみをインポートします。

つまり、片面のジオメトリに含まれるトライアングルを裏側から見た場合、デフォルトでは Unreal のシーンではこれらが表示されないことになります。さらに、背面側ではシャドウがキャストされません。

SketchUp

Unreal

上の例では、各ボックスの側面と底面は外側を向いています。左の画像では、側面にはそれぞれ外側に割り当てられている単一のマテリアルが含まれています。中央の画像では、それぞれに 2 つのマテリアルが各面に 1 つずつ割り当てられています。右の画像では、赤のマテリアルがグループ全体に割り当てられており、ボックスの 1 面だけに異なるマテリアルが割り当てられています。外側に向いている前面の色はすべて Unreal 向けに変換されますが、背面側はボックスをもう一方の側から見た場合にのみ表示されます。

これに対処する最良の方法は、SketchUp でオブジェクトに厚みを加えて修正することです。ただし、Unreal でこの問題を修正する場合は、これ以外のオプションもあります。詳細については、「Datasmith のインポート プロセスについて」を参照してください。

SketchUp のマテリアル

Datasmith は、SketchUp シーンのマテリアルごとに、Unreal Engine プロジェクトに新しいマテリアル インスタンスを作成し、SketchUp マテリアルを可能な限り複製しようとします。これらの各 Material アセットは親マテリアルのインスタンスです。Datasmith では、プロジェクトの「Materials/Master」フォルダにこの親マテリアルのインスタンスも作成されます。Datasmith では、Unreal Engine の物理ベース レンダラで SketchUp でのレンダリング結果と同等の結果を生成する目的で、それぞれの親マテリアルのマテリアル グラフを作成します。

独自の親が存在しないインスタンス化マテリアルもあります。可能であれば、2 つの異なるマテリアル インスタンスが同じマテリアル グラフを共有している場合、Datasmith ではその両方のマテリアル インスタンスに対して 1 つの親マテリアルを使用しようとします。

Unreal で表示される [Material (マテリアル)] プロパティは、SketchUp のマテリアルがどのように設定されていたかによって異なります。親マテリアルの PBR グラフを編集することで、さらにマテリアル プロパティを追加できます。

SketchUp からシーンを再度インポートすると、これらのプロパティは上書きされます。

親マテリアルを編集して、次のセクションで説明するプロパティを追加またはオーバーライドできます。

色とテクスチャの画像

デフォルトでは、インポートしたマテリアルは SketchUp で保持していたテクスチャまたは色を維持します。これをオーバーライドして、マテリアルがソリッド カラーまたはテクスチャのいずれかを使用するように設定することができます。

  • [Color (色)] オプションまたは [Use Texture Image (テクスチャの画像を使用する)] オプションのいずれかをオンにします ([Color (色)] オプションが表示されない場合は、まず [Use Texture Image (テクスチャの画像を使用する)] オプションをオフにしてください)。

  • ソリッド カラーを使用するには、希望の色を出力できるように RGB カラー値を設定します。  datasmith-sketchup-material-color.png なお、A チャンネルは使用されないことに注意してください。アルファ ブレンディングは別の [Opacity (オパシティ)] オプションでコントロールされます (以下参照)。

  • テクスチャの画像を使用するよう選択すると [Texture (テクスチャ)] プロパティが表示され、使用するTexture アセットを参照するよう設定できます (Unreal プロジェクトにないテクスチャを使用する場合は、コンテンツ ブラウザにそのテクスチャをドラッグ&ドロップして、プロジェクトにインポートします)。 datasmith-sketchup-material-usetexture.png また、テクスチャがサーフェスにタイル化される方法を変更する場合は、[Texture Scale (テクスチャのスケール)] コントロールも使用できます。[R] 値は水平スケーリングを (UV 空間の U 軸)、[G] 値は垂直スケーリングをコントロールします (UV 空間の V 軸)。[B] 値と [A] 値は使用されません。

テクスチャのスケーリング設定の違いによる効果

オパシティおよびブレンド モード

マテリアルのベース カラーにソリッド カラーまたはテクスチャ マップのどちらを使用している場合でも、[Opacity (オパシティ)] コントロールを使用すると、スタティック メッシュを透かして見える背景の量を設定できます。

デフォルトでは、SketchUp マテリアルのオパシティ値が 100% 未満であれば、Unreal ではその値が正しく引き継がれてマテリアルに適用されます。

Unreal でこれまで 不透明 だったマテリアルに [Opacity (オパシティ)] を設定する場合は、マテリアルのブレンド モードを変更する必要があります。[General (一般)] セクションで [Material Property Overrides (マテリアル プロパティの上書き)] グループを展開し、[Blend Mode (ブレンド モード)] オプションをオンにして、その値を [Translucent (半透明)] に設定します。

UE Extended プロパティ

デフォルトでは、インポートされたマテリアルはすべて非メタリックで、バランスの取れたラフネス値「0.5」が設定されています。ただし、異なるマテリアルに対してこれらの値を調整することで、Unreal でのシーンのレンダリングでのリアリズムを容易に高めることができます。これらの値はプロパティの [UE Extended (UE 拡張機能)] グループにあります。

UE Extended group of properties

  • 金属で構成されるオブジェクトで [Metallic (メタリック)] オプションを選択します。これにより、ベース カラーまたはテクスチャがサーフェスに当たる入射光に影響する方法がわずかに変化します。

Default

Metallic On

  • オブジェクトのサーフェスが特に艶なし、または艶光りしている場合は、[Roughness (ラフネス)] チェックボックスをオンにして、その値を調整します。

デフォルトのRoughness:0.5

Roughness:0.05

  • オブジェクトの部分ごとに異なる光沢が必要な場合は、代わりにラフネス マップを使用できます。ラフネス マップは、艶消しする部分は白く塗り、艶光りさせる部分は黒く塗った、グレースケールのテクスチャの画像です。

  • どのようにラフネス値とメタリック値が相互作用して、光沢のあるサーフェスが作成されるかについては、「光沢のあるマテリアルの作成方法」を参照してください。

  • さらに、インポートしたマテリアルに法線マップを設定することもできます。これにより、ジオメトリの小スケール サーフェスの詳細に関するヒントがレンダラに提供されます。

法線マップなし

法線マップあり

法線マップおよびラフネス マップは、Adobe Photoshop などの 2D 画像作成ソフトウェアで生成できます。上の画像のテクスチャのように、これらの法線マップおよびラフネス マップをマテリアルのベース カラー テクスチャでベースとして使用できる場合もあります。

メタデータ

SketchUp で作成する各コンポーネントでは、[Price (価格)]、[Size (サイズ)] および [Status (ステータス)] など Advanced Attributes を設定できます。

Metadata in SketchUp Pro Advanced Attributes

SketchUp コンポーネントまたは SketchUp グループのエンティティ情報は標準の Datastmith メタデータ としてエクスポートされます。Unreal Engine は、SketchUp コンポーネントまたは SketchUp グループのルートを表すアクタに関するメタデータを格納します。

Datasmith のメタデータはコンポーネントのジオメトリを表す個別の Static Mesh アクタではなく、シーン階層のコンポーネントを表すアクタにアタッチされている場合があります。シーンでこのようなアクタを使用している場合、 ブループリントおよび Python でメタデータにアクセスする の例を調整する必要があります。

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