천(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 컴포넌트로 콜라이더를 수동으로 추가해야 천과 월드가 비로소 서로를 인식하거나 볼 수 있습니다. 이런 과정 후에도 시뮬레이션은 여전히 일방향으로 일어납니다. 즉, 천은 다른 바디에 반응하지만 반대로 다른 바디에 힘을 적용하지는 못합니다.
뿐만 아니라, 천에는 구체, 캡슐, 원추형 캡슐(두 개의 스피어 콜라이더로 구성)의 세 가지 타입의 콜라이더만 사용할 수 있습니다. 이러한 제약은 모두 성능 향상을 위한 것입니다.
천의 특정 버텍스에 제약을 적용하여 움직임의 자유도를 높이거나 낮출 수 있습니다.
인스펙터의 Cloth 컴포넌트에서 Edit cloth constraints(왼쪽 상단 버튼)를 선택하십시오. 툴이 활성화되면 씬 뷰에서 메시의 모든 버텍스에 작은 구체가 나타납니다. 이 구체는 제약을 적용할 수 있는 천 파티클을 나타냅니다. 또한 Cloth Constraints 툴 창이 씬 뷰의 오른쪽 하단에 나타납니다.
각 천 파티클에 대해 두 가지 타입의 제약을 설정하고 표시할 수 있습니다. * Max Distance – 천 파티클이 버텍스 포지션으로부터 움직일 수 있는 최대 거리입니다. * Surface Penetration – 천 파티클이 메시를 관통할 수 있는 깊이입니다.
파티클 컬러는 현재 선택한 제약 타입에 따른 천 내 제약의 상대적 값을 나타냅니다.
프로퍼티 | 기능 | |
---|---|---|
Visualization | 표시할 제약 타입과 파티클을 선택할 수 있습니다. | |
Max Distance | 천 파티클의 최대 거리 값만 표시합니다. | |
Surface Penetration | 천 파티클의 표면 관통 값만 표시합니다. | |
Manipulate Backfaces | 이 옵션을 활성화하면 현재 보이는 천 부분 뒤에 숨겨져 있을 수 있는 파티클을 시각화하고 조작할 수 있습니다. | |
[컬러 스펙트럼] | 전체 천 내에 현재 적용된 최소값 및 최대값에 따라, 위에서 선택한 제약 타입에 대한 파티클 컬러와 제약 값 간의 대응을 제공합니다. 검은색은 항상 파티클에 제약이 없음을 의미합니다. | |
Constraint Size | 천 파티클을 나타내는 구체의 표시 크기입니다. 이 값을 적절하게 조절하면 제약을 더 쉽게 편집할 수 있습니다. 이 프로퍼티는 제약 자체에 영향을 주지 않습니다. |
3가지 모드를 사용하여 천 제약 값을 편집할 수 있습니다.
모드 | 설명 |
---|---|
Select | 미리 선택된 파티클 그룹에 고정 제약 값을 적용할 수 있습니다. |
Paint | 브러시로 천 파티클을 페인트하여 고정 제약 값을 적용할 수 있습니다. |
Gradient | 미리 선택된 파티클 그룹에 제약 값의 왼쪽-오른쪽 리니어 그레디언트를 적용할 수 있습니다. |
툴 프로퍼티와 수행해야 할 단계는 사용하는 모드에 따라 다릅니다. 모든 경우에서 마지막 단계는 제약 값을 적용하는 작업입니다.
천 충돌을 사용하면 게임에서 캐릭터의 옷과 기타 직물이 더 사실적으로 움직입니다. Unity 에디터에는 천 충돌을 처리하는 여러 천 파티클이 있습니다. 다음과 같은 목적으로 천 파티클을 설정할 수 있습니다.
천의 충돌 파티클을 설정하려면 천 인스펙터에서 Self Collision and Intercollision 버튼을 선택합니다.
Cloth Self Collision And Intercollision 창이 씬 뷰에 나타납니다.
Cloth 컴포넌트가 있는 스킨드 메시에서는 천 파티클이 자동으로 표시됩니다. 처음에는 천 파티클이 충돌하지 않도록 설정되어 있습니다. 이렇게 사용되지 않는 파티클은 검정색으로 나타납니다.
자체 충돌 또는 상호 충돌을 적용하려면 충돌을 적용할 파티클 세트를 하나 선택해야 합니다. 충돌을 적용할 파티클 세트를 선택하려면 Select 선택 버튼을 클릭합니다.
이제 마우스 왼쪽 버튼을 클릭한 채로 움직여 충돌을 적용할 파티클을 선택합니다.
선택된 파티클이 파란색으로 표시됩니다.
Self Collision and Intercollision 체크박스를 선택하여 충돌을 선택된 파티클에 적용합니다.
충돌하도록 적용한 파티클은 녹색으로 표시됩니다.
천의 자체 충돌 동작을 활성화하려면 천 인스펙터 창에서 Self Collision 섹션으로 이동하여 Distance 및 Stiffness 를 영(0)이 아닌 값으로 설정합니다.
프로퍼티: | 기능: |
---|---|
Distance | 각 파티클을 둘러싸는 구체의 지름입니다. Unity 에디터는 시뮬레이션 중에 이런 구체가 겹치지 않도록 합니다. Distance 는 설정에서 입력한 두 파티클 사이의 최소 거리보다 작아야 합니다. 거리가 더 크면 자체 충돌이 일부 거리 제약을 위반하게 되어 지터링이 발생할 수 있습니다. |
Stiffness | 파티클에 가해지는 분리 충격력이 얼마나 쎈지 설정합니다. 천 솔버가 이 연산을 담당하며, 파티클이 분리된 상태를 유지할 정도로 충분해야 합니다. |
자체 충돌 및 상호 충돌을 모두 시뮬레이션하려면 많은 시간이 소요될 수 있습니다. 충돌 거리를 작게 유지하고 자체 충돌 인덱스를 사용하여 서로 충돌하는 파티클 수를 줄이는 것이 좋습니다.
자체 충돌에는 삼각형이 아닌 버텍스가 사용되므로 천 두께보다 훨씬 큰 삼각형이 있는 메시에서 자체 충돌이 완벽하게 작동할 것이라고는 기대하지 마십시오.
Paint 및 Erase 모드에서는 마우스 왼쪽 버튼을 누른 채로 개별 천 파티클을 드래그하여 충돌에 사용할 파티클을 추가하거나 제거할 수 있습니다.
Paint 또는 Erase 모드에서는 충돌하도록 지정된 파티클은 녹색으로, 아무 것도 지정되지 않은 파티클은 검정색으로, 브러시 밑에 놓여진 파티클은 파란색으로 표시됩니다.
상호 충돌 파티클은 위에서 설명한 자체 충돌 파티클을 지정하는 방법과 같은 방법으로 지정할 수 있습니다. 자체 충돌과 마찬가지로 상호 충돌 파티클 세트를 하나 선택해야 합니다.
상호 충돌 동작을 활성화하려면 Physics 설정(Unity의 메인 메뉴: Edit > Project Settings 에서 Physics 카테고리 선택)의 Cloth InterCollision 섹션에서 Distance 와 Stiffness 를 0이 아닌 값으로 설정하십시오.
천 상호 충돌의 Distance 및 Stiffness 프로퍼티는 위에서 설명한 자체 충돌의 Distance 및 Stiffness 프로퍼티의 기능과 같습니다.
천은 임의의 월드 지오메트리와 그냥 충돌할 수는 없으며, 이제 Capsule Colliders 또는 Sphere Colliders 배열에 명시된 콜라이더와만 상호작용합니다.
스피어 콜라이더 배열은 하나의 유효한 SphereCollider 인스턴스를 담거나(두 번째 인스턴스는 null), 또는 두 개의 인스턴스를 담을 수 있습니다. 전자의 경우, ClothSphereColliderPair는 천이 충돌하게 될 하나의 스피어 콜라이더를 나타냅니다. 후자의 경우에는 두 개의 구에 의해 정의되는 원추형 캡슐 형태를 나타내며, 이때, 두 개의 구는 원뿔로 연결됩니다. 원추형 캡슐은 캐릭터의 팔다리를 모델링할 때 유용합니다.
2017–12–05 페이지 수정됨
Unity 2017.3에서 천 자체 충돌 및 상호 충돌 추가됨 NewIn20173