コンテナのワークフロー

このトピックでは、コンテナを使用する一般的なシナリオについて説明します。

コンテナを使用してシーン内容をコピーおよび更新する(ローカル参照)

ワークフロー: オブジェクトをコンテナにグループ化する、オブジェクトを単一のエンティティに変換する、コピーを作成する、コピーを更新する、コンテナを分離して個別に開発を行う。

  1. シーン内にコンテナを作成します。

    コンテナが開いた状態で表示されます。開いたコンテナは完全に編集可能です。

  2. コンテナにシーン オブジェクトを追加します。

    追加されたオブジェクトは、コンテナにそのコンテナの子としてリンクされます。

    コンテナに追加された 2 つのアパートのモデル

  3. コンテナを変換します。

    コンテナに対して行われたすべての変更は、その内容にも影響します。

    シーン内で再配置されたコンテナの内容

  4. [コンテナを管理](Manage Container)ロールアウトで[終了時に自動更新](Auto Update When Closed)をオンにし、コンテナを閉じて Block_A.maxc という名前で保存します。

    コンテナの内容はビューポートに表示されたままですが、これらは実際にはシーンから取り除かれています(たとえば、内容を選択すると代わりにコンテナが選択されます)。シーンは、Block_A.maxc ファイルをその保存場所から参照するようになります。

  5. コンテナのコピーを 2 つ作成し、次に各コピーをシーン内の適切な場所に再配置します。

    すべてのコンテナが Block_A.maxc ファイルを参照します。

    オリジナルの Block_A コンテナ(左端)とその 2 つのコピー(中央と右)

  6. コンテナの 1 つを開いてから、もう 1 つを開こうとします。

    すると、別のコンテナで定義を編集している間は、このコンテナを開けないことを通知するメッセージが表示されます。これにより、変更されたコンテナが誤って上書きされてしまうのを防ぐことができます。

  7. シーン内に新しいオブジェクトを作成し、それを開いたコンテナに追加して[保存](Save)をクリックします。

    その他のコンテナが同じ MAXC ファイルを参照しているため、これらのコンテナも更新されます。

    すべてのコンテナが追加されたオブジェクトを受け取った状態

  8. 開いたコンテナのコピーを選択し、[ローカル内容](Local Content)ロールアウトの[名前をつけて保存](Save As)を使用して、別の名前 Block_B.maxc で保存します。

    Block_B コンテナが分離され、独立して作業を行うことができます。この後、これに変更を加えても、コピーには適用されません。

    分離された Block_B コンテナ(右端)。Block_A コンテナ(左と中央)を更新しても影響を受けません。

コンテナを使用して、外部作成された内容を共有および編集する(その場編集)

ワークフロー: 他のコンテナから内容を継承する、オリジナルの作成者に変更を返す、参照しているコンテナから分離してローカルで作業を行う。

  1. ユーザ B がコンテナ エクスプローラ[コンテナを継承](Inherit Container)をクリックし、[コンテナを継承](Inherit Container)ダイアログ ボックスから前の手順で使用した Block_A.maxc ファイルを開きます。

    コンテナは、ユーザ A のシーンで保存した場所に表示されます。この時点では、ユーザ B はコンテナを使用できますが、内容にアクセスすることはできません。

    ユーザ A (左)のコンテナがユーザ B (右)に継承された状態

  2. ユーザ A がコンテナ内の建物に変更を加え、[終了時に自動更新](Auto Update When Closed)をオンにします。

    コンテナを閉じる前にユーザ A の建物(左)に対して行われた変更

  3. ユーザ A がコンテナを閉じます。ユーザ B が[終了時に自動更新](Auto Update When Closed)をオンにすると、最新の変更が自動的に継承されます。

    コンテナを閉じると、コンテナが自動的に保存されます。コンテナが保存され、継承したコンテナの[終了時に自動更新](Auto Update When Closed)がオンになっている場合には、ユーザ A がコンテナを閉じたかどうかに関係なく、内容に対する変更が常にユーザ B に継承されます。

    ユーザ A から変更を継承した後のユーザ B のコンテナ(右)

  4. これでユーザ A は、自分のコンテナを他のユーザが編集できるように設定する準備ができました。ユーザ A は、[ルール](Rules)ロールアウトで[継承した場合、以下を許可](When Inherited, Allow)を[その場の編集のみ](Only Edit In Place)に設定してコンテナを閉じます。

    ユーザ B のコンテナの[更新](Update)ボタンの横に、更新が必要であることを示す警告アイコンが表示されます。自動更新は、変更された内容に適用されますが、コンテナ自体の設定の変更には適用されません。

  5. ユーザ B は[コンテナを管理](Manage Container)ロールアウトに移動し、[更新](Update)をクリックします。

    [その場の編集](Edit In Place)ボタンが使用可能になります。ユーザ B はこれをクリックします。

    注: ユーザ B がコンテナを編集するには、ユーザ A がこのコンテナを閉じる必要があります。[その場の編集](Edit In Place)コンテナは、一度に 1 人のユーザだけが使用できます。
  6. ユーザ B はコンテナを編集し、[その場の編集](Edit In Place)を再度クリックして[その場の編集](Edit In Place)モードを終了します。

    コンテナが閉じ、ユーザ A のソース定義が上書きされます。次回、作成者(またはコンテナを参照しているユーザ)がコンテナをロードすると、ユーザ B が行った変更が表示されます。

    ユーザ A がユーザ B の変更を継承した状態

    注: [その場の編集](Edit In Place)を使用すると、コンテナの機能は、同じコンテナを編集しているユーザ同士が互いの変更を上書きしてしまうのを防ぐため、自動のロック機能を提供します。
  7. ユーザ B はコンテナのコピーを作成し、それを他のプロジェクトで使用する必要があります。

    [継承済み内容](Inherited Content)ロールアウトで、ユーザ B が[ソース定義を合成](Merge Source Definition)をクリックします。コンテナがローカル コンテナとなり、外部ソースから継承したものではなく、現在のシーンでゼロから作成されたコンテナのように動作します。これでコンテナが分離され、アクセスはどのルールにも制限されなくなりました。

    コピーされたコンテナ(右)が分離され、他のプロジェクトで使用されている状態

コンテナを使用して複雑なシーンで内容を操作し、可視性を設定する

ワークフロー: コンテナを閉じる、コンテナのロードを解除してシーンからその内容を削除する、コンテナ ヘルパーをシーン内の別の領域へ移動する、コンテナを再ロードしてその内容を新しい場所に表示する。

  1. シーン内に 3 つのコンテナを作成し、それらのコンテナを閉じ、それぞれを固有の名前で保存します。

    コンテナがディスクに保存され、その内容はビューポートでは引き続き表示されますが、シーンからは削除されます。シーン ファイルの自動保存、保存、再ロードの時間が短縮され、シーンのパフォーマンスが向上します。

    保存した 3 つのローカル コンテナを含む都市のシーン

  2. [ロード解除](Unload)をクリックして、選択したコンテナの内容を一時的に削除します。

    1 つのコンテナをロード解除した都市のシーン

  3. ロード解除したコンテナ ヘルパーを新しい位置に移動し、[ロード](Load)をクリックします。

    コンテナの内容が新しい場所に再表示されます。

    隣の区画に移動したコンテナ

    再ロードされたコンテナの内容

    このようにして、データ量の多い複雑なシーンで、内容の表示、非表示をすばやく切り替えることができます。

コンテナを使用して、内容の編集機能を制御する(合成と個別化の管理)

ワークフロー: コンテナを作成してその中に 2 つ目のコンテナを配置する、マスター コンテナの編集を許可する、ネストされたコンテナを継承して他のユーザが編集できないようにする。

  1. ユーザ A がコンテナを作成し、そのコンテナに都市ブロックの内容を追加します。

    1 つの都市ブロックのオブジェクトが追加されたコンテナ(右)

  2. ユーザ A が 2 つ目のコンテナを作成し、そこに高層ビルを追加します。次にコンテナを保存して 1 つ目のコンテナに追加します。

    ユーザ A は、内部に別のコンテナがネストされた親コンテナを保持することになります。

    高層ビルのコンテナ(左)が内部にネストされたマスター コンテナ(右)

  3. ユーザ A が親コンテナを選択します。次に、[ルール](Rules)ロールアウトで[その場の編集のみ](Only Edit In Place)を選択し、コンテナを保存します。
  4. ユーザ A は、Skyscraper が他のユーザに編集されるのを防ぎたいと考えています。このため、ユーザ A は Skyscraper を選択し、[内容を継承](Inherit Content)を使用してソース定義を選択し、マスター コンテナを再度保存します。

    これで、Skyscraper コンテナはマスター コンテナに継承され、その内容へのアクセスは

  5. ユーザ B が自分のシーンでマスター コンテナを継承し、次に[ソース定義を合成](Merge Source Definition)をクリックします。これにより、作成者のシーンと同じ状態のコンテナが配置されます。開いたコンテナは編集可能ですが、閉じているネストされたコンテナは参照されており、編集できません。

    ユーザ B (下)がユーザ A (上)からコンテナを継承した状態

  6. ユーザ B は、編集できないコンテナにもアクセスする必要があるため、[すべての内容を個別化する](Make All Content Unique)をクリックします。

    以前は編集できなかったコンテナが開きますが、このコンテナは作成者のソース コンテナを参照していません。ユーザ B は、このコンテナの内容をローカルで修正し、自分のシーンで使用することができます。

    ユーザ B はユーザ A の作業を基にローカルで作業を続行する

コンテナを使用して、シーン内のオブジェクトの表示を制御する

ワークフロー: 特定のコンテナで作業ができるようにコンテナの表示を設定し、それ以外のシーンの内容を非表示にする。次に、シーンの表示編成を永久的に変更することなく、表示設定を変更する。

  1. シーン内の各コンテナで、[表示](Display)ロールアウト [バウンディング ボックスを拡張](Expand Bounding Box)をオンにします。

    これにより、どのオブジェクトがどのコンテナに属するかを識別しやすくなります。

    内容が拡張された 3 つのコンテナとそれぞれのバウンディング ボックス

  2. [レイヤ マネージャ](Manage Layers)ダイアログ ボックスを開き、特定のタイプのオブジェクトのみを表示、編集できるよう、オブジェクトの表示プロパティを設定します。

    ランプ オブジェクトのレイヤが表示されたシーン

  3. コンテナを右クリックし、その[オブジェクト プロパティ](Object Properties)を[レイヤ別](By Layer)に設定します。
  4. コンテナが選択されたままの状態で、[オブジェクト プロパティを上書き](Override Object Properties)をオンにします。

    左端のコンテナの表示プロパティが他の非表示のオブジェクト レイヤを上書きした状態

  5. すべてのコンテナで、[オブジェクト プロパティを上書き](Override Object Properties)をオンにします。

    選択されたコンテナのオブジェクト プロパティは、コンテナエクスプローラ、または[ツール](Tools) [コンテナ](Container)サブメニューから簡単に上書きできます。

  6. コンテナを右クリックして[オブジェクト プロパティ](Object Properties)を選択し、次に[表示プロパティ](Display Properties)を[オブジェクト別](By Object)と[シースルー](See-Through)に設定します。

    背後のオブジェクトを表示するため、左のコンテナ オブジェクトの表示プロパティを[シースルー](See-Through)に設定した状態

  7. [レイヤ マネージャ](Manage Layers)ダイアログ ボックスで、[レンダリング可能](Render)をクリックし、左と右のコンテナのレンダリングをオフにすると、シーンの一部のみをすばやくレンダリングできます。

    左と右のコンテナのレンダリングをオフにした状態

    シーン内のレンダリング可能な内容は、各オブジェクトまたはレイヤの設定ではなく、コンテナごとに決定されます。

同時参照

ワークフロー: ユーザ A がユーザ B からコンテナを継承する、ユーザ B がユーザ A からコンテナを継承する、各ユーザが[更新](Update)をクリックして相手の最新の作業を保持する。次に、各ユーザが自分のコンテナで[その場の編集を許可](Allow Edit In Place)をクリックし、外部ユーザによる変更を許可する。

  1. ユーザ A が、あるコンテナで建物のグループをモデリングしています。ユーザ B は、別のコンテナで自動車のアニメーションを作成しています。

    ユーザ A のシーン(上)とユーザ B のシーン(下)

  2. 両方のユーザが相手のコンテナを継承します。

    ユーザ A とユーザ B は同時に作業を行うことができます。各ユーザは、シーン内にある自分のコンポーネントを作成しながら、同時に相手の作業の進行状況も確認できます。

    ユーザ A (上)とユーザ B (下)が相手のシーンのコンポーネントを継承した状態

  3. ユーザ A は自分のローカル コンテナを選択して、[ルール](Rules)ロールアウトで[継承した場合、以下を許可](when Inherited, Allow to)を[その場の編集のみ](Only Edit In Place)に設定し、コンテナを保存します。
  4. ユーザ B は、ユーザ A から継承したコンテナを選択し、[更新](Update)をクリックします。次に、ユーザ A のコンテナにキーを追加し、アニメートされた自動車の動きと同期させます。

    ユーザ B がキーを追加し、ユーザ A の都市の一部へアニメーションを拡張した状態

  5. ユーザ A が[更新](Update)をクリックし、ユーザ B が行った最近の変更を確認します。

    ユーザ A がユーザ B が行った変更を継承した状態