Version: 2020.3
3D 물리 레퍼런스
박스 콜라이더

관절 바디

관절 바디를 사용하면 계층적으로 구성된 게임 오브젝트를 사용하여 로봇 팔, 키네마틱 체인 등과 같은 물리 관절을 빌드할 수 있습니다. 이를 통해 산업적 사용 환경에 대한 시뮬레이션 맥락에서 사실적인 물리 동작을 쉽게 구현할 수 있습니다.

프로퍼티

관절 바디를 사용하면 클래식 구성의 리지드바디일반 조인트를 통해 유사하게 정의할 수 있는 프로퍼티를 단일 컴포넌트에서 정의할 수 있습니다. 하지만 이러한 프로퍼티는 계층 구조 내 게임 오브젝트 포지션에 따라 다릅니다.

  • 관절의 루트 게임 오브젝트의 경우 물리 바디 프로퍼티만 설정할 수 있습니다.

  • 관절 내 자식 게임 오브젝트의 경우 물리 바디 프로퍼티뿐만 아니라, 이 게임 오브젝트를 해당 부모 게임 오브젝트에 연결하는 조인트의 타입 및 프로퍼티도 설정할 수 있습니다.

Articulation Body 프로퍼티는 다음의 메인 카테고리로 분류됩니다.

물리 바디 프로퍼티

관절 바디가 물리 환경에 반응하는 방식을 정의합니다.

프로퍼티 기능
Mass 관절 바디의 질량입니다(기본값은 킬로그램).
Immovable 이 프로퍼티를 사용하면 이 관절 바디의 이동 가능 여부를 정의할 수 있습니다. 이 프로퍼티는 루트 관절 바디에 대해서만 설정할 수 있습니다. 예를 들어 로봇 손의 기본 바디가 움직이지 않도록 만들 때 유용합니다. 물리 엔진은 다른 모든 제약과는 별도로 이를 확인하고 위반되지 않도록 보장합니다.
Use Gravity 이 프로퍼티를 사용하면 중력이 이 관절 바디에 영향을 미치는지 여부를 지정할 수 있습니다.

조인트 앵커 프로퍼티

관절 바디 및 해당 부모 관절 바디에 대한 조인트 앵커 좌표를 정의합니다.

프로퍼티 기능
Compute Parent Anchor 이 프로퍼티를 활성화하면 부모 기준 앵커를 현재 관절 바디의 앵커와 일치시킬 수 있습니다. 이 프로퍼티를 비활성화하면 Parent Anchor PositionParent Anchor Rotation 값을 별도로 설정할 수 있습니다.
Anchor Position 현재 관절 바디를 기준으로 한 앵커의 포지션 좌표입니다.
Anchor Rotation 현재 관절 바디를 기준으로 한 앵커의 회전 좌표입니다.
Parent Anchor Position 부모 관절 바디를 기준으로 한 부모 앵커의 포지션 좌표입니다. 이 프로퍼티는 Compute Parent Anchor를 비활성화한 경우에만 나타납니다.
Parent Anchor Rotation 부모 관절 바디를 기준으로 한 부모 앵커의 회전 좌표입니다. 이 프로퍼티는 Compute Parent Anchor를 비활성화한 경우에만 나타납니다.
Snap Anchor to closest contact 이 관절 바디의 표면에서 이 부모 관절 바디의 질량 중심과 가장 가까운 지점을 계산하고, 그에 대해 앵커를 설정합니다. Compute Parent Anchor를 활성화하면 부모 앵커도 그에 따라 함께 업데이트됩니다.

조인트 타입 선택 및 조인트 프로퍼티

현재 관절 바디를 해당 부모 관절 바디에 연결하는 조인트 타입을 선택하고, 공통 및 전용 프로퍼티를 정의합니다.

