제약 조건 관리자 - MRTK2

제약 조건 관리자를 사용하면 제약 조건 구성 요소 집합을 변환에 적용할 수 있습니다. 게임 개체에 연결된 형식 TransformConstraint 의 구성 요소를 고려할 수 있습니다. 기본적으로 제약 조건 관리자는 게임 개체에 연결된 모든 제약 조건 구성 요소를 자동으로 수집하여 처리된 변환에 적용합니다. 그러나 사용자는 적용된 제약 조건 목록을 수동으로 구성하고 연결된 제약 조건의 하위 집합만 적용할 수 있도록 선택할 수 있습니다.

현재 다음 MRTK UX 요소는 제약 조건 관리자를 지원합니다.

검사기 속성 및 필드

제약 조건 관리자는 다음 두 가지 모드로 작동할 수 있습니다.

  • 자동 제약 조건 선택
  • 수동 제약 조건 선택

자동 제약 조건 선택

자동 선택

제약 조건 관리자의 기본 모드인 자동 제약 조건 선택에서는 연결된 모든 제약 조건 구성 요소의 목록과 단추로 이동제약 조건 추가 단추를 제공합니다.

게임 개체에 제약 조건 추가

이 단추를 사용하면 제약 조건 관리자 검사기에서 직접 제약 조건 구성 요소를 추가할 수 있습니다. 프로젝트의 모든 제약 조건 형식은 여기에 표시됩니다. 자세한 내용은 변환 제약 조건을 참조하세요.

구성 요소로 이동

개체에 있는 모든 제약 조건은 구성 요소로 이동 단추와 함께 여기에 나열됩니다. 이 단추를 사용하면 검사기에서 선택한 제약 조건 구성 요소로 스크롤하여 구성할 수 있습니다.

수동 제약 조건 선택

수동 선택

제약 조건 관리자가 수동 모드로 설정된 경우 제약 조건 목록에 연결된 제약 조건만 처리되고 변환에 적용됩니다. 표시된 목록에는 사용자가 선택한 제약 조건만 표시되고 항목을 제거하거나 추가하는 단추 또는 옵션으로 이동합니다 . 수동 모드를 처음으로 사용하도록 설정하는 경우 제약 조건 관리자는 연결된 제약 조건 구성 요소를 선택하기 위한 시작점으로 사용 가능한 모든 구성 요소를 목록으로 채웁니다.

항목 제거

이렇게 하면 수동으로 선택한 목록에서 항목이 제거됩니다. 이 옵션은 게임 개체에서 제약 조건 구성 요소를 제거하지 않습니다. 제약 조건 구성 요소는 이 구성 요소를 참조하는 다른 구성 요소를 실수로 중단하지 않도록 항상 수동으로 제거해야 합니다.

항목 추가

항목 추가는 아직 수동 목록에 없는 사용 가능한 모든 제약 조건 구성 요소를 보여 주는 드롭다운을 엽니다. 구성 요소가 수동 제약 조건 선택에 추가될 항목을 클릭합니다.

새 제약 조건 추가

이 옵션은 선택한 형식의 구성 요소를 게임 개체에 추가하고 새로 만든 제약 조건 구성 요소를 수동 제약 조건 목록에 추가합니다.

변환 제약 조건

제약 조건은 어떤 식으로든 조작을 제한하는 데 사용할 수 있습니다. 예를 들어 일부 애플리케이션에는 회전이 필요할 수 있지만 개체를 똑바로 유지해야 할 수도 있습니다. 이 경우 개체에 RotationAxisConstraint를 추가하고 이를 사용하여 회전을 y축 회전으로 제한할 수 있습니다. MRTK는 다양한 제약 조건을 제공하며, 모두 아래에 설명되어 있습니다.

또한 새 제약 조건을 정의하고 이를 사용하여 일부 애플리케이션에 필요할 수 있는 고유한 조작 동작을 만들 수도 있습니다. 이렇게 하려면 TransformConstraint에서 상속되는 스크립트를 만들고 추상 ConstraintType 속성 및 추상 ApplyConstraint 메서드를 구현합니다. 개체에 새 제약 조건을 추가하면 정의된 방식으로 조작을 제한해야 합니다. 또한 이 새 제약 조건은 제약 조건 관리자 자동 선택 영역에 표시되거나 수동 모드에서 항목 드롭다운을 추가 해야 합니다.

MRTK에서 제공하는 모든 제약 조건은 다음 속성을 공유합니다.

손 종류

제약 조건이 한 손, 양손 또는 두 종류의 조작에 사용되는지 여부를 지정합니다. 이 속성은 플래그이므로 두 옵션을 모두 선택할 수 있습니다.

  • 한 손: 선택한 경우 한 손으로 조작하는 동안 제약 조건이 사용됩니다.
  • 양손: 선택한 경우 두 손으로 조작하는 동안 제약 조건이 사용됩니다.

근접 유형

제약 조건이 근거리, 원거리 또는 두 종류의 조작에 사용되는지 여부를 지정합니다. 이 속성은 플래그이므로 두 옵션을 모두 선택할 수 있습니다.

  • Near: 선택할 경우 근거리 조작 중에 제약 조건이 사용됩니다.
  • Far: 선택할 경우 원거리 조작 중에 제약 조건이 사용됩니다.

FaceUserConstraint

제약 조건 얼굴 사용자

이 제약 조건이 개체에 연결되면 개체가 항상 사용자를 향하도록 회전이 제한됩니다. 이는 슬레이트 또는 패널에 유용합니다. 의 FaceUserConstraint 속성은 다음과 같습니다.

얼굴 어웨이

True이면 개체가 사용자로부터 멀어지게 합니다.

FixedDistanceConstraint

제약 조건 고정 거리

이 제약 조건은 조작 시작 시 조작된 개체와 다른 개체 변환 사이의 거리를 수정합니다. 조작된 개체에서 헤드 변환까지의 거리를 고정하는 등의 동작에 유용합니다. 의 FixedDistanceConstraint 속성은 다음과 같습니다.

제약 조건 변환

조작된 개체의 거리가 고정된 다른 변환입니다. 기본값은 카메라 변환입니다.

FixedRotationToUserConstraint

고정 회전

이 제약 조건은 조작되는 동안 사용자와 조작된 개체 간의 상대 회전을 수정합니다. 이는 조작된 개체가 조작 시작 시와 항상 동일한 얼굴을 사용자에게 표시하도록 하기 때문에 슬레이트 또는 패널에 유용합니다. 에 FixedRotationToUserConstraint 고유한 속성이 없습니다.

FixedRotationToWorldConstraint

월드로의 고정 회전

이 제약 조건은 조작되는 동안 조작된 개체의 전역 회전을 수정합니다. 조작을 통해 회전을 전달하지 않아야 하는 경우에 유용할 수 있습니다. 에 FixedRotationToWorldConstraint 고유한 속성이 없습니다.

MaintainApparentSizeConstraint

명백한 크기 유지

이 제약 조건이 개체에 연결된 경우 개체가 사용자로부터 얼마나 멀리 떨어져 있든 관계없이 사용자에게 동일한 명백한 크기를 유지합니다(즉, 사용자 보기 필드의 동일한 비율을 차지). 이를 사용하여 조작하는 동안 슬레이트 또는 텍스트 패널을 읽을 수 있도록 할 수 있습니다. 에 MaintainApparentSizeConstraint 고유한 속성이 없습니다.

MoveAxisConstraint

제약 조건 이동 축

이 제약 조건은 조작된 개체를 이동할 수 있는 축을 수정하는 데 사용할 수 있습니다. 이는 평면의 표면이나 선을 따라 개체를 조작하는 데 유용할 수 있습니다. 의 MoveAxisConstraint 속성은 다음과 같습니다.

이동 제약 조건

이동을 방지할 축을 지정합니다. 기본적으로 이러한 축은 로컬이 아닌 전역 축이지만 아래에서 변경할 수 있습니다. 이 속성은 플래그이므로 다양한 옵션을 선택할 수 있습니다.

  • X축: 선택한 경우 x축을 따라 이동이 제한됩니다.
  • Y축: 선택한 경우 y축을 따라 이동이 제한됩니다.
  • Z축: z축을 따라 이동하는 것은 선택한 경우 제한됩니다.

제약 조건에 로컬 공간 사용

true인 경우 조작된 개체의 로컬 변환 축을 상대적으로 제한합니다. False(기본값).

RotationAxisConstraint

제약 조건 회전 축

이 제약 조건은 조작된 개체를 회전할 수 있는 축을 수정하는 데 사용할 수 있습니다. 예를 들어 조작된 개체를 똑바로 세우고 y축 회전을 허용하는 데 유용할 수 있습니다. 의 RotationAxisConstraint 속성은 다음과 같습니다.

회전에 대한 제약 조건

회전을 방지할 축을 지정합니다. 기본적으로 이러한 축은 로컬이 아닌 전역 축이지만 아래에서 변경할 수 있습니다. 이 속성은 플래그이므로 다양한 옵션을 선택할 수 있습니다.

  • Y축: 선택한 경우 y축에 대한 회전이 제한됩니다.
  • Z축: z축에 대한 회전은 선택한 경우 제한됩니다.
  • X축: 선택한 경우 x축에 대한 회전이 제한됩니다.

제약 조건에 로컬 공간 사용

true인 경우 조작된 개체의 로컬 변환 축을 상대적으로 제한합니다. False(기본값).

MinMaxScaleConstraint

최소 최대 Constatint

이 제약 조건을 사용하면 조작된 개체의 배율에 대해 최소값과 최대값을 설정할 수 있습니다. 이는 사용자가 너무 작거나 너무 큰 개체의 크기를 조정하지 못하도록 하는 데 유용합니다. 의 MinMaxScaleConstraint 속성은 다음과 같습니다.

최소 크기 조정

조작 중 최소 배율 값입니다.

최대 크기 조정

조작 중 최대 배율 값입니다.

초기 상태에 상대적인

true이면 위의 값은 개체 초기 배율을 기준으로 해석됩니다. 그렇지 않으면 절대 배율 값으로 해석됩니다.