컨테이너 워크플로우

이 항목에서는 컨테이너를 사용할 수 있는 일반적인 시나리오에 대해 설명합니다.

컨테이너를 사용하여 장면 내용 복사 및 업데이트(로컬 참조)

워크플로우: 오브젝트를 컨테이너에 그룹화하고, 단일 엔티티로 변환하고, 복사본을 만들고, 복사본을 업데이트하고, 별도 개발을 위해 컨테이너를 분기합니다.

  1. 장면에 컨테이너를 만듭니다.

    컨테이너가 열린 상태로 표시됩니다. 열린 컨테이너는 편집이 완전히 가능합니다.

  2. 컨테이너에 장면 오브젝트를 추가합니다.

    추가한 오브젝트는 하위 오브젝트로 컨테이너에 연결됩니다.

    두 개의 아파트 모델이 컨테이너에 추가됨

  3. 컨테이너를 변환합니다.

    컨테이너를 변경하면 해당 내용에도 영향을 줍니다.

    컨테이너 내용이 장면에 재배치됨

  4. 컨테이너 관리 롤아웃에서 닫을 시 자동 업데이트를 켠 후 컨테이너를 닫고 Block_A.maxc로 저장합니다.

    컨테이너 내용이 뷰포트에 여전히 표시되지만 결과적으로는 장면에서 제거된 것입니다(예를 들어, 내용을 선택하려고 하면 대신 컨테이너가 선택됨). 이제 장면이 저장된 위치에서 Block_A.maxc 파일을 참조합니다.

  5. 컨테이너 복사본을 두 개 만든 다음 장면의 필요한 위치에 각 복사본을 재배치합니다.

    모든 컨테이너에서 동일한 Block_A.maxc 파일을 참조합니다.

    원본 Block_A 컨테이너(맨 왼쪽) 및 두 개의 복사본(가운데 및 오른쪽)

  6. 컨테이너 중 하나를 연 후 두 번째를 엽니다.

    다른 컨테이너에서 특정 컨테이너의 정의를 편집하는 동안에는 해당 특정 컨테이너를 열 수 없다는 메시지가 표시됩니다. 이 기능은 변경된 컨테이너를 실수로 덮어쓰는 일이 없도록 해줍니다.

  7. 장면에 새 오브젝트를 만들고 열려 있는 컨테이너에 추가한 다음 저장을 클릭합니다.

    다른 컨테이너에서 동일한 MAXC 파일을 참조하므로 해당 컨테이너도 업데이트됩니다.

    모든 컨테이너에 추가한 오브젝트가 수신됨

  8. 열려 있는 컨테이너 사본을 선택하고 로컬 내용 롤아웃에서 다른 이름으로 저장을 사용하여 다른 이름 Block_B.maxc로 저장합니다.

    이제 Block_B 컨테이너가 자체 개발을 위해 분기됩니다. 이후 변경 사항은 사본에 적용되지 않습니다.

    Block_B 컨테이너(맨 오른쪽)가 분기됨. Block_A 컨테이너(왼쪽 및 가운데) 업데이트에 의해 영향을 받지 않음.

컨테이너를 사용하여 외부에서 만든 내용 공유 및 편집(위치에서 편집)