프로퍼티 기능
Articulation Joint Type 이 관절 바디를 해당 부모 관절 바디에 연결하는 조인트 타입입니다. 참고: 모든 조인트 타입에는 이 표에서 설명하는 프로퍼티가 공통적으로 존재하며, 그중 일부에는 특정 추가 프로퍼티가 있습니다.
Fixed 바디 사이에 단단하고 끊어지지 않고 늘어나지 않는 연결을 설정합니다. 고정 관절 조인트에는 이 표에서 설명하는 프로퍼티 이외에 다른 추가 프로퍼티는 없습니다.
Prismatic 특정 축을 따라 미끄러지는 동작을 제외하고 모든 모션을 방지합니다. 직동 조인트 추가 프로퍼티도 참조하십시오.
Revolute 특정 축을 중심으로 회전할 수 있습니다(예: 힌지). 회전 조인트 추가 프로퍼티도 참조하십시오.
Spherical 두 번의 스윙과 한 번의 트위스트를 허용하는 해부학적 조인트입니다. 구형 조인트 추가 프로퍼티도 참조하십시오.
Linear Damping 리니어 감속을 제어하는 ​​계수입니다.
Angular Damping 회전 감속을 제어하는 ​​계수입니다.
Joint Friction 조인트의 마찰로 인한 에너지 손실을 제어하는 ​​계수입니다.

직동 조인트 추가 프로퍼티

프로퍼티 기능
Axis 직동 조인트가 부모 앵커를 기준으로 모션을 허용하는 축을 지정합니다.
Motion 해당 축의 모션 제한 타입을 지정합니다.
Free 관절 바디가 부모 앵커의 특정 Axis 축에서 자유롭게 움직일 수 있습니다.
제한됨 Drive 프로퍼티에 지정된 Lower LimitUpper Limit에 따라 부모 앵커의 특정 Axis에서 관절 바디의 움직임을 제한합니다.
X Drive, Y Drive 또는 Z Drive 부모 앵커의 특정 Axis에 따라 조인트에 연결된 리니어 드라이브 프로퍼티입니다. 참고: 여기에는 하나의 드라이브 섹션만 있습니다. 해당 제목은 축 선택에 따라 자동으로 조정됩니다.

회전 조인트 추가 프로퍼티

프로퍼티 기능
Motion 부모 앵커의 X축을 중심으로 회전 제한 타입을 지정합니다.
Free 관절 바디가 부모 앵커의 X축을 중심으로 자유롭게 회전할 수 있습니다.
제한됨 X Drive 프로퍼티에 지정된 Lower LimitUpper Limit에 따라 부모 앵커의 X축에서 관절 바디의 회전을 제한합니다.
X Drive 부모 앵커의 X축을 중심으로 조인트에 연결된 회전 드라이브 프로퍼티입니다.

구형 조인트 추가 프로퍼티

프로퍼티 기능
Swing Y Y축을 중심으로 회전 제한 타입을 지정합니다.
Free 관절 바디가 부모 앵커의 Y축을 중심으로 자유롭게 회전할 수 있습니다.
제한됨 Y Drive 프로퍼티에 지정된 Lower LimitUpper Limit에 따라 부모 앵커의 Y축에서 관절 바디의 회전을 제한합니다.
Locked 부모 앵커의 Y축을 중심으로 관절 바디의 회전을 완전히 잠급니다. 참고: 동시에 두 개 이상의 자유도를 잠글 수 없습니다.
Swing Z Z축을 중심으로 회전 제한 타입을 지정합니다. 제공되는 옵션은 3개 축 모두에 대해 동일합니다.
Twist X축을 중심으로 회전 제한 타입을 지정합니다. 옵션은 3개 축 모두에 대해 동일합니다.
Y Drive, Z DriveX Drive 부모 앵커의 Y축, Z축 및 X축을 중심으로 조인트에 연결된 회전 드라이브 프로퍼티입니다. 참고: 드라이브마다 별도의 하위 섹션이 있습니다. 축을 잠그면 인스펙터에 Drive 프로퍼티가 나타나지 않습니다.

조인트 드라이브 프로퍼티

특정 축에 대한 조인트 한계와 이 축에 대한 조인트 드라이브 효과 파라미터를 설정합니다.

