Collab Viewer に独自のコンテンツを追加する

Collab Viewer テンプレートに独自のモデルを取り込む方法を説明します。

Choose your operating system:

Windows

macOS

Linux

「Collab Viewer」テンプレートには、すぐに作業を開始できるようにプリセット コンテンツが付属しています。詳細な手順については、「 クイックスタート ガイド 」を参照してください。ただし、共同レビュー環境に慣れたら、その環境に自分独自のコンテンツを取り込むことをお勧めします。

このページでは、最も一般的ないくつかの関連タスクの実行方法について説明します。

独自の 3D モデルを使用する

「Collab Viewer」テンプレートには、すぐに作業を開始できるようにプリセット コンテンツが付属しています。ただし、同じ共同表示環境で自分独自のモデルを操作できるようにするには、独自のモデルに切り替える必要があります。

このプロセスで念頭に置く必要のある最重要事項は、プレイヤーが歩いたり、テレポートしたりできるのは、コリジョン メッシュやナビ メッシュを含むサーフェスに対してのみという点です。プレイヤーが探索できるようにしたい各フロアまたはサーフェスに、コリジョン ボリュームとこのボリュームに関連付けられたナビ メッシュがあることを確認する必要があります。

手順

Collab Viewer テンプレートのデフォルトのレベル内で独自のコンテンツを機能させるには、次のような考え方の手順を実行する必要があります。

  1. レベルから 3D モデルやライトなどの既存のコンテンツを削除して、独自のコンテンツを追加します。
    建物、ギア アセンブリ、木などのサンプル アセットは、 SampleLevel という名前のサブレベルにまとめられています。
    Sublevel inside the main persistent Level
    レベルを一から開始するには、この既存のサブレベルを削除して、自分のコンテンツをメインのパーシスタント レベル (または作成する新しいサブレベル) に配置するだけです。天球、ライトなど、サンプル シーンのシーン要素の一部を維持したい場合は、それらのアイテムをメインのパーシスタント レベルに移動できます。また、 [World Outliner (アウトライナ)] 「Building」 「Gears」 、および 「Trees」 フォルダなど、不要になったアイテムを選択して削除することもできます。

  2. コンテンツを配置して、パッケージ化されたアプリケーションで表示させたいとおりに、そのコンテンツの外観を設定します。

  3. プレイヤーが歩けたり、テレポートしたりできるようにしたい各サーフェスに、歩行やテレポートができるように設定されたコリジョン メッシュがあることを確認します。
    コンテンツのインポート方法によっては、ジオメトリのモデリングに使用する 3D デザイン アプリケーションでこれを実行できる場合があります。その他の場合、これを実行するためには、スタティック メッシュ エディタでスタティック メッシュを開き、 [Collision (コリジョン)] メニューのツールを使用します。

    コリジョンの設定を自動化する場合は、「 スタティック メッシュによるコリジョンのセットアップ 」または「 ブループリントおよび Python でのスタティック メッシュによるコリジョンのセットアップ 」も参照してください。

    ブロッキング ボリューム を使用して、非表示のボックス型のコリジョン ボリュームをレベルに追加する方法もあります。これは、スタティック メッシュを変更する必要なく、レベルでコリジョンを機能させることができる簡単な方法です。ただし、このようなボリュームはスタティック メッシュにアタッチされていないため、レベルでジオメトリを移動させる場合は、手動で移動する必要があります。

  4. レベルに 1 つ以上の Player Start アクタがあることを確認します。Player Start アクタを追加する必要がある場合は、 [Place Actors] パネルの [Basic (基本)] タブから追加の Player Start アクタを [Viewport (ビューポート)] にドラッグできます。

    新しいプレイヤーがセッションに参加すると、そのプレイヤーはランダムに選択された Player Start アクタの位置から開始します。新しいプレイヤーが問題なく開始するためには常に、レベルに 1 つ以上の Player Start アクタが必要です。プレイヤーが歩行モードに切り替えても、サーフェスから落ちないように、歩行可能なサーフェスのすぐ上にアクタを配置するとよいでしょう。

    このようなアクタのいくつかを同じ場所の周りに追加することをお勧めします。これで、新しいプレイヤーがセッションに参加したときに、他のプレイヤーの正確な場所と重なってしまう可能性が低下します。

  5. プレイヤーのテレポート先にしたい各サーフェスに、ナビ メッシュがあることを確認します。これには、Nav Mesh Bounds Volume (ナビメッシュ バウンズ ボリューム) にナビ メッシュを追加します。デフォルトのパーシスタント レベルには、サイズを変更して 3D モデルに対応できるボリュームが既にあります。または、ユーザーが独自のボリュームを作成することもできます。このようなボリュームはレベルに必要なだけいくつでも配置できます。
    ナビ メッシュを作成するには、次の手順を実行します。

    1. レベルに Nav Mesh Bounds Volume (ナビメッシュ バウンズ) が配置されていない場合は、 [Place Actors] パネルの [Volumes (ボリューム)] タブからこのボリュームを [Viewport (ビューポート)] にドラッグして追加します。

    2. [Viewport (ビューポート)] または [World Outliner (アウトライナ)] で [Nav Mesh Bounds Volume (ナビメッシュ バウンズ)] を選択して、ビューポートでそのトランスフォーム ギズモをカバーしたい領域のほぼ中心に移動します。

    3. [Details (詳細)] パネルで、 [Brush Settings (ブラシ設定)] を使用して、ボリュームのサイズと形状を変更します。

    4. ツールバーの [Build (ビルド)] アイコンをクリックして、レベルの事前計算データを再ビルドするか、 [Build (ビルド)] > [Navigation (ナビゲーション)] > [Build Paths (ビルド パス)] を選択してナビゲーション データのみを再ビルドします。

    5. P 」キーを押して、生成されたナビ メッシュを表示し、ナビ メッシュが期待する領域をカバーしていることを確認します。ナビ メッシュは、ボリュームと交差するコリジョン メッシュのやや上に重なっている緑色のサーフェスとしてレンダリングされます。

  6. 必要に応じて、ライティングをビルドします。

  7. クイック スタートガイド 」ページの手順に従って、プロジェクトを再パッケージ化して再配布します。