워크플로우: 다른 사용자의 내용을 상속하고, 변경 사항을 원래 작성자에게 전달하고, 로컬 개발을 위해 참조된 컨테이너에서 분기합니다.

  1. 사용자 B는 컨테이너 탐색기로 이동한 후 컨테이너 상속을 클릭하고 컨테이너 상속 대화상자를 사용하여 이전 절차에서 나왔던 Block_A.maxc 파일을 엽니다.

    컨테이너는 사용자 A의 장면에서 저장되었던 위치에 나타납니다. 이때 사용자 B는 해당 컨테이너를 사용할 수 있지만 내용에는 액세스할 수 없습니다.

    사용자 B(오른쪽)가 사용자 A(왼쪽)의 컨테이너를 상속함

  2. 사용자 A는 컨테이너의 건물을 변경하고 닫을 시 자동 업데이트를 켭니다.

    컨테이너를 닫기 전 사용자 A의 건물(왼쪽)에 대한 변경 사항

  3. 사용자 A가 컨테이너를 닫습니다. 사용자 B는 닫을 시 자동 업데이트를 켠 후 최신 변경 사항을 자동으로 상속합니다.

    컨테이너는 닫힐 때 자동으로 저장됩니다. 컨테이너가 저장되고 상속된 컨테이너에 대해 닫을 시 자동 업데이트가 켜지면 사용자 B는 사용자 A가 내용을 닫는지 여부에 관계없이 내용 변경 사항을 상속합니다.

    사용자 A의 변경 사항을 상속한 후 사용자 B의 컨테이너(오른쪽)

  4. 이제 사용자 A는 자신의 컨테이너를 다른 사용자가 편집할 수 있도록 설정할 준비가 되었습니다. 규칙 롤아웃에서 사용자는 상속 시 허용할 항목 위치에서 편집만으로 설정한 후 컨테이너를 닫습니다.

    사용자 B의 컨테이너에 대한 업데이트 버튼 옆에 있는 경고 아이콘에 업데이트가 필요하다는 메시지가 표시됩니다. 자동 업데이트는 변경된 내용에만 적용되고 컨테이너 자체의 변경된 설정에는 적용되지 않습니다.

  5. 사용자 B는 컨테이너 관리 롤아웃으로 이동하여 업데이트를 클릭합니다.

    위치에서 편집 버튼을 사용할 수 있게 되므로 사용자 B는 이 버튼을 클릭합니다.

    주: 사용자 B가 컨테이너를 편집할 수 있으려면 사용자 A가 이 컨테이너를 닫아야 합니다. 위치에서 편집 컨테이너는 한 번에 한 사용자만 사용할 수 있습니다.
  6. 사용자 B는 편집을 수행한 후 위치에서 편집을 다시 클릭하여 위치에서 편집 모드를 끝냅니다.

    컨테이너가 닫히고 사용자 A의 소스 정의를 덮어씁니다. 다음에 작성자나 컨테이너를 참조하는 다른 사용자가 컨테이너를 로드하면 사용자 B의 변경 사항이 표시됩니다.

    사용자 A가 사용자 B의 변경 사항을 상속함

    주: 위치에서 편집을 사용할 때 컨테이너 기능은 자동 잠금 기능을 제공하여 같은 컨테이너를 편집하는 사람들이 다른 사용자가 변경한 사항을 덮어쓰지 않도록 합니다.
  7. 사용자 B는 컨테이너의 복사본을 만든 다음 다른 프로젝트에 사용해야 합니다.

    내용 상속 롤아웃에서 사용자 B가 소스 정의 병합을 클릭합니다. 이제 내용이 로컬이 되고 외부 소스에서 상속된 것이 아니라 현재 장면에서 처음부터 만들어진 것처럼 동작합니다. 컨테이너는 이제 분기되며 어떤 규칙에 의해서도 액세스가 제한되지 않습니다.

    복사한 컨테이너(오른쪽)가 분기되고 다른 프로젝트에서 사용됨

컨테이너를 사용하여 복잡한 장면의 내용 조작 및 가시성 설정

워크플로우: 컨테이너를 닫고, 컨테이너를 언로드하여 해당 내용을 장면에서 제거하고, 컨테이너 도우미를 장면의 다른 영역으로 이동하고, 컨테이너를 다시 로드하여 새 위치에 해당 내용이 표시되도록 합니다.

  1. 장면에 컨테이너 3개를 만들고 닫은 다음 각 컨테이너를 고유한 이름으로 저장합니다.

    컨테이너가 디스크에 저장되고, 해당 내용이 뷰포트에는 표시되지만 장면에서 제거됩니다. 장면 성능이 향상됩니다. 이제 장면 파일을 저장하고 다시 로드할 때는 물론 자동 저장할 때도 시간이 단축됩니다.

    저장된 3개의 로컬 컨테이너를 사용한 도시 장면

  2. 언로드를 클릭하여 선택한 컨테이너의 내용을 일시적으로 제거합니다.

    한 컨테이너를 언로드한 상태의 도시 장면

  3. 언로드한 컨테이너 도우미를 새 위치로 이동한 다음 로드를 클릭합니다.

    컨테이너 내용이 새 위치에 다시 나타납니다.

    거리 아래로 이동된 컨테이너

    다시 로드된 컨테이너 내용

    이렇게 하면 복잡한 장면이나 데이터 양이 많은 장면에 내용을 빠르게 포함시키고 제외시킬 수 있습니다.

컨테이너를 사용하여 내용 편집 기능 제어(병합 관리 및 고유하게 설정)

워크플로우: 컨테이너를 만들어 두 번째 컨테이너를 내부에 배치하고, 주 컨테이너를 편집할 수 있도록 허용하고, 다른 사용자의 편집을 방지하기 위해 중첩된 컨테이너를 상속합니다.

  1. 사용자 A가 컨테이너를 만들고 도시 블록의 내용을 추가합니다.

    도시 블록 하나의 오브젝트가 추가된 컨테이너(오른쪽)

  2. 사용자 A가 두 번째 컨테이너를 만들고 고층 건물을 추가한 다음 컨테이너를 저장하고 첫 번째 컨테이너에 추가합니다.

    이제 사용자 A는 상위 컨테이너와 내부에 중첩된 다른 컨테이너를 갖고 있습니다.

    고층 건물 컨테이너(왼쪽)가 내부에 중첩된 주 컨테이너(오른쪽)

  3. 사용자 A는 상위 컨테이너를 선택합니다. 다음에 규칙 롤아웃에서 위치에서 편집만을 선택한 후 컨테이너를 저장합니다.
  4. 사용자 A는 다른 사람들이 고층 건물 컨테이너를 편집하지 못하게 하려고 하므로 고층 건물 컨테이너를 선택하고 내용 상속을 사용하고 소스 정의를 선택한 후에 주 컨테이너를 다시 저장합니다.

    이제 고층 건물 컨테이너가 주 컨테이너로 상속되며 해당 내용에 대한 액세스는 금지됩니다.

  5. 사용자 B는 장면에 주 컨테이너를 상속한 다음 소스 정의 병합을 클릭합니다. 이렇게 하면 컨테이너는 작성자의 장면에 있을 때와 동일한 상태가 됩니다. 즉, 열린 컨테이너는 편집 가능하지만 중첩된 닫힌 컨테이너는 참조되므로 편집이 불가능합니다.

    사용자 B(맨 아래)가 사용자 A(맨 위)로부터 컨테이너를 상속함

  6. 사용자 B는 편집할 수 없는 컨테이너에 대한 액세스도 필요하므로 모든 내용 고유하게 설정을 클릭합니다.

    이전에 편집할 수 없었던 컨테이너가 열리지만 더 이상 작성자의 소스 컨테이너를 참조하지 않습니다. 이제 사용자 B는 자신의 장면에 대해 컨테이너 내용을 로컬에서 수정할 수 있습니다.

    사용자 B는 사용자 A의 작업을 기반으로 계속 로컬에서 작업함

컨테이너를 사용하여 장면의 오브젝트 디스플레이 제어

워크플로우: 특정 컨테이너에서 작업하고 장면 내용의 나머지 부분을 숨길 수 있도록 컨테이너 디스플레이를 설정합니다. 장면의 디스플레이 구성을 영구적으로 변경하지 않고 디스플레이 설정을 변경합니다.

  1. 장면의 각 컨테이너에 대해 디스플레이 롤아웃 경계 상자 확장을 켭니다.

    이렇게 하면 각 오브젝트가 어떤 컨테이너에 속하는지 쉽게 식별할 수 있습니다.

    3개의 컨테이너와 해당 내용의 범위를 표시하는 해당 경계 상자

  2. 레이어 관리 대화상자를 열고 여기에서 특정 유형의 오브젝트만 보고 작업할 수 있도록 오브젝트 표시 특성을 설정합니다.

    램프 오브젝트 레이어가 표시된 장면

  3. 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 해당 오브젝트 특성을 레이어별로 설정합니다.
  4. 컨테이너를 선택한 상태에서 오브젝트 특성 재정의를 켭니다.

    맨 왼쪽 컨테이너의 디스플레이 특성이 다른 숨겨진 오브젝트 레이어를 재정의함

  5. 모든 컨테이너에 대해 오브젝트 특성 재정의를 켭니다.

    컨테이너 탐색기나 도구 컨테이너 하위 메뉴에서 선택한 컨테이너의 오브젝트 특성을 쉽게 재정의할 수 있습니다.

  6. 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 오브젝트 특성을 선택한 다음 디스플레이 특성을 오브젝트별 및 투명으로 설정합니다.

    뒤에 있는 오브젝트를 표시하기 위해 왼쪽 컨테이너 오브젝트 디스플레이 특성이 투명으로 설정됨

  7. 해당 장면 일부분만 신속하게 렌더링할 수 있도록 레이어 관리 대화상자에서 렌더를 클릭하여 왼쪽 및 오른쪽 컨테이너의 렌더 기능을 끕니다.

    왼쪽 및 오른쪽 컨테이너의 렌더 기능이 꺼짐

    장면의 렌더링 가능 내용은 개별 오브젝트 또는 레이어 설정이 아니라 컨테이너에 의해 결정됩니다.

평행 참조

워크플로우: 사용자 A는 사용자 B로부터 컨테이너를 상속하고, 사용자 B는 사용자 A로부터 컨테이너를 상속하며, 각 사용자가 업데이트를 클릭하여 상대방의 작업을 최신 상태로 유지합니다. 두 사용자는 해당 컨테이너에 대해 위치에서 편집 허용을 클릭하여 외부 사용자가 변경하는 것을 허용합니다.

  1. 사용자 A는 한 컨테이너에 건물 그룹을 모델링하고 있습니다. 사용자 B는 다른 컨테이너의 차량 애니메이션에 대해 작업하고 있습니다.

    사용자 A의 장면(위쪽) 및 사용자 B의 장면(아래쪽)

  2. 두 사용자는 서로의 컨테이너를 상속합니다.

    이제 사용자 A와 B가 병렬로 작업할 수 있습니다. 두 사용자는 장면의 해당 구성요소를 개발하는 동시에 상대방의 작업 진행 상황을 확인할 수 있습니다.

    사용자 A(위쪽)와 사용자 B(아래쪽)가 서로의 장면 구성요소를 상속함

  3. 사용자 A는 로컬 컨테이너를 선택하고 규칙 롤아웃에서 상속 시 허용할 항목 위치에서 편집만으로 설정한 후 컨테이너를 저장합니다.
  4. 사용자 B는 사용자 A로부터 상속된 컨테이너를 선택하고 업데이트를 클릭합니다. 그런 다음 사용자 A의 컨테이너에 키를 추가하여 애니메이션된 자동차의 이동을 동기화합니다.

    사용자 B가 키를 추가하여 사용자 A의 도시 부분으로 애니메이션을 확장함

  5. 사용자 A는 업데이트를 클릭하여 사용자 B의 최근 변경 사항을 확인합니다.

    사용자 A가 사용자 B의 변경 사항을 상속합니다.