프로퍼티 기능
Lower Limit 조인트 타입에 따라 조인트가 바디의 움직임 또는 회전을 방지하는 하한값입니다. 관련 Motion, Swing 또는 Twist 프로퍼티를 Limited로 설정한 경우에만 이 프로퍼티를 정의할 수 있습니다.
Upper Limit 조인트 타입에 따라 조인트가 바디의 움직임 또는 회전을 방지하는 상한값입니다. 관련 Motion, Swing 또는 Twist 프로퍼티를 Limited로 설정한 경우에만 이 프로퍼티를 정의할 수 있습니다.
Stiffness 조인트를 타겟 쪽으로 끌어당기는 스프링의 강성도입니다.
Damping 조인트를 타겟 쪽으로 끌어당기는 스프링의 댐핑입니다.
Force limit 이 드라이브가 생성할 수 있는 최대 힘 또는 토크입니다.
Target 이 드라이브가 도달하려는 타겟 값입니다.
Target velocity 이 드라이브가 도달하려는 타겟 속도입니다.

관절 조인트 설정

조인트 드라이브 효과

모든 드라이브는 다음 공식으로 계산된 효과(힘 또는 토크)를 적용하여 현재 드라이브 파라미터를 타겟으로 가져오는 것을 목표로 하는 임시적 1D 스프링입니다.

효과 = 강성도 * (drivePosition - targetPosition) - 댐핑 * (driveVelocity - targetVelocity)

리니어 자유도에 연결된 드라이브는 힘을 생성합니다. 회전 자유도에 연결된 드라이브는 토크를 생성합니다. 조인트 드라이브 프로퍼티를 통해 이 공식의 각 파라미터를 설정하면 조인트와 관련된 모든 축에 대해 원하는 효과를 미세 조정할 수 있습니다.

효과 공식은 균형을 맞추거나 취소할 수 있는 두 개의 독립적인 항으로 구성됩니다. 예를 들면 다음과 같습니다.

  • 강성도를 0으로 설정하면 드라이브는 특정 속도에 도달하는 것을 목표로 합니다.

  • 댐핑을 0으로 설정하면 드라이브는 특정 속도에 도달하는 것이 아니라 특정 포지션에 도달하는 것을 목표로 합니다. 이 경우 드라이브는 타겟에 도달해도 정지하려고 하지 않습니다.

조인트 앵커

각 조인트에는 다음의 두 가지 앵커가 있습니다.

  • Anchor: 현재 관절 바디를 기준으로 합니다.

  • Parent Anchor: 부모 관절 바디를 기준으로 합니다.

기본적으로 Unity는 부모 앵커를 자동으로 계산하여 앵커의 포즈와 일치시킵니다. 하지만 Compute Parent Anchor 프로퍼티를 비활성화하여 부모 앵커를 수동으로 설정할 수 있습니다.

현재 Unity 에디터는 게임 오브젝트 변환 툴과 구별하기 위해 스케일된 변환 툴을 사용하여 앵커를 표시합니다.

앵커 포지션을 변경하려는 경우 인스펙터를 사용하여 조인트 앵커 프로퍼티를 편집하거나, 씬 뷰에서 해당 변환 툴을 직접 이동시키거나 회전시킬 수 있습니다.

참고: 새 관절 바디를 만들면 Unity는 앵커를 각 바디의 로컬 0에 배치합니다. 하지만 연결된 바디에 콜라이더가 연결된 경우 로컬 0은 앵커의 이상적인 기본 포지션이 아닙니다. 조인트가 바디를 서로 충돌시키려고 시도할 수 있기 때문입니다. Snap Anchor to closest contact 버튼을 사용하면 많은 관절에서 제대로 작동하는 더 바람직한 기본 앵커 위치를 설정할 수 있습니다.

조인트 자유도 및 한계

참고: 현재 씬 뷰를 사용하면 조인트 한계를 시각화할 수 있지만, 그래픽적으로 조작할 수는 없습니다.

고정 조인트

고정 조인트에는 자유도가 없으므로, 씬 뷰는 아무런 특정 마커도 표시하지 않습니다.

직동 조인트

직동 조인트는 부모 앵커를 기준으로 한 특정 축의 슬라이더입니다. 이 축은 기본 축(X, Y, Z)일 수 있지만, 부모 앵커를 회전시켜 월드 공간에서 다른 축 방향을 얻을 수도 있습니다.

