Version: 2023.1
언어: 한국어
조인트 및 래그돌 안정성
다중 씬 물리

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

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 컴포넌트로 콜라이더를 수동으로 추가해야 천과 월드가 비로소 서로를 인식하거나 볼 수 있습니다. 이런 과정 후에도 시뮬레이션은 여전히 일방향으로 일어납니다. 즉, 천은 다른 바디에 반응하지만 반대로 다른 바디에 힘을 적용하지는 못합니다.

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

제약 편집 툴

천의 특정 버텍스에 제약을 적용하여 움직임의 자유도를 높이거나 낮출 수 있습니다.

인스펙터의 Cloth 컴포넌트에서 Edit cloth constraints(왼쪽 상단 버튼)를 선택하십시오. 툴이 활성화되면 씬 뷰에서 메시의 모든 버텍스에 작은 구체가 나타납니다. 이 구체는 제약을 적용할 수 있는 천 파티클을 나타냅니다. 또한 Cloth Constraints 툴 창이 씬 뷰의 오른쪽 하단에 나타납니다.

스킨드 메시 렌더러에서 천 제약 툴을 사용하는 예
스킨드 메시 렌더러에서 천 제약 툴을 사용하는 예

제약 타입 및 컬러

각 천 파티클에 대해 두 가지 타입의 제약을 설정하고 표시할 수 있습니다. * Max Distance – 천 파티클이 버텍스 포지션으로부터 움직일 수 있는 최대 거리입니다. * Surface Penetration – 천 파티클이 메시를 관통할 수 있는 깊이입니다.

파티클 컬러는 현재 선택한 제약 타입에 따른 천 내 제약의 상대적 값을 나타냅니다.

제약 시각화

천 제약 툴의 시각화 프로퍼티
천 제약 툴의 시각화 프로퍼티
프로퍼티 기능
Visualization 표시할 제약 타입과 파티클을 선택할 수 있습니다.
Max Distance 천 파티클의 최대 거리 값만 표시합니다.
Surface Penetration 천 파티클의 표면 관통 값만 표시합니다.
Manipulate Backfaces 이 옵션을 활성화하면 현재 보이는 천 부분 뒤에 숨겨져 있을 수 있는 파티클을 시각화하고 조작할 수 있습니다.
[컬러 스펙트럼] 전체 천 내에 현재 적용된 최소값 및 최대값에 따라, 위에서 선택한 제약 타입에 대한 파티클 컬러와 제약 값 간의 대응을 제공합니다. 검은색은 항상 파티클에 제약이 없음을 의미합니다.
Constraint Size 천 파티클을 나타내는 구체의 표시 크기입니다. 이 값을 적절하게 조절하면 제약을 더 쉽게 편집할 수 있습니다. 이 프로퍼티는 제약 자체에 영향을 주지 않습니다.

제약 편집 모드

3가지 모드를 사용하여 천 제약 값을 편집할 수 있습니다.

모드 설명
Select 미리 선택된 파티클 그룹에 고정 제약 값을 적용할 수 있습니다.
Paint 브러시로 천 파티클을 페인트하여 고정 제약 값을 적용할 수 있습니다.
Gradient 미리 선택된 파티클 그룹에 제약 값의 왼쪽-오른쪽 리니어 그레디언트를 적용할 수 있습니다.

툴 프로퍼티와 수행해야 할 단계는 사용하는 모드에 따라 다릅니다. 모든 경우에서 마지막 단계는 제약 값을 적용하는 작업입니다.

Select 모드 사용 시

Select 모드의 천 제약 툴

  1. 마우스 커서를 사용하여 선택 상자를 그리거나 한 번에 하나씩 파티클을 클릭합니다.
  2. Max Distance, Surface Penetration 또는 둘 다 중에서 선택 항목에 적용할 제약 타입을 활성화합니다.
  3. 방금 활성화한 제약 타입에 따라 값을 설정합니다.
Paint 모드 사용 시

Paint 모드의 천 제약 툴

  1. 브러시로 페인트할 영역에 따라 Brush Radius 를 조정합니다.
  2. Max Distance, Surface Penetration 또는 둘 다 중에서 적용할 제약 타입을 활성화합니다.
  3. 방금 활성화한 제약 타입에 따라 페인트 값을 설정합니다.
  4. 브러시로 파티클에 제약을 페인트합니다.
Gradient 모드 사용 시

Gradient 모드의 천 제약 툴

  1. 씬 뷰에서 2D 뷰를 토글합니다(툴은 3D 뷰에서 그레디언트를 적용할 수 없음).
  2. 마우스 커서를 사용하여 선택 상자를 그리거나 한 번에 하나씩 파티클을 클릭합니다.
  3. Gradient StartGradient End 중에서 선택 영역 내에 왼쪽에서 오른쪽으로 적용할 그레디언트의 한계값을 설정합니다.
  4. Max Distance, Surface 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

Cloth

조인트 및 래그돌 안정성
다중 씬 물리