유니티 에셋/Magica Cloth 2

바람 셋팅(Wind Setting)

스크립팅하는애님 2025. 3. 2. 16:53

 

 

 

 

개요 (Overview)


바람 생성 기능을 사용하면 Cloth 시뮬레이션에 바람을 추가하여 보다 현실적인 표현이 가능합니다.

이는 MagicaWindZone 컴포넌트를 씬(Scene)에 배치하여 바람이 생성될 영역을 지정함으로써 제어됩니다.

또한 [Wind] 패널에서 설정을 조정하여 MagicaCloth 컴포넌트에 미치는 바람의 영향을 변경할 수도 있습니다.

 

 

 

 

 

샘플 씬 (Sample Scene)


바람 기능을 위한 샘플 씬이 제공되며, 해당 샘플은 다음 폴더에서 확인할 수 있으며, 자신의 렌더 파이프라인(Render Pipeline)에 맞는 씬을 선택하여 테스트하면 됩니다.

 

샘플 씬의 WindDemo에는 WindDemo.cs가 첨부되어 있으며, 이는 바람 기능을 테스트하는 코드입니다.

씬이 각각의 렌더 파이프라인에 따라 분리되어 있는 이유는 렌더링 머티리얼(Material)을 변경하기 위함이며, 포함된 샘플 코드는 모두 동일합니다.

 

 

윈드 존 설정 (Wind Zone Settings)


바람을 생성하려면 씬에서 바람의 범위를 지정해야 하며, 이를 위해 MagicaWindZone 컴포넌트를 사용합니다.
주의: Unity의 기본 WindZone 컴포넌트는 MagicaCloth에 영향을 미치지 않으므로, 반드시 전용 MagicaWindZone 컴포넌트를 추가해야 합니다.

MagicaWindZone 컴포넌트는 오른쪽 클릭 메뉴를 통해 추가할 수 있습니다.

 

 

바람 영역(Wind Zone)은 [Mode] 설정에 따라 여러 유형으로 나뉘며,

 

각 모드에 따라 설정 항목이 다르므로 이를 설명합니다.

 

 

글로벌 방향 (Global Direction)

 

 

씬 전체에 영향을 미치는 방향성 바람으로, 범위 제한이 없습니다.

Main 바람 속도 (m/s)
Turbulence 바람 난류(Turbulence) 비율
Direction Angle X 바람 방향 X축 각도 (Deg)
Direction Angle Y 바람 방향 Y축 각도 (Deg)
Is Addition 추가 방식(Addition Style) 플래그

 

 

 

구형 방향 (Sphere Direction)

 

 

구형 영역 내에서만 영향을 미치는 방향성 바람입니다.

Radius 바람이 영향을 미치는 영역 반경
Main 바람 속도 (m/s)
Turbulence 바람 난류(Turbulence) 비율
Direction Angle X 바람 방향 X축 각도 (Deg)
Direction Angle Y 바람 방향 Y축 각도 (Deg)
Is Addition 추가 방식(Addition Style) 플래그

 

 

박스 방향 (Box Direction)

 

 

 

박스 형태의 영역 내에서만 영향을 미치는 방향성 바람입니다.

Box Size 바람이 영향을 미치는 영역의 XYZ 크기
Main 바람 속도 (m/s)
Turbulence 바람 난류(Turbulence) 비율
Direction Angle X 바람 방향 X축 각도 (Deg)
Direction Angle Y 바람 방향 Y축 각도 (Deg)
Is Addition 추가 방식(Addition Style) 플래그

 

 

 

구형 방사형 (Sphere Radial)

 

 

구형 영역 내에서 중심에서 바깥쪽으로 퍼지는 방사형 바람입니다.

방사형 바람은 중심에서 바깥 방향으로 발생하므로 별도의 방향 지정이 필요 없습니다.

[Attenuation] 설정을 통해 중심에서 바깥쪽으로의 바람 강도 감쇠 곡선을 지정할 수 있습니다.

Radius 바람이 영향을 미치는 영역 반경
Main 바람 속도 (m/s)
Turbulence 바람 난류(Turbulence) 비율
Attenuation 바람의 감쇠(Attenuation) 곡선
Is Addition 추가 방식(Addition Style) 플래그

 

 

바람 존 우선순위 (Wind Zone Priority)

여러 개의 바람 존(Wind Zone)이 하나의 Cloth 컴포넌트에 겹쳐질 경우, 볼륨(Volume)이 가장 작은 바람 존만 활성화됩니다.
그러나 예외적으로 Global Direction 존은 볼륨 ∞(무한)으로 간주되어 가장 낮은 우선순위를 가집니다.
단, 이후 설명할 [IsAddition] 플래그가 활성화된 경우, 이 우선순위 규칙에서 제외됩니다.

 

 

IsAddition 플래그 (IsAddition Flag)

[IsAddition] 플래그를 활성화하면, 해당 바람 존이 '추가적(Additive)'으로 처리됩니다.

추가적 바람 존은 기존의 바람 존 우선순위 처리에서 제외되며, 동시에 여러 개의 바람이 Cloth에 영향을 줄 수 있습니다.

이 경우 바람이 하나에서 다른 것으로 전환되는 것이 아니라, 여러 개의 바람이 합산되어 적용됩니다.

단, 하나의 Cloth 컴포넌트에는 최대 3개의 추가적 바람(Additional Wind)만 적용할 수 있습니다.

 

 

 

 

MagicaCloth 설정 (MagicaCloth Settings)

각 Cloth 컴포넌트마다 바람 효과를 개별적으로 조정할 수 있으며, 이를 위해 [Wind] 패널을 사용합니다.

 

 

Influence 전체적인 바람 영향력 비율을 조정합니다. 값을 낮추면 바람의 영향을 약화시킬 수 있으며, 1.0(100%) 이상의 값도 설정 가능합니다.
Frequency 흔들림의 주기를 조정합니다. 값이 클수록 흔들림의 속도가 증가하며, 1.0(100%) 이상의 값도 설정 가능합니다.
Turbulence 바람의 난류(Turbulence) 비율을 조정합니다. 값이 클수록 흔들림이 더욱 불규칙해지며, 1.0(100%) 이상의 값도 설정 가능합니다.
Noise Blend 사인(Sine) 파형과 노이즈(Noise) 파형의 혼합 비율을 조정합니다. 두 파형은 이후 설명됩니다.
Synchronization 동기화 비율을 조정합니다. 1.0으로 설정하면 Cloth의 모든 부분이 동일한 방식으로 움직이며, 0.0으로 설정하면 각각 독립적으로 움직입니다.
Depth Weight 깊이 효과를 조정합니다. 값을 높이면 시작점(예: 허리 근처)의 버텍스가 바람의 영향을 덜 받도록 하여 스커트, 앞머리 등의 안정성을 향상할 수 있습니다.
Moving Wind 움직임에 따른 바람 효과를 자동으로 생성합니다. 값이 클수록 움직임에 따른 바람 효과가 더욱 강해집니다.

 

 

 

사인파(Sine Wave)와 노이즈파(Noise Wave)

바람의 변동을 표현하기 위해 사인(Sine) 파형노이즈(Noise) 파형 두 가지를 사용합니다.

사인(Sine) 파형은 일정한 주기로 바람이 변동하므로 일본 애니메이션과 같은 장면 연출에 적합합니다. 하지만 랜덤성이 부족한 단점이 있습니다.

 

노이즈(Noise) 파형은 불규칙한 주기를 가지며 보다 자연스럽고 현실적인 움직임을 생성할 수 있습니다.

 

이 두 가지 파형은 [Noise Blend] 값을 조정하여 혼합할 수 있습니다.

 

 

 

움직이는 바람 (Moving Wind)

[Moving Wind] 값을 증가시키면 캐릭터의 움직임에 따라 자동으로 바람이 생성됩니다.

 

  • 움직이는 바람 효과는 관성(Inertia) 매개변수의 영향을 받습니다.
  • 즉, 관성(Inertia) 설정을 통해 이동 영향이 감소하면, 움직이는 바람 효과도 함께 줄어듭니다.

 

 

튜닝 팁 (Tuning Tips)


  • 바람 존(Wind Zone)의 바람 속도는 최대 30m/s까지 설정 가능하지만, 너무 강한 바람은 충돌 감지 시 튜널링(Tunneling) 문제를 유발할 수 있으므로 주의해야 합니다.
  • 특정 Cloth 컴포넌트에서 바람 효과를 줄이고 싶다면 [Influence] 값을 조정하세요.
  • 스커트가 허리에서 너무 많이 흔들리지 않도록 하려면 [Depth Weight] 값을 증가시키세요.
  • 머리카락이 불규칙하게 흔들리도록 하려면 [Synchronization] 값을 낮추세요.
  • 흔들림의 랜덤성을 조정하려면 [Noise Blend]와 함께 [Synchronization] 값도 조정하세요.
  • 움직이는 바람(Moving Wind) 효과는 관성(Inertia) 매개변수 감소의 영향을 받습니다.
  • 강한 돌풍 효과를 만들고 싶다면, [Sphere Radial] 모드로 설정하고 [IsAddition] 플래그를 활성화하는 것이 효과적입니다.