자유 이동 또는 제한된 이동을 가지도록 직동 조인트를 설정할 수 있습니다. 이렇게 하려면 인스펙터를 사용하여 직동 조인트 전용 프로퍼티를 편집하십시오.

참고: 직동 조인트는 잠글 수 없습니다. 그러지 않으면 자유도가 제거되고 손상된 조인트가 될 수 있습니다.

직동 조인트 MotionLimited로 설정하면 씬 뷰에 이동 한계를 나타내는 마커가 표시됩니다.

  • 작은 빨간색 마커는 하한을 나타냅니다.

  • 작은 녹색 마커는 상한을 나타냅니다.

  • 흰색 점선은 한계 간에 허용된 이동을 나타냅니다.

조인트 한계를 조작하려면 인스펙터를 사용하여 조인트 드라이브 프로퍼티의 값을 편집해야 합니다.


제한된 직동 조인트의 예

참고: 직동 조인트 MotionFree로 설정하면 씬 뷰에 아무런 특정 마커도 나타나지 않습니다.

회전 조인트

회전 조인트는 기본적으로 부모 앵커의 X축을 중심으로 단일 회전 자유도가 있는 힌지입니다. 부모 앵커를 회전시켜 월드 공간에서 다른 축 방향을 얻을 수도 있습니다.

자유 회전 또는 제한된 회전을 가지도록 회전 조인트를 설정할 수 있습니다. 이렇게 하려면 인스펙터를 사용하여 회전 조인트 전용 프로퍼티를 편집하십시오.

참고: 회전 조인트는 잠글 수 없습니다. 그러지 않으면 자유도가 제거되고 손상된 조인트가 될 수 있습니다.

회전 조인트 MotionFree로 설정하면 씬 뷰에 빨간색 원판이 나타나 X축을 중심으로 한 자유 회전을 표시합니다.


자유 회전 조인트의 예

회전 조인트 MotionLimited로 설정하면 씬 뷰에 회전 한계를 나타내는 마커가 표시됩니다.

  • 작은 빨간색 마커는 하한을 나타냅니다.

  • 작은 녹색 마커는 상한을 나타냅니다.

  • 빨간색 원형 섹터는 한계 간에 허용된 회전 각도를 나타냅니다.

  • 부모 앵커의 Z축은 두 한계 각도의 레퍼런스(0) 역할을 합니다.

조인트 한계를 조작하려면 인스펙터를 사용하여 조인트 드라이브 프로퍼티의 값을 편집해야 합니다.


제한된 회전 조인트의 예

구형 조인트

구형 조인트는 휴머노이드 팔다리를 시뮬레이션하는 데 가장 적합한 해부학적 조인트입니다.

이 조인트 타입은 최대 세 개의 회전 자유도를 가질 수 있습니다. 이러한 각 회전은 Free, Limited 또는 Locked로 설정할 수 있습니다. 이렇게 하려면 인스펙터를 사용하여 회전 조인트 전용 프로퍼티를 편집하십시오.

참고: 구형 조인트에 대해 모든 회전을 동시에 잠글 수 없습니다. 그러지 않으면 자유도가 제거되고 손상된 조인트가 될 수 있습니다. 또한 시뮬레이션이 회전 조인트와 다르게 발생하고 성능 소모가 더 크기 때문에 회전 조인트를 모방하기 위해 두 스윙 축을 모두 잠그면 안 됩니다.

다음 사항은 회전 조인트와 마찬가지입니다.

  • 씬 뷰에서 컬러 원판으로 자유 회전을 표시하고 컬러 원형 섹터로 제한된 회전을 표시합니다. 각 컬러(빨간색, 녹색, 파란색)는 이 컬러 축(각각 X, Y, Z)을 중심으로 한 회전을 나타냅니다.

  • 작은 빨간색 및 녹색 마커는 각각 하한과 상한을 나타냅니다.


자유 구형 조인트의 예


스윙이 제한된 구형 조인트의 예

3D 물리 레퍼런스
박스 콜라이더