자가 충돌(Self-Collision) 및 상호 충돌(Mutual Collision)


여기서는 두 가지 충돌 감지 기능인 자가 충돌과 상호 충돌에 대해 설명합니다.

두 기능은 유사하지만 용도가 다릅니다.

 

 

자가 충돌(Self-Collision)이란?

자가 충돌은 천 자체가 스스로와 충돌할 수 있도록 하는 기능입니다.

이 기능을 사용하면 천이 자체적으로 겹쳐지더라도 관통하지 않도록 설정할 수 있습니다.

 

 

상호 충돌(Mutual Collision)이란?

상호 충돌은 서로 다른 천 간의 충돌을 감지하는 기능입니다.

이 기능을 사용하면 각각 별도로 설정된 천들이 서로 충돌할 수 있도록 만들 수 있습니다.

 

 

 

 

 

사용 시 주의사항(Precautions for Use)


이 두 가지 충돌 기능은 강력하지만, 사용 시 몇 가지 주의할 점이 있습니다.

현재도 지속적으로 개선 및 연구가 진행 중입니다.

 

 

베타 버전(Beta Version)

자가 충돌 기능은 현재 베타 버전입니다.

따라서 향후 기능이 변경될 가능성이 높습니다.

 

 

높은 처리 부하(Processing Load)

자가 충돌은 매우 높은 연산 비용이 필요한 기능입니다.

따라서 데스크톱 PC 또는 고성능 콘솔 기기에서 사용하는 것이 권장됩니다.

이 비용은 프록시 메쉬의 버텍스 수에 정확히 비례하므로, 모바일 기기에서 사용할 경우 프록시 메쉬의 버텍스 수를 최대한 줄이는 것이 필수적입니다.

 

 

정확도 문제(Accuracy Problem)

현재 자가 충돌 기능의 정확도가 높지 않습니다.

특히 고속으로 움직이면 천이 서로 얽힐 가능성이 있으며, 하지만 내부적으로 얽힘을 감지하고 풀어주는 내장 메커니즘이 포함되어 있습니다.

 

 

진동 문제(Vibration Problem)

현재 자가 충돌 기능은 진동이 발생할 가능성이 큽니다.

이 문제는 프록시 메쉬의 구조에 크게 영향을 받으며, 메쉬의 형태에 따라 사용하기 어려울 수도 있습니다.

 

 

 

 

 

자가 충돌 설정(Self-Collision Settings)


자가 충돌은 [Self Collision] 패널에서 설정할 수 있으며, 이전의 다른 제약 조건보다 설정이 간단합니다.

 

자가 충돌에는 Self Mode와 Surface Thickness 두 가지 속성이 사용됩니다.

 

 

Self Mode(자가 충돌 모드)

현재 설정할 수 있는 모드는 Full Mesh뿐입니다.

Full Mesh는 Point-Triangle(점-삼각형) 및 Edge-Edge(모서리-모서리) 충돌 감지를 수행합니다.

 

추후에 더 다양한 모드가 추가될 가능성이 있습니다.

 

 

Surface Thickness(표면 두께)

Surface Thickness는 충돌 감지의 두께를 의미하며, 기본 단위는 미터(m)입니다.

자가 충돌은 콜라이더 충돌 감지에서 사용하는 버텍스 반지름을 사용하지 않고 오직 Surface Thickness 값만으로 충돌이 해결됩니다.

 

중요 사항: Surface Thickness는 충돌하는 두 버텍스의 값이 합산되어 적용되므로, 예를 들어 Surface Thickness를 0.005(m)로 설정하면 실제 충돌 두께는 0.01(m)이 됩니다.

또한, 이 두께 값은 상호 충돌과 공유됩니다.

 

두께가 클수록 충돌 감지가 더 강력해지지만, 너무 크게 설정하면 버텍스가 진동할 수 있습니다.

 

 

 

 

 

상호 충돌 설정 (Mutual Collision Setting)


상호 충돌은 [Self Collision] 패널에서도 설정할 수 있으며, 설정 과정이 자가 충돌보다 조금 더 복잡합니다.

 

Sync Mode

상호 충돌은 Sync Mode, Surface Thickness, Cloth Mass를 활용하여 설정됩니다.

자가 충돌과 마찬가지로 현재 설정할 수 있는 모드는 Full Mesh뿐이며, Full Mesh 모드는 상대 천(Cloth)에 대해 Point-Triangle 및 Edge-Edge 충돌 판정을 수행합니다.

 

모드를 Full Mesh로 변경하면, Sync Partner(동기화 파트너)를 설정할 수 있으며, 이 파트너가 충돌 대상이 됩니다.

 

예를 들어, 흰색과 초록색 두 개의 천이 있다고 가정할 때, 이 두 개의 천은 서로 독립적인 Cloth 컴포넌트입니다.

 

 

상호 충돌을 적용하려면 두 천 모두에 충돌을 설정할 필요는 없으며, 한쪽 천에만 상호 충돌을 설정하면 됩니다.

 

이 예제에서는 초록색 천을 설정하여 흰색 천과 충돌하도록 하며, 초록색 천의 설정에서 Sync Mode를 Full Mesh로 변경하고, Sync Partner로 흰색 천을 등록하면 됩니다.

 

반면, 흰색 천에는 Sync Mode와 Sync Partner를 설정할 필요가 없습니다.

 

이처럼 한 천에는 하나의 상호 충돌만 설정할 수 있으므로, 한 천에 대해 여러 개의 상호 충돌을 적용하려면, 어떤 천에 설정할지 신중히 고려해야 합니다.

 

 

Surface Thickness

Surface Thickness는 충돌 감지의 두께를 의미하며, 기본 단위는 미터(m)입니다.

이 설정은 자가 충돌(Self Collision)과 공유되므로, 자세한 사항은 자가 충돌 설명을 참고하면 됩니다.

 

중요한 점은, 충돌하는 두 천의 두께 값이 합산되어 계산된다는 것이며, 따라서 양쪽 천의 두께 값을 적절하게 설정하는 것이 중요합니다.

 

 

Cloth Mass

Cloth Mass는 상호 충돌 시 천의 무게를 결정하는 값으로, 값이 높을수록 천이 무거워집니다.

 

무거운 천과 가벼운 천이 충돌하면, 가벼운 천이 더 많이 움직이고, 무거운 천은 적게 움직이게 됩니다.

 

예를 들어, 액세서리와 스커트가 충돌할 때, 스커트의 무게를 더 무겁게 설정하면, 액세서리가 스커트를 불필요하게 밀어내는 현상을 방지할 수 있습니다.

따라서, 일반적으로 내부 층(layer)에 있는 천이 더 무거울수록 움직임이 더 안정적입니다.

'유니티 에셋 > Magica Cloth 2' 카테고리의 다른 글

바람 셋팅(Wind Setting)  (0) 2025.03.02
BoneCloth 고급 설정 (BoneCloth Advanced Settings)  (0) 2025.03.02
백스톱 (Backstop)  (0) 2025.03.02
버텍스 페인팅 방법  (0) 2025.03.02
매개변수 설정  (0) 2025.03.02

+ Recent posts