소개
여기에서는 BoneSpring을 사용하는 방법을 설명합니다.
이 가이드는 BoneCloth 사용 방법에 대한 내용을 이어서 다룹니다.
따라서 이미 설명된 항목은 생략하므로, 이 가이드를 읽기 전에 BoneCloth 사용 방법을 먼저 읽어 주세요.
BoneSpring이란?
BoneSpring은 Transform에 대한 스프링 흔들림 기능을 제공합니다.
이 기능은 캐릭터의 가슴 흔들림과 같은 효과를 구현하는 데 유용합니다.
또한 기능이 단순하여 처리 부하가 낮다는 장점이 있습니다.
BoneSpring 소개
이제 BoneSpring을 소개합니다.
여기에서는 샘플 UnityChanKAGURA의 가슴 흔들림을 예로 들어 설정 방법을 설명하겠습니다.
먼저 BoneCloth와 마찬가지로 계층 구조(Hierarchy)에서 마우스 오른쪽 버튼을 클릭하여 MagicaCloth 컴포넌트를 추가합니다.
그런 다음 ClothType을 [Bone Spring]으로 변경합니다.
이제 BoneSpring을 사용할 준비가 완료되었습니다.
Transform 등록
먼저, 시뮬레이션할 Transform을 등록해야 합니다.
KAGURA에서는 가슴 Transform에 대해 좌우 각각 시작점과 끝점이 한 쌍을 이루며, 총 4개의 Transform이 존재합니다.
BoneSpring에서는 계층 구조의 시작점이 되는 Transform을 등록해야 합니다.
KAGURA에서는 [DB_Bust_01_L]과 [DB_Bust_01_R]의 두 개의 Transform이 있습니다.
이 두 Transform을 RootBones에 추가합니다.
시작 Transform을 등록하면 해당 Transform의 모든 자식 Transform이 자동으로 함께 등록됩니다.
이때, 아래 그림과 같이 Scene 뷰에서 기즈모가 시각화됩니다.
BoneCloth와 마찬가지로, RootBones에 등록된 Transform은 자동으로 빨간색 고정 속성이 할당되며, 다른 Transform은 자동으로 흰색 이동 속성이 할당됩니다.
이 설정은 버텍스 페인팅을 통해 변경할 수도 있습니다.
버텍스 페인팅은 초록색 펜 아이콘을 통해 사용할 수 있습니다.
스프링과 추
매개변수를 설정하기 전에 중요한 BoneSpring 개념을 설명하겠습니다.
그것은 스프링과 추의 관계입니다.
먼저, 가장 중요한 점은 스프링 효과가 고정 속성이 있는 정점에만 적용된다는 것입니다.즉, 기즈모에서 빨간색으로 표시된 Transform에만 영향을 미칩니다.
BoneCloth 및 MeshCloth의 고정 정점은 원점에서 이동하지 않지만, BoneSpring에서는 흔들리도록 설정할 수 있습니다.
또한, 스프링 효과는 고정 정점에서 연결된 흰색 기즈모의 이동 정점에는 작용하지 않습니다.
대신 이동 정점은 추 역할을 합니다.
이동 정점이 움직이면서 고정 정점을 회전시키는 방식으로 작동하며, 이는 아래 동영상과 같은 동작을 합니다.
반대로, 만약 추 역할을 하는 이동 정점이 없다면 고정 정점은 회전하지 않습니다.
따라서 변동을 위한 이동 정점이 있을 때 더 자연스러운 움직임을 구현할 수 있습니다.
샘플 UnityChanKAGURA에서는 스프링을 위한 두 개의 고정 속성 정점과, 그로부터 확장된 두 개의 이동 속성 정점이 설정되어 있습니다.
프리셋
그다음, 매개변수를 설정하고 움직임을 조정해야 합니다.
그러나 이 과정은 익숙해지는 데 시간이 걸리므로, 우선 프리셋을 사용하여 간단한 설정을 해보겠습니다.
프리셋은 매개변수 설정이 포함된 파일입니다.
MagicaCloth에는 BoneSpring을 위한 세 가지 프리셋이 제공됩니다.
- SoftSpring
- MiddleSpring
- HardSpring
프리셋을 사용하면 원하는 움직임을 쉽게 설정할 수 있습니다.
프리셋은 [Preset] 드롭다운 메뉴에서 간단히 추가할 수 있습니다.
먼저 [MiddleSpring]을 설정해 보겠습니다.
이제 중간 강도의 스프링 매개변수가 확장됩니다.
동작 확인
설정을 완료한 후 실행하여 동작을 확인해 보세요!
실행 중에 캐릭터를 움직였을 때 가슴이 흔들린다면 성공입니다!
이제 실제로 조작하면서 매개변수를 조정하여 이상적인 움직임에 가깝게 만들어 보겠습니다.
매개변수 설정
이상적인 움직임을 구현하려면 매개변수를 이해하는 것이 필수적입니다.
여기에서는 각 매개변수가 BoneSpring에 어떻게 영향을 미치는지 설명하겠습니다.
스프링
고정 정점에서 스프링의 움직임을 제어합니다.
- Spring Power: 스프링의 강도를 설정합니다.
- Limit Distance: 원점으로부터 이동할 수 있는 최대 범위를 설정합니다.
- Normal Limit Ratio: 정점의 법선 방향으로 이동 범위를 추가로 제한할 수 있습니다. 이를 활용하면 움직임 범위를 타원형으로 만들 수 있습니다.
- 법선 방향 조정: 특정 매개변수를 사용하여 정점의 법선 방향을 변경할 수 있습니다.
- Spring Noise: 여러 스프링을 노이즈를 이용해 비동기화할 수 있습니다.
스프링 매개변수에 대한 자세한 내용은 Spring 항목을 참고하세요.
추(Pendulum)
이동 정점의 진자(추) 동작은 다음 두 패널을 통해 제어됩니다.
- Angle Restoration: 추의 복원력을 설정합니다.
- Angle Limit: 추의 각도 제한을 설정합니다.
이 두 패널의 동작 방식은 이전의 BoneCloth/MeshCloth와 동일합니다.
자세한 내용은 Angle Restoration 및 Angle Limit 항목을 참고하세요.
저항
Damping 값을 증가시키면 정점에서의 저항이 증가하여 움직임을 제어하는 브레이크 역할을 합니다.
이 매개변수를 증가시키면 스프링과 추의 진동이 빠르게 수렴하도록 조정할 수 있습니다.
관성
관성 패널은 BoneSpring에서도 중요한 역할을 합니다.
캐릭터의 움직임으로 인해 과도한 흔들림이 발생하는 경우, Inertia 매개변수를 낮춰서 움직임의 영향을 줄이는 것이 중요합니다.
자세한 내용은 Inertia 항목을 참고하세요.
충돌 감지
BoneCloth/MeshCloth와 달리, BoneSpring에서는 기본적으로 정점이 충돌 감지의 영향을 받지 않습니다.
정점에 충돌 감지를 추가하려면, 대상 Transform을 Collision Bones에 개별적으로 등록해야 합니다.
등록할 Transform은 RootBones 아래의 계층 구조에 존재해야 합니다.
등록이 완료되면 기즈모가 채워진 구형으로 변경되며, 콜라이더를 이용한 충돌 감지가 수행됩니다.
또한, BoneSpring의 충돌 감지는 특수한 방식으로 작동하며, 정점이 원점에서 이동할 수 있는 거리를 제한합니다.
이 거리는 Limit Distance를 통해 조정할 수 있습니다.
콜라이더에 대한 반발력은 거리의 변화에 따라 자동으로 감소합니다.
바람
BoneSpring은 바람의 영향을 받습니다.
바람의 영향을 줄이고 싶다면 Influence 값을 낮추세요.
자세한 내용은 Wind 항목을 참고하세요.
회전 제어
각 고정 정점과 이동 정점 Transform이 최종적으로 회전하는 방향을 제어할 수 있습니다.
이 두 가지 요소는 BoneSpring에서 매우 중요한 역할을 합니다.
자세한 내용은 RotationControl 항목을 참고하세요.
제한 사항
BoneSpring은 BoneCloth/MeshCloth와 거의 동일한 기능을 제공하지만, 스프링 동작을 제외하고 몇 가지 기능이 제한됩니다.
또한 일부 매개변수는 숨겨져 있으며 자동으로 설정됩니다.
- Transform 연결 방식이 Line 모드로 고정됨
- 중력이 자동으로 비활성화됨
- 사용자 지정 스키닝 기능을 사용할 수 없음
- Backstop 기능을 사용할 수 없음
- 자체 충돌(Self-collision) 기능을 사용할 수 없음
- 콜라이더 충돌이 Point 모드로 고정됨
- Transform에 대한 충돌 감지는 기본적으로 비활성화됨
- 충돌 감지를 수행할 Transform은 개별적으로 등록해야 함
- 형태 복원(Shape Restoration) 매개변수는 숨겨져 있으며 BoneSpring에 대해 자동으로 설정됨
'유니티 에셋 > Magica Cloth 2' 카테고리의 다른 글
매개변수 설정 (0) | 2025.03.02 |
---|---|
충돌 감지 설정 (0) | 2025.03.02 |
MeshCloth 사용 방법 (0) | 2025.03.01 |
BoneCloth 사용 방법 (0) | 2025.03.01 |
설치 방법 (0) | 2025.02.28 |