最終結果

上記の手順をすべて実行すると、複数のユーザーが単一のデザイン レビュー セッションに接続できるようになり、レベルに追加したカスタム コンテンツを全員で確認できます。

トランスフォームおよび XRay の挙動を制御する

コンテンツの設定方法により、トランスフォームと Xray (シースルー) のインタラクションの実行時のビヘイビアに影響を与えることができます。

  • 各アクタの [Mobility (可動性)] 設定では、実行時にトランスフォーム インタラクションを使用して該当オブジェクトを移動できるかどうかを決定します。実行時にオブジェクトを移動できるようにする場合は、 [Mobility (可動性)] [Movable(可動)] に設定します。オブジェクトをハイライトして選択できるようにしたいものの、空間でオブジェクトを移動できないようにする場合は、 [Mobility (可動性)] [Static (スタティック)] に設定します。

  • [World Outliner (アウトライナ)] にある親アクタと子アクタの階層は、トランスフォーム インタラクションと Xray (シースルー) インタラクションの両方に影響を与えます。

    • トランスフォーム インタラクションを使用して実行時にオブジェクトを移動すると、オブジェクトのすべての子は親とともに自動的に移動し、親からのその時点のオフセットが維持されます。

      例えば、この場合、トランスミッションのすべてのパーツが、中央の黒のバーである Transmission_Main_Part の子になります。

      Sample content parent-child hierarchy

      そのため、実行時に、黒のバーを動かすと、子のアクタも移動します。ただし、それぞれの子アクタを個別に移動することもできます。この次に親を移動すると、子は連動して新しいオフセットが維持されます。

      子アクタを元の位置にリセットすると、親アクタからの元のオフセットにリセットされますが、ワールド空間での元の位置 (回転状態) ではありません。親アクタを元の位置にリセットすると、すべての子が移動し、親からのその時点のオフセットが維持されます。

    • Xray Isolate インタラクション モードを使用して、シーンの 1 つのオブジェクトを選択すると、選択したオブジェクトと同じ階層にある他のすべてのオブジェクトが自動的に非表示になります。

      例えば、デフォルトのシーン コンテンツの場合、トランスミッション アセンブリを構成するすべてのオブジェクトは、階層の単一の最上位の親の下にあります。そのため、Xray Isolate を使用してトランスミッションの一部を選択すると、トランスミッションの他のすべての部分、つまり、同じ最上位の Gears アイテムを親とするすべてのアクタが非表示になります。建物を構成するアクタはすべて、その階層の別の最上位の Building アイテムの下にあるため、影響を受けません。

      同様に、下の画像のフロアのように建物の一部で Xray Isolate を使用すると、建物の他のすべての部分が透明になるものの、トランスミッション アセンブリは不透明のままです。

      どちらの場合も、 Gears 階層下でも Building 階層下でもないため、木と外部テレインは影響を受けません。

  • Xray またはトランスフォーム コマンドのどちらかを使用してアクタを操作できるようにしたい場合、 [Simulate Physics (物理シミュレーション)] 設定がオフである必要があります。これは、 [Physics (物理)] セクションの下にある [Details (詳細)] パネルにあります。

    Disable Simulate Physics

開始レベルを変更する

「Collab Viewer」テンプレートのメイン メニューは、ユーザーがメイン メニューを完了すると、 CollaborativeViewer_P レベルをロードするように設定されています。ただし、自分のコンテンツを保持するために新しいレベルを作成して、メイン メニューでこのレベルではなく独自のレベルを開始したい場合があります。この場合は、ユーザーがセッションに参加したときにレベルが開くように、メイン メニューでロジックを変更する必要があります。

手順

Collab Viewer の開始レベルを設定するには、次の手順を実行します。

  1. コンテンツ ブラウザ CollaborativeViewer/UMG/MainMenu フォルダで、 Widget_MainMenu アセットを検索します。

  2. アセットをダブルクリックして開き、 [Graph (グラフ)] をクリックしてウィジェット ブループリント ビューを開きます。

  3. [Commit user selections (ユーザー選択の確定)] というラベルのグループを見つけます。このグループ内で、 [Begin hosting a session (セッションのホスティングを開始)] という名前のサブグループを検索します。

  4. OpenLevel ノードの [Level Name (レベル名)] 入力を、ユーザーがセッションに接続すると開始するレベルの名前に変更します。

  5. ウィジェットを コンパイル して 保存 し、プロジェクトを再パッケージ化します。

最終結果

次回プロジェクトを開始して、メイン メニューを完了すると、上記の手順で設定したカスタム レベル内から開始されします。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる