스프링 조인트
휠 콜라이더

천(Cloth) 컴포넌트는 스킨드 메시 렌더러와 함께 작동하여 직물을 시뮬레이션하는 물리 기반 솔루션을 제공합니다. 이 컴포넌트는 캐릭터의 옷에 사용하도록 특별히 고안되었고 스킨드 메시만 이 컴포넌트와 함께 사용할 수 있습니다. Cloth 컴포넌트를 스킨드 메시가 아닌 메시에 추가하면 해당 메시가 제거되고 스킨드 메시가 추가됩니다.

Cloth 컴포넌트를 스킨드 메시에 연결하려면 에디터에서 게임 오브젝트를 선택한 후 인스펙터 창에서 Add Component 버튼을 클릭하고 Physics > Cloth 를 선택합니다. 컴포넌트가 인스펙터에 표시됩니다.

프로퍼티

프로퍼티: 기능:
Stretching Stiffness 천이 늘어나는 강도를 설정합니다.
Bending Stiffness 천이 접히는 강도를 설정합니다.
Use Tethers 제약을 적용하여, 움직이는 천 파티클이 고정된 파티클로부터 너무 많이 이동하지 않도록 합니다. 이렇게 하면 과도하게 스트레치되지 않도록 할 수 있습니다.
Use Gravity 천에 중력 가속도가 적용되어야 할지 여부를 설정합니다.
Damping 모션 댐핑 계수를 나타냅니다.
External Acceleration 천에 적용되는 불변의 외부 가속입니다.
Random Acceleration 천에 적용되는 불규칙적인 외부 가속도입니다.
World Velocity Scale 월드 공간에서 캐릭터의 움직임이 천 버텍스에 얼마나 영향을 미치는지를 설정합니다.
World Acceleration Scale 월드 공간에서 캐릭터의 가속이 천 버텍스에 얼마나 영향을 미치는지를 설정합니다.
Friction 캐릭터와 충돌할 때 천의 마찰을 나타냅니다.
Collision Mass Scale 충돌 파티클의 매스를 얼마나 증가시킬지 설정합니다.
Use Continuous Collision 연속 충돌을 활성화하여 충돌 안정성을 높일 수 있습니다.
Use Virtual Particles 삼각형당 하나의 가상 파티클을 추가하여 충돌 안정성을 높일 수 있습니다.
Solver Frequency 초당 솔버의 반복 횟수를 나타냅니다.
Sleep Threshold 천의 슬립 임계값을 나타냅니다.
Capsule Colliders 천 인스턴스가 충돌할 캡슐 콜라이더의 배열을 나타냅니다.
Sphere Colliders 천 인스턴스가 충돌할 ClothSphereColliderPairs의 배열을 나타냅니다.

세부 정보

천은 씬 안의 모든 콜라이더와 반응하는 것은 아니고, 월드에 힘을 미치지도 않습니다. Cloth 컴포넌트가 추가되면 다른 바디에 전혀 영향을 주지 않고 반응하지도 않습니다. 그러므로 월드로부터 Cloth 컴포넌트로 콜라이더를 수동으로 추가해야 천과 월드가 비로소 서로를 인식하거나 볼 수 있습니다. 이런 과정 후에도 시뮬레이션은 여전히 일방향으로 일어납니다. 즉, 천은 다른 바디에 반응하지만 반대로 다른 바디에 힘을 적용하지는 못합니다.

뿐만 아니라, 천에는 구체, 캡슐, 원추형 캡슐(두 개의 스피어 콜라이더로 구성)의 세 가지 타입의 콜라이더만 사용할 수 있습니다. 이러한 제약은 모두 성능 향상을 위한 것입니다.

제약 툴(Edit Constraints Tool)

Edit > Constraints 를 선택하여 천 메시의 각 버텍스에 적용되는 제약을 편집할 수 있습니다. 모든 버텍스는 현재 시각화 모드에 따라 각 버텍스 값의 차이를 나타내는 컬러로 표시됩니다. 천 제약을 브러시로 천에 색칠하는 방법으로 제약을 적용할 수 있습니다.

프로퍼티: 기능:
Visualization 씬 뷰에서 툴의 시각적 형상 옵션을 최대 거리 또는 표면 침투 값으로 변경합니다. 후면 조작도 선택할 수 있습니다.
Max Distance 하나의 천 파티클이 버텍스 포지션으로부터 움직일 수 있는 최대 거리를 나타냅니다.
Surface Penetration 천 파티클이 메시를 얼마나 깊이 관통할 수 있는지 설정합니다.
Brush Radius 제약을 천에 색칠하여 적용할 때 사용하는 브러시의 반지름을 설정합니다.
스킨드 메시 렌더러에서 천 제약 툴을 사용하는 예
스킨드 메시 렌더러에서 천 제약 툴을 사용하는 예

두 가지 모드로 각 버텍스의 값을 변경할 수 있습니다.

  • Select 모드를 사용하여 버텍스 그룹을 선택할 수 있습니다. 이렇게 하려면 마우스 커서를 사용하여 선택 상자를 그리거나 버텍스를 한 번에 하나씩 클릭합니다. 그런 다음 Max Distance 또는 Surface Penetration 을 활성화하거나 둘 모두를 활성화한 후 값을 설정할 수 있습니다.

  • Paint 모드를 사용하여 개별 버텍스를 직접 조절할 수 있습니다. 이렇게 하려면 조절할 버텍스를 클릭합니다. 그런 다음 Max Distance 또는 Surface Penetration 을 활성화하거나 둘 모두를 활성화한 후 값을 설정할 수 있습니다.

두 가지 모드에서 Max DistanceSurface Penetration 에 값을 지정하면 씬 뷰에 바로 업데이트되어 나타납니다.

색칠 모드의 천 제약 도구
색칠 모드의 천 제약 도구

자체 충돌 및 상호 충돌

천 충돌을 사용하면 게임에서 캐릭터의 옷과 기타 직물이 더 사실적으로 움직입니다. Unity 에디터에는 천 충돌을 처리하는 여러 천 파티클이 있습니다. 다음과 같은 목적으로 천 파티클을 설정할 수 있습니다.

  • 자체 충돌. 천이 자신을 관통하는 것을 방지합니다.
  • 상호 충돌. 천 파티클이 서로 충돌할 수 있습니다.

천의 충돌 파티클을 설정하려면 천 인스펙터에서 Self Collision and Intercollision 버튼을 선택합니다.

천 인스펙터의 자체 충돌 및 상호 충돌 버튼
천 인스펙터의 자체 충돌 및 상호 충돌 버튼

Cloth Self Collision And Intercollision 창이 씬 뷰에 나타납니다.

천 자체 충돌 및 상호 충돌 창
천 자체 충돌 및 상호 충돌 창

Cloth 컴포넌트가 있는 스킨드 메시에서는 천 파티클이 자동으로 표시됩니다. 처음에는 천 파티클이 충돌하지 않도록 설정되어 있습니다. 이렇게 사용되지 않는 파티클은 검정색으로 나타납니다.

사용되지 않는 천 파티클
사용되지 않는 천 파티클

자체 충돌 또는 상호 충돌을 적용하려면 충돌을 적용할 파티클 세트를 하나 선택해야 합니다. 충돌을 적용할 파티클 세트를 선택하려면 Select 선택 버튼을 클릭합니다.

천 파티클 선택 버튼
천 파티클 선택 버튼

이제 마우스 왼쪽 버튼을 클릭한 채로 움직여 충돌을 적용할 파티클을 선택합니다.

클릭 및 드래그로 천 파티클 선택
클릭 및 드래그로 천 파티클 선택

선택된 파티클이 파란색으로 표시됩니다.

파란색으로 표시된 선택된 천 파티클
파란색으로 표시된 선택된 천 파티클

Self Collision and Intercollision 체크박스를 선택하여 충돌을 선택된 파티클에 적용합니다.

자체 충돌 및 상호 충돌 체크박스
자체 충돌 및 상호 충돌 체크박스

충돌하도록 적용한 파티클은 녹색으로 표시됩니다.

녹색으로 표시된 선택된 파티클
녹색으로 표시된 선택된 파티클

천의 자체 충돌 동작을 활성화하려면 천 인스펙터 창에서 Self Collision 섹션으로 이동하여 DistanceStiffness 를 영(0)이 아닌 값으로 설정합니다.

자체 충돌 파라미터
자체 충돌 파라미터
프로퍼티: 기능:
Distance 각 파티클을 둘러싸는 구체의 지름입니다. Unity 에디터는 시뮬레이션 중에 이런 구체가 겹치지 않도록 합니다. Distance 는 설정에서 입력한 두 파티클 사이의 최소 거리보다 작아야 합니다. 거리가 더 크면 자체 충돌이 일부 거리 제약을 위반하게 되어 지터링이 발생할 수 있습니다.
Stiffness 파티클에 가해지는 분리 충격력이 얼마나 쎈지 설정합니다. 천 솔버가 이 연산을 담당하며, 파티클이 분리된 상태를 유지할 정도로 충분해야 합니다.

자체 충돌 및 상호 충돌을 모두 시뮬레이션하려면 많은 시간이 소요될 수 있습니다. 충돌 거리를 작게 유지하고 자체 충돌 인덱스를 사용하여 서로 충돌하는 파티클 수를 줄이는 것이 좋습니다.

자체 충돌에는 삼각형이 아닌 버텍스가 사용되므로 천 두께보다 훨씬 큰 삼각형이 있는 메시에서 자체 충돌이 완벽하게 작동할 것이라고는 기대하지 마십시오.

PaintErase 모드에서는 마우스 왼쪽 버튼을 누른 채로 개별 천 파티클을 드래그하여 충돌에 사용할 파티클을 추가하거나 제거할 수 있습니다.

자체 충돌 파라미터
자체 충돌 파라미터

Paint 또는 Erase 모드에서는 충돌하도록 지정된 파티클은 녹색으로, 아무 것도 지정되지 않은 파티클은 검정색으로, 브러시 밑에 놓여진 파티클은 파란색으로 표시됩니다.

파란색으로 표시된 색칠 중인 파티클
파란색으로 표시된 색칠 중인 파티클

천 상호 충돌

상호 충돌 파티클은 위에서 설명한 자체 충돌 파티클을 지정하는 방법과 같은 방법으로 지정할 수 있습니다. 자체 충돌과 마찬가지로 상호 충돌 파티클 세트를 하나 선택해야 합니다.

상호 충돌 동작을 활성화하려면 Physics 설정(Unity의 메인 메뉴: Edit > Project Settings 에서 Physics 카테고리 선택)의 Cloth InterCollision 섹션에서 DistanceStiffness 를 0이 아닌 값으로 설정하십시오.

물리 설정에서 상호 충돌 동작 활성화
물리 설정에서 상호 충돌 동작 활성화

천 상호 충돌의 DistanceStiffness 프로퍼티는 위에서 설명한 자체 충돌의 Distance 및 Stiffness 프로퍼티의 기능과 같습니다.

콜라이더 충돌

천은 임의의 월드 지오메트리와 그냥 충돌할 수는 없으며, 이제 Capsule Colliders 또는 Sphere Colliders 배열에 명시된 콜라이더와만 상호작용합니다.

스피어 콜라이더 배열은 하나의 유효한 SphereCollider 인스턴스를 담거나(두 번째 인스턴스는 null), 또는 두 개의 인스턴스를 담을 수 있습니다. 전자의 경우, ClothSphereColliderPair는 천이 충돌하게 될 하나의 스피어 콜라이더를 나타냅니다. 후자의 경우에는 두 개의 구에 의해 정의되는 원추형 캡슐 형태를 나타내며, 이때, 두 개의 구는 원뿔로 연결됩니다. 원추형 캡슐은 캐릭터의 팔다리를 모델링할 때 유용합니다.


  • 2017–12–05 일부 편집 리뷰를 거쳐 페이지 수정됨

  • Unity 2017.3에서 천 자체 충돌 및 상호 충돌 추가됨 NewIn20173

스프링 조인트
휠 콜라이더