๐ฆด NovaBone Dynamics

๋ผ ์ฒด์ธ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ๋์จ โ ๋จธ๋ฆฌ์นด๋ฝ, ๊ผฌ๋ฆฌ, ์ค์ปคํธ, ์ก์ธ์๋ฆฌ, ์ง๊ธ๋ณธ์ ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ์๋ ๋ฌผ๋ฆฌ ์ ๋๋ฉ์ด์ ์ผ๋ก ๋ง๋ค์ด ์ค๋๋ค.
์ ์์: Chamiseul
๐บ๐ธ English | ๐ฐ๐ท ํ๊ตญ์ด
โจ ์ฃผ์ ๊ธฐ๋ฅ
- โ ์ฒด์ธ ์์~๋๋ง ์ง์ ํ๋ฉด ์๋ ์๋ฎฌ๋ ์ด์
- โ ์ค์ผ์ผ ๋ ๋ฆฝ โ ๋ธ๋ ๋ ๋ฆญ(1.0)๋ ์ธ๋ฆฌ์ผ ๋ฆญ(0.01)๋ ๊ฐ์ ๊ฐ์ผ๋ก ๋์ผํ ์์ง์
- โ ์ถฉ๋ ์ ฐ์ดํผ๋ฅผ ๋์ผ๋ก ๋ณด๋ฉด์ ํ๋
- โ ํํ ์ ๋ฐ ์ถฉ๋: Capsule / Cylinder / Box๊ฐ ๋จ์ ํ์๊ฐ ์๋๋ผ ์ค์ ๋ณผ๋ฅจ์ผ๋ก ์ถฉ๋ ๊ณ์ฐ (๋ฉํฐ ์ ์ด + ์ค์ CCD ํฐ๋๋ง ๋ฐฉ์ง)
- โ ์์ ์ ์ธ ์ ์ด: ์ํฐํด๋(๋ผ๊ฐ ๋ค์งํ ์ ํ๋ ํ์ ์ฐจ๋จ) + ์ํฐํคink(๋๋ ์ดํ ์ฒด์ธ์ ์ง๊ทธ์ฌ๊ทธ ์๋ ์ํ)
- โ ์ฒด์ธ ๋ชจ๋ + ์คํ๋ง(์ง๊ธ๋ณธ) ๋ชจ๋
- โ Blender ํด๋ก์ค/ํค์ด ์๋ฎฌ๋ ์ด์ ์ถฉ๋์ฒด ์ฐ๋
- โ ๊ฒ์ ์์ง ๋ฐ์ถ์ฉ ๋ฒ ์ดํฌ
โฒ Nํจ๋์ NovaBone ๋ฉ์ธ ํจ๋ โ ๋ชจ๋ ์ค์ ์ด ์ด ํ ๊ณณ์ ๋ชจ์ฌ ์์ต๋๋ค
๐ฅ ์ค์น
novaboneํด๋ ์์ ํ์ผ๋ค์ ์ ํํด์ zip์ผ๋ก ์์ถโ ๏ธ ํด๋์งธ ์์ถํ์ง ๋ง์ธ์.
blender_manifest.toml์ด zip ์ต์์์ ์์ด์ผ ํฉ๋๋ค.- Blender โ
Edit > Preferences > Get Extensions - ์ค๋ฅธ์ชฝ ์
โผโ Install from Disk โ zip ์ ํ - ์ค์น๋ NovaBone์ Enable(ํ์ฑํ)
- 3D ๋ทฐํฌํธ์์
Nํค โ NovaBone ํญ์ด ์๊น๋๋ค
์ง์ ๋ฒ์ : Blender 4.2 ์ด์ (5.0 / 5.2 LTS ํ ์คํธ ์๋ฃ)
๐ 5๋ถ ์์ ๋ฐ๋ผํ๊ธฐ (Quick Start)
โฒ ๋ผ ์ ํ โ ์ฒด์ธ ์์ฑ โ ์ฌ์. ์ด๊ฒ ์ ๋ถ์
๋๋ค.
- ์๋จธ์ฒ ์ ํ ํ ํฌ์ฆ ๋ชจ๋ ์ง์
- ๋ฌผ๋ฆฌ๋ฅผ ๋ฃ๊ณ ์ถ์ ๋ผ๋ค์ ์ ๋ถ ์ ํ (์ฐ๊ฒฐ๋ ๊ผฌ๋ฆฌ๋ผ๋ฉด: ๋ฟ๋ฆฌ ๋ผ๋ฅผ ๋ง์ง๋ง์ ํด๋ฆญ, ๋๋จธ์ง๋ Shift+ํด๋ฆญ)
- Nํจ๋ โ Setup Tools โ
Chains from Selectionํด๋ฆญ - ๋ผ๊ฐ ์ด์ง ๋์ด์ง๋ฉด ์ฑ๊ณต! ์คํ์ด์ค๋ฐ๋ก ์ฌ์
- ๋ชธ ๋ผ๋ฅผ ์์ง์ด๋ฉด ์ฒด์ธ์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฐ๋ผ ํ๋ค๋ฆฝ๋๋ค ๐
๐ก Shake & Play ๋ฒํผ์ ๋ผ๋ฅผ ํ๋ค๊ณ + ์ฌ์๊น์ง ์๋์ผ๋ก ์์ํฉ๋๋ค. ์ถ๋ ์ด๋ฉด ์์ง ์ ์์ ๋๋ค.
๐งญ ํจ๋ ๊ตฌ์กฐ
| ์น์ | ์ญํ |
|---|---|
| NovaBone Enabled | ์ ๋์จ ์ ์ฒด ์ค์์น |
| NovaSol Solver | ๋ฌผ๋ฆฌ ํ์งยทํ ์คํธ ๋๊ตฌ |
| Forces | ์ค๋ ฅยท๋ฐ๋ |
| Unit Normalization | ๋ฆญ ์ค์ผ์ผ ๋ณด์ |
| Setup Tools | ์ฒด์ธ ๋ง๋ค๊ธฐ |
| Armature | ์ค๋ธ์ ํธ๋ณ ์ค์ |
| Chains | ์ฒด์ธ๋ณ ์์ธ ๋ฌผ๋ฆฌ |
| Bake & Reset | ๋ฒ ์ดํฌยท๋ฆฌ์ |
1๏ธโฃ NovaBone Enabled
๊ฐ์ฅ ์์ ํฐ ๋ฒํผ. ON์ด์ด์ผ ๋ฌผ๋ฆฌ๊ฐ ์๋ํฉ๋๋ค. ์ฒด์ธ ์์ฑ ์ ์๋ ON. OFF๋ฉด ๋ฌผ๋ฆฌ๊ฐ ๋ฉ์ถ๊ณ ์ ๋๋ฉ์ด์ ์๋ณธ๋๋ก ์ฌ์๋ฉ๋๋ค.
2๏ธโฃ NovaSol Solver (๋ฌผ๋ฆฌ ํ์ง)
| ํญ๋ชฉ | ์ค๋ช | ๊ถ์ฅ๊ฐ |
|---|---|---|
| Substeps | ํ๋ ์ 1์ฅ์ ๋ช ์กฐ๊ฐ์ผ๋ก ๋๋ ๊ณ์ฐ. ๋์์๋ก ๋ถ๋๋ฝ๊ณ ๋จ๋จํ๊ณ ์ถฉ๋ ์ํฐํฉํธ๋ ์ค์ด๋ฆ | 8 (์ ์ด ๋ง๊ฑฐ๋ ๋น ๋ฅธ ์ฅ๋ฉด 10~16) |
| Iterations | ์ ์ฝ(๊ธธ์ดยท๊ฐ๋) ๋ฐ๋ณต ๊ณ์ฐ ํ์ | 3 |
| Time Scale | ๋ฌผ๋ฆฌ ์๊ฐ ์๋ (2 = ๋ ๋ฐฐ ๋น ๋ฆ, 0.5 = ์ฌ๋ก๋ชจ์ ) | 1.0 |
| ๋ฒํผ | ์ญํ |
|---|---|
| Simulate 1 Step | ํ์ฌ ํ๋ ์์์ ๋ฑ 1ํ๋ ์๋ง ์งํ (๋ฏธ์ธ ํ์ธ) |
| Shake & Play | ๋ผ๋ฅผ ๋๋คํ๊ฒ ํ๋ค๊ณ ์๋ ์ฌ์ ์์. ์ฌ์ ์ค ๋ค์ ๋๋ฅด๋ฉด ์ ์ง |
| Diagnostics | ์์ง ์ํยท์จ์ ์ค๋ฅ ํ์. ๋ฌธ์ ๋ฐ์ ์ ๊ฐ์ฅ ๋จผ์ ํด๋ฆญ |
โ ๏ธ ๋ฌผ๋ฆฌ๋ ํ๋ ์์ด ๋ฐ๋ ๋ ๊ณ์ฐ๋ฉ๋๋ค. ์ ์ง ์ํ์์ ์ ์์ง์ด๋ ๊ฑด ์ ์์ ๋๋ค.
๐ฏ ์ถฉ๋ ์ ๋ฐ ์์ง (v1.0.0)
NovaSol์ ์ถฉ๋์ ๋ ์ด์ ๋ผ๋น ๊ตฌ 1๊ฐ๊ฐ ์๋๋๋ค. ๋งค ์๋ธ์คํ ๋ง๋ค:
- ๋ณผ๋ฅจ ํ๋ก๋น โ ์ฒด์ธ์์ ๊ณ ๋ฅธ Shape(Capsule / Cylinder / Box)๋ฅผ ์ค์ ๋ณผ๋ฅจ ๋ฐ๋ผ ์ ํ๋ ์์ ๊ตฌ ํ๋ก๋ธ๋ก ์ํ๋งํฉ๋๋ค: ์บก์์ ์ฒ์ถ์ , ์ค๋ฆฐ๋๋ ์ธก๋ฉด ๋ง, ๋ฐ์ค๋ ๋ชจ์๋ฆฌ ์คํ์ ๊น์ง. ๋ผ ์ค๊ฐ์ด ๋ฒฝ์ ๋น์ง๊ณ ์ง๋๊ฐ๋ ๋์์ "Box์ธ๋ฐ ๋ฅ๊ธ๊ฒ ๋ฐ๋ ค๋๋" ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
- ๋ฉํฐ ์ ์ด โ ์๋ก ๋ค๋ฅธ ์ต๋ 3๊ฐ ์ ์ด(๋ฒ์ ์ด 60ยฐ ์ด์ ์ฐจ์ด)์ ๋์ ํด๊ฒฐ: ๊ฐ์ฅ ๊น์ ์ ์ด์ 100%, ๋๋จธ์ง๋ 60% ๊ฐ๋๋ก ๋ฐ์ด๋ ๋๋ค. ๋ชจ์๋ฆฌ์ ๊ฑธ์น ๋ผ๊ฐ ํ์ชฝ ๋ฒฝ์์๋ง ๋จ๋ฆฌ์ง ์๊ณ ์์ชฝ ๋ชจ๋์ ์์ฐฉ๋ฉ๋๋ค.
- ์ค์ CCD โ ํ ์๋ธ์คํ ์ ์ถฉ๋ ๋ฐ๊ฒฝ์ ์ ๋ฐ ์ด์ ์ด๋ํ ๋ผ๋ ์ด๋ ๊ฒฝ๋ก ์์ฒด๋ฅผ ๊ฒ์ฌํด ๋ง์ง๋ง ์์ ์ง์ ์ผ๋ก ๋๋๋ฆฝ๋๋ค. ๋น ๋ฅธ ํ๋๋ฆ์ด ์์ ํ์ ์๊ฐ ํต๊ณผํ๋ ํฐ๋๋ง์ด ์กํ๋๋ค.
- ์ํฐํด๋ โ ๋ชจ๋ ์ ์ด ๋ณด์ ์๋ ์์ฐ์ด ์์ต๋๋ค(๋ผ์ด๋๋น ๋ผ ๊ธธ์ด์ ์ต๋ 75%) + ๋ฐฉํฅ ํด๋จํ(๋ผ์ด๋๋น ์ต๋ 45ยฐ). ๋ผ๊ฐ ํ ๋ฒ์ ๋ค์งํ ์ ํ๋ ๊ฒ์ ๊ตฌ์กฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ฉฐ, ๋์ ๋ช ํ๋ ์์ ๊ฑธ์ณ ํ๋ฉด์ ๋ฏธ๋๋ฌ์ ธ ๋ด๋ ค๊ฐ๋๋ค.
- ์ํฐํคink โ ์ ์ด ํด๊ฒฐ ํ, ์ฒด์ธ ์ค๊ฐ ๋ผ๋ค์ ๋ฐฉํฅ์ ์ด์ ๋ผ ํ๊ท ๋ฐฉํฅ์ผ๋ก 15%์ฉ ์๋งํ ํผํฉ(Chain ๋ชจ๋๋ง)ํฉ๋๋ค. ๊ตฌ ์์ ๋๋ ์ดํ๋ ์ฒด์ธ์ ์ง๊ทธ์ฌ๊ทธ ๊บฝ์์ด ๋ช ํ๋ ์ ์์ ์์ฐ์ค๋ฝ๊ฒ ํด์ง๋๋ค.
- ์์ฌ ์ฌ๊ฒ์ฌ โ ํด๋จํ/์์ฐ ์ ๋จ์ด ๋ฐ๋ํ ๋ผ๋ง(ํ์์ 0ํ) ์ถฉ๋ ๋ผ์ด๋ ๋์ ์ฟผ๋ฆฌ 1ํ + ์์ ์ธ๋ถ ๋ฐ์ด๋์ ์ถ๊ฐํด, ๋ผ์ด๋๊ฐ ํญ์ ํ๋ฉด ๋ฐ๊นฅ์์ ๋๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๐ก ์ ๋ถ ์๋์ ๋๋ค โ ์ ์ฌ๋ผ์ด๋ ์์. ํจ๋ ํ๋จ
Solve xx ms๊ฐ ์ค๋ฅด๋ฉด Substeps๋ฅผ ๋จผ์ ๋ฎ์ถ์ธ์. ํ๋ก๋ธ ๋ฐ๋๊ฐ ์ข์์ ธ์ ์์ ๋งํผ Substeps๊ฐ ํ์ ์์ต๋๋ค.
3๏ธโฃ Forces (์ค๋ ฅยท๋ฐ๋)
Gravity
| ๋ชจ๋ | ์ค๋ช |
|---|---|
| Custom (Normalized) | ๊ธฐ๋ณธ. ๋ฒกํฐ ์ง์ ์ ๋ ฅ (๊ธฐ๋ณธ 0,0,-9.81). ์ค์ผ์ผ ๋ฌด๊ด ๋์ผ ๋๋ |
| Scene Gravity | ์ฌ ์ค๋ ฅ ์ค์ ์ฌ์ฉ |
| Zero | ๋ฌด์ค๋ ฅ |
Procedural Wind (๋ด์ฅ ๋ฐ๋)
โฒ ๋ฐ๋ ON + ์ฌ์๋ง์ผ๋ก ๋จธ๋ฆฌ์นด๋ฝ์ด ๊ณ์ ์ด๋์
๋๋ค
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| Strength | ๋ฐ๋ ์ธ๊ธฐ (6~10์ด๋ฉด ํ์คํ ๋ณด์) |
| Direction | ๋ฐ๋ ๋ฐฉํฅ |
| Turbulence | ๋๊ธฐ๋ฅ โ ๋์์๋ก ๋๋ค ์ถ๋ ์ |
| Noise Scale | ํจํด ํฌ๊ธฐ. ๋ฎ์ผ๋ฉด ํฐ ๋ฌผ๊ฒฐ, ๋์ผ๋ฉด ์๊ฒ |
๐ก ์ฌ์๋ง์ผ๋ก ์ง์ ์์ง์์ ์ํ๋ฉด ๋ฐ๋์ ์ผ์ธ์.
4๏ธโฃ Unit Normalization โญ (์ค์ผ์ผ ๋ฌธ์ ํด๊ฒฐ)
"๋ธ๋ ๋ ๋ฆญ์ ๋ผ ๊ธธ์ด 1.0, ์ธ๋ฆฌ์ผ ์ํฌํธ๋ 0.01์ด๋ผ ๊ฐ์ ๊ฐ์ด ์ ๋จน๋๋ค" ๋ ๊ณ ์ง ๋ฌธ์ ์ ํด๊ฒฐ ๊ธฐ๋ฅ. ๋ชจ๋ ๋ฌผ๋ฆฌ๋์ ๊ธฐ์ค ๋ผ ๊ธธ์ด(L)๋ก ๋๋ ์ ๊ทํ ๊ณต๊ฐ์์ ๊ณ์ฐํ๋ฏ๋ก ๊ฐ์ ๊ฐ = ์ด๋ค ์ค์ผ์ผ์์๋ ๋์ผํ ์์ง์.
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| Auto Detect | ๊ธฐ๋ณธ. ์ฒด์ธ ๋ผ ๊ธธ์ด ์ค๊ฐ๊ฐ์ ์๋ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ. ๋๋ถ๋ถ ์ด๋๋ก๋ฉด ๋ |
| Manual | ๊ธฐ์ค ๊ธธ์ด ์ง์ ์ ๋ ฅ |
์ค์ผ์ผ ํ๋ฆฌ์
: Blender 1.0 / Unreal 0.01 ๋ฒํผ ํ ๋ฒ ํด๋ฆญ์ผ๋ก ๋.
โฒ ์๋ ํ์๋๋ Median bone length๊ฐ ์๋ ๊ฐ์ง๋ ๊ธฐ์ค๊ฐ์
๋๋ค
5๏ธโฃ Setup Tools (์ฒด์ธ ๋ง๋ค๊ธฐ)
Bone Prefix (์ ๋์ฌ) โ ๊ฒ์ ๋ฆญ ์ถ์ฒ
โฒ dyn_ ๋ผ๋ค์ด ํ ๋ฒ์ ์ฒด์ธํ๋ฉ๋๋ค
- Prefix์ ์ ๋์ฌ ์
๋ ฅ (๊ธฐ๋ณธ
dyn_) - Chains from Prefix ํด๋ฆญ
- ์ ๋์ฌ ๋ผ ์ ๋ถ ์๋ ์ฒด์ธํ
| Mode | ๋์ |
|---|---|
| Group Chains | ์ฐ๊ฒฐ๋ dyn_ ๋ผ๋ค์ ํ๋์ ์ฒด์ธ์ผ๋ก (๊ถ์ฅ) |
| Individual Bones | ๊ฐ๊ฐ ๋ ๋ฆฝ 1๋ผ ์ฒด์ธ (์ก์ธ์๋ฆฌ ๋ค์์ ์ ์ฉ) |
Chains from Selection
- ํฌ์ฆ ๋ชจ๋์์ ๋ผ ์ ํ โ ๋ฟ๋ฆฌ ๋ผ๋ฅผ ๋ง์ง๋ง์ ํด๋ฆญ
- ๋ฒํผ ํด๋ฆญ
| Mode | ๋์ |
|---|---|
| Auto | ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด ์ฒด์ธ, ์์ผ๋ฉด ๊ฐ๋ณ ์ฒด์ธ ์๋ ์ฒ๋ฆฌ (๊ถ์ฅ) |
| Chain to Active | ํ์ฑ ๋ผ ์๋๋ก ์ฐ๊ฒฐ๋ ๊ฒ๋ง |
| Individual Bones | ์ ํ ๋ผ ๊ฐ๊ฐ ๋ ๋ฆฝ ์ฒด์ธ |
โ ๋ผ 1๊ฐ๋ง ์ ํํด๋ ๋ฉ๋๋ค: ๋ผ๋ฅผ ๋ฑ 1๊ฐ ์ ํํ๊ณ ์คํํ๋ฉด 1๋ผ ์ฒด์ธ(Start = End = ๊ทธ ๋ผ)์ด ์์ฑ๋ฉ๋๋ค. ๋ ์ด์ "No chain created" ๊ฒฝ๊ณ ๊ฐ ๋์ค์ง ์์ต๋๋ค. Auto ๋ชจ๋์์ ํ์ฑ(๋ฟ๋ฆฌ) ๋ผ๊ฐ ์กฐ์ฉํ ๋น ์ง๋ ๋ฌธ์ ๋ ์์ ๋์์ต๋๋ค.
๐ก ์ก์ธ์๋ฆฌ ์ฌ๋ฌ ๊ฐ ํ ๋ฒ์: ๋ชฉ๊ฑธ์ดยท๊ท๊ฑธ์ด ๋ผ๋ค์ ์ ๋ถ ์ ํํ๊ณ Auto๋ก ์คํํ๋ฉด ๊ฐ์ ๊ฐ๋ณ ์ฒด์ธ์ด ๋์ด ํ๊บผ๋ฒ์ ๋ฌผ๋ฆฌ๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
Detect Chains Automatically
์ ํ ์์ด ์์ ์๋ ๋ ๋ผ(ํ)๋ฅผ ์๋์ผ๋ก ์ฐพ์ ์ฐ์ ๊ตฌ๊ฐ์ ์ฒด์ธํ. ๋ฆญ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋ ๋ฉ๋๋ค.
| ๋ฒํผ | ์ญํ |
|---|---|
| Add Empty Chain | ๋น ์ฒด์ธ ์ถ๊ฐ (Start/End ์๋ ์ ๋ ฅ์ฉ) |
| Prune Invalid Chains | ๊นจ์ง ์ฒด์ธ ์ผ๊ด ์ ๋ฆฌ |
| Copy Active Chain Settings | ํ์ฑ ์ฒด์ธ ์ค์ ์ ๋ค๋ฅธ ๋ชจ๋ ์ฒด์ธ์ ๋ณต์ฌ |
| Resolve From Start/End | Start/End ๋ผ ์ด๋ฆ๋ง์ผ๋ก ๊ฒฝ๋ก ์๋ ์์ฑ |
| Select Chain Bones | ์ฒด์ธ ๋ผ๋ค์ ๋ทฐํฌํธ์์ ์ ํ |
6๏ธโฃ Armature ์น์
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| Enable Armature | ์ด ์๋จธ์ฒ ๋ฌผ๋ฆฌ ON/OFF |
| Mute Armature | ์ผ์ ์ ์ง |
| Freeze (Post-Bake) | ๋ฒ ์ดํฌ ํ ๋ฌผ๋ฆฌ ์ค๋จ (๊ฒฐ๊ณผ ๋ณด์กด) |
| Show Bone Shapes โญ | ์ถฉ๋ ์ ฐ์ดํผ ํ์ |
| Self Collision | ์ฒด์ธ ๋ผ๋ค๋ผ๋ฆฌ ์๋ก ๋ฐ์ด๋ |
Show Bone Shapes โ ์ถฉ๋ ์ ฐ์ดํผ โญ
โฒ ์บก์์ด ๋ณธ ํค๋~ํ
์ผ์ ์ ํํ ๊ฑธ์ณ์ ํจ๊ป ์์ง์
๋๋ค. Radius๋ฅผ ์ฌ๋ฆฌ๋ฉด ์ง๋ฆ์ด ์ปค์ง๋๋ค
์ ฐ์ดํผ๋ ์ ๋ผ๊ฐ ์๋๋๋ค. ๋ผ์ ์ถฉ๋ ๋ฒ์๋ฅผ ๋์ผ๋ก ๋ณด์ฌ์ฃผ๋ ์๊ฐํ ๋ฉ์ฌ์ ๋๋ค.
- Capsule / Cylinder / Box ์ค ์ ํ
- Radius = ์ถฉ๋ ๋๊ป (๋ผ ๊ธธ์ด ๋๋น ๋น์จ โ ์ค์ผ์ผ ๋ฌด๊ด)
- ์ฌ์ ์ค์๋ ๋ฌผ๋ฆฌ ๋ผ์ ํฝ์ ๋จ์๋ก ์ ํํ ๋ถ์ฐฉ
- Blender Simulation ์์ง์์๋ ์ด ์ ฐ์ดํผ๊ฐ ์ค์ ์ถฉ๋์ฒด ์ญํ
- NovaSol ์์ง์์๋ ์ด์ ๊ณ ๋ฅธ Shape๊ฐ ์ค์ ์ถฉ๋ ๋ณผ๋ฅจ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค (์ ์ถฉ๋ ์ ๋ฐ ์์ง ์ฐธ๊ณ )
๐ก ํ๋ ์ ์ฐจ: Show Bone Shapes ON โ Radius ์กฐ์ โ ์บก์์ด ๋ชธ์ ์ด์ง ๊ฒน์น๋ ์ง์ ์ด "์ถฉ๋ ์์ ์ง์ "์ ๋๋ค.
7๏ธโฃ Chains (์ฒด์ธ๋ณ ์ค์ )
์ฒด์ธ ๋ฐ์ค์ โผ๋ฅผ ๋๋ฌ ํผ์นฉ๋๋ค.
์ฒด์ธ ํ ํค๋: [โผ] [์ด๋ฆ] [๐ฏ์ ํ] [โ ์๋ฎฌON/OFF] [๐ ์์๊ฑฐ] [X ์ญ์ ]
๐ฏ ์ฒด์ธ๋ณ ์ ํ ๋ฒํผ โ ์ฒด์ธ์ด 10~20๊ฐ ์ด์ ๋์ด๋์ด๋ ๊ฐ ํ์ ์ ํ ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ทธ ์ฒด์ธ์ ๋ผ๋ง ๋ทฐํฌํธ์์ ์ ํ๋๊ณ , ๋์์ ๊ทธ ์ฒด์ธ์ด ํ์ฑ ์ฒด์ธ์ด ๋ฉ๋๋ค(์ด์ด์ Preset/์ค์ ๋ณต์ฌ๋ฅผ ๋๋ฅด๋ฉด ํด๋ฆญํ ๊ทธ ์ฒด์ธ์ ์ ์ฉ). ์ด๋ค ์ฒด์ธ์ด ์ด๋ค ๋ผ์ธ์ง ๋ ์ด์ ์ถ์ธกํ ํ์ ์์ต๋๋ค.
๐ต Motion (์์ง์ ํ์ )
โฒ ์: Chain(๋ถ๋๋ฝ๊ฒ ๋ณต๊ท) / ์๋: Spring(ํตํต ์ถ๋ ์ด๋ฉฐ ๋ณต๊ท)
| Type | ์ค๋ช |
|---|---|
| Chain (Positional) | ๊ธฐ๋ณธ. ์์ ์ ์ธ ์์น ๊ธฐ๋ฐ ๋ฌผ๋ฆฌ. ์ค๋ฒ์ํธ ์์. ์ํฐํคink ์ค๋ฌด๋ฉ ์ ์ฉ |
| Spring (Force) | ์คํ๋ง ์ง๊ธ๋ณธ. ํตํต ํ๋ฉฐ ์ฌ๋ฌ ๋ฒ ์ถ๋ . ๊ฐ๋ฐฉยท๊ฐ์ดยท๋ฐฐ์ ์ต์ |
| ํญ๋ชฉ | Chain์์ | Spring์์ |
|---|---|---|
| Stiffness | ๋ชฉํ ์ถ์ ๊ฐ๋ | ์คํ๋ง ์์ k |
| Damping | ์๋ ๊ฐ์ | ์๋ ์ ํญ c (๋ฎ์์๋ก ์ค๋ ์ถ๋ ) |
| Taper Along Chain | ๋์ผ๋ก ๊ฐ์๋ก ๋ง๋ (ON ๊ถ์ฅ) | ๋์ผ |
| Influence | 0=์ ๋๋ฉ์ด์ , 1=๋ฌผ๋ฆฌ, ์ค๊ฐ=๋ธ๋ ๋ฉ. ์ถฉ๋ ์ฅ๋ฉด์์๋ ๋ฐ๋์ 1.0 โ ์ต์ข ํฌ์ฆ๊ฐ (1โinfluence) ๋น์จ๋ก ์๋ณธ ์ ๋์ ์์ด๋ฏ๋ก 0.34๋ฉด ๊ตฌ๋ฅผ ๋ซ๋ ์๋ณธ ํฌ์ฆ๊ฐ 66%๋ ๋ณด์ ๋๋ค | ๋์ผ |
| Stretch | ๋ผ ๋์ด๋จ ํ์ฉ์น (0.2 = ยฑ10%). ์ถฉ๋ ์ฅ๋ฉด์์ 0 ๊ถ์ฅ | ๋์ผ |
| Gravity / Mass | ์ค๋ ฅ ๋ฐฐ์จ / ๋ฌด๊ฒ๊ฐ | ๋์ผ |
๐ Limits
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| Cone Limit | ๋ฟ๋ฆฌ ๊ธฐ์ค ์ต๋ ๊บพ์ ๊ฐ๋ |
| Per-Axis Limits | X/Z ์ถ๋ณ ์ ํ (์ค์ปคํธ ๋ฑ) |
๐ฅ Bone Collision Shape
| ํญ๋ชฉ | ์ค๋ช | ์ ์ด ์ฅ๋ฉด ๊ถ์ฅ๊ฐ |
|---|---|---|
| Shape | Capsule(๊ถ์ฅ) / Cylinder / Box โ ์ธ ๋ชจ์ ๋ชจ๋ NovaSol์์ ์ค์ ํํ๋ก ์ถฉ๋ | Capsule |
| Radius | ์ถฉ๋ ๋๊ป (๋น์จ โ ์ค์ผ์ผ ๋ฌด๊ด) | 0.18~0.25 |
| Enable Collision | ์ด ์ฒด์ธ์ ์ถฉ๋ ON/OFF | ON |
| Margin | ๋ฐ๊ฒฝ ๋ฐ๊นฅ ์ฌ์ ๋๊ป | 0.02~0.05 |
| Friction | ์ ์ด ์ ์ ์ ์๋ ๊ฐ์ | 0.4~0.6 |
| Bounce | ์ ์ด ๋ฐ๋ฐ | 0.05~0.15 (๋์ผ๋ฉด ๊บฝ์ ์ฌ๋ฐ) |
โ๏ธ Collision Engine
โฒ NovaSol ์ถฉ๋: ํ์ ์์ง์ด๋ฉด ๋จธ๋ฆฌ์นด๋ฝ์ด ๋ชธ์์ ๋ฐ๋ ค๋ฉ๋๋ค
| Engine | ์ค๋ช |
|---|---|
| NovaSol (Viewport) | ๋ด์ฅ ์๋ฒ๊ฐ ์ค์๊ฐ ๋ฐ์ด๋ โ ๋ณผ๋ฅจ ํ๋ก๋น, ๋ฉํฐ ์ ์ด, ์ค์ CCD, ์ํฐํด๋, ์ํฐํคink ์ ๋ถ ์ ์ฉ. Collide With = Mesh Object ๋๋ Collection |
| Blender Simulation | ์ ฐ์ดํผ๊ฐ ์ง์ง ๋ธ๋ ๋ ์ถฉ๋ ์ค๋ธ์ ํธ๋ก ๋ณ์ . ํด๋ก์คยทํค์ด ์๋ฎฌ์ด ์๋ ์ถฉ๋. ํด๋ก์ค/ํค์ด ์ํธ์์ฉ์ ์ต๊ณ ์ ๋ฐ๋ ๊ฒฝ๋ก๋ ์ฌ์ ํ ์ด์ชฝ |
Blender Simulation Profile: Hair(์์ ๊ป์งยท์ ๋ง์ฐฐ) / Cloth(๋๊บผ์ด ๊ป์งยท๊ณ ๊ฐ์ ) / Custom
External Targets: ๋ณธ์ด ๋ถ์ ์๊ธฐ ์ท์ด ์๋๋ผ ์๋ ์บ๋ฆญํฐยท๋ฐ๋ฅยท๋ค๋ฅธ ์์ ๋ฑ
์ธ๋ถ ์ถฉ๋์ฒด ์ง์ . Add GN Collider to Targets๋ก ๊ณต์ Collider ์์ ์ ์ถ๊ฐ.
โ ๏ธ ํด๋ก์ค ์ฐ๋ ์์: โ Show Bone Shapes ON โก ์ท์ Cloth ์์ ์ โข Cloth์ Cloth Collisions ์ฒดํฌ โฃ ์ฌ์
๐ Floating Head
Use Connect๊ฐ ๊บผ์ง ๋ถ๋ฆฌ ๋ผ(์ฅ์ ๊ตฌ ๋ฑ)์ ๋จธ๋ฆฌ ๋๋ ๋ฌผ๋ฆฌ๋ก ์๋ฎฌํฉ๋๋ค.
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| Simulate Head | ํค๋ ์๋ฎฌ ON |
| Head Stiffness | ์์์น๋ก ๋น๊ธฐ๋ ํ |
| Head Max Offset | ์ต๋ ์ดํ ๊ฑฐ๋ฆฌ (0 = ๋ฌด์ ํ) |
8๏ธโฃ Bake & Reset

| ๋ฒํผ | ์ค๋ช |
|---|---|
| Bake NovaBone to Keyframes | ์ฌ์ ๊ตฌ๊ฐ ์ ์ฒด๋ฅผ ์๋ฎฌํด ํคํ๋ ์์ผ๋ก ๊ตฝ๊ธฐ. ๊ฒ์ ์์ง ๋ฐ์ถ ํ์. Preroll๋ก ์์ ์ ์์ ํ |
| Unfreeze All Armatures | ๋ฒ ์ดํฌ ํ Freeze ํด์ |
| Reset Physics (Active) | ํ์ฑ ์๋จธ์ฒ ๋ฌผ๋ฆฌ ์ด๊ธฐํ |
| Reset All Physics | ์ฌ ์ ์ฒด ์ด๊ธฐํ |
๐จ ํ๋ฆฌ์ ๊ฐ์ด๋
| ํ๋ฆฌ์ | ๋๋ | ์ฉ๋ |
|---|---|---|
| Hair | ๋ถ๋๋ฝ๊ฒ ํ๋ฌ๋ด๋ฆผ | ๋จธ๋ฆฌ์นด๋ฝ |
| Jelly | ์ ค๋ฆฌ ์ถ๋ ์ | ๋ฑํ ์ฅ์ |
| Cloth | ์ฒ์ฒ๋ผ ๋์จ | ์ค์นดํ, ๋ฆฌ๋ณธ |
| Tail | ๋ฅ๊ธ๊ฒ ํ์ด์ง | ๊ผฌ๋ฆฌ |
| Accessory | ๋จ๋จํ๊ฒ ํ๋ค๋ฆผ | ๊ท๊ฑธ์ด, ๋ชฉ๊ฑธ์ด |
| Antenna | ๊ฑฐ์ ์ ํ์ด์ง | ์ํ ๋, ๊นํธ |
| Jiggle | ํฌ๊ฒ ์ฒ์ง๊ณ ์ถ๋ | ๊ฐ์ด, ๋ฐฐ |
| Spring โญ | ์คํ๋ง์ฒ๋ผ ํตํต | ์คํ๋ง ์ง๊ธ๋ณธ |
๐ ์๋๋ฆฌ์ค ๋ ์ํผ
๐ฑ ๋จธ๋ฆฌ์นด๋ฝ
1. ๋จธ๋ฆฌ ๋ผ ์ ํ (๋ฟ๋ฆฌ ๋ง์ง๋ง ํด๋ฆญ) โ `Chains from Selection` 2. Preset: **Hair** 3. Show Bone Shapes ON โ Radius ์กฐ์ 4. Collision: NovaSol + ๋ชธํต ๋ฉ์ ์ง์ , **Influence 1.0**, Bounce 0.1, Margin 0.03 5. ์ฌ์ํด์ ํ์ด ๋จธ๋ฆฌ๋ฅผ ์ค์น ๋ ๋ฐ๋ ค๋๋์ง ํ์ธ๐ ์ก์ธ์๋ฆฌ ์ฌ๋ฌ ๊ฐ
1. ์ก์ธ์๋ฆฌ ๋ผ ์ ์ฒด ์ ํ โ `Chains from Selection` (Auto) 2. ํ๋ ํ๋ ํ **Copy Active Chain Settings**๋ก ์ ์ฒด ๋ณต์ฌ 3. ๊ฐ ํ์ ๐ฏ ์ ํ ๋ฒํผ์ผ๋ก ์ด๋ค ์ฒด์ธ์ด ์ด๋ค ๋ผ์ธ์ง ๋ฐ๋ก ํ์ธ๐ ์คํ๋ง ๊ฐ๋ฐฉ
1. ๊ฐ๋ฐฉ ์ฒด์ธ ์์ฑ โ Preset: **Spring** 2. Shake & Play โ ํตํต ์ถ๋ ์ ํ์ธ 3. Damping โ = ๋นจ๋ฆฌ ์ ์๐ฉณ ์ค์ปคํธ
1. Prefix๊ฐ ์์ผ๋ฉด `Chains from Prefix` 2. Preset: **Cloth** 3. Cone Limit 60~70ยฐ 4. Self Collision ON (์น๋ง์๋ฝ ๊ฒน์นจ ๋ฐฉ์ง)๐งต ํด๋ก์ค ์ฐ๋
1. Engine = **Blender Simulation**, Profile = **Cloth** 2. **Show Bone Shapes ON** 3. ์ท์ Cloth ์์ ์ โ **Cloth Collisions ์ฒดํฌ** 4. ์ฌ์โ๏ธ ๊ตฌ/๋ชธํต ์์ ์ฒด์ธ ๋๋ ์ดํ์ํค๊ธฐ (์ ์ด ํ๋)
1. Influence **1.0**, Stretch **0** 2. Bounce **0.05~0.15**, Friction **0.4~0.6**, Margin **0.03** 3. Radius 0.18~0.25, Substeps 12 4. ์ฌ์ โ ์ฒด์ธ์ด ํ๋ฉด์ ๋ฐ๋ผ ๋์ด์ ธ ๋ฏธ๋๋ฌ์ ธ์ผ ํฉ๋๋ค. ์ ํยท๊บฝ์ ์์ด๐ง ๋ฌธ์ ํด๊ฒฐ
๋ฌผ๋ฆฌ๊ฐ ์ ์์ง์ฌ์
1. NovaBone Enabled / Enable Armature ON ํ์ธ 2. Freeze OFF ํ์ธ 3. **์คํ์ด์ค๋ฐ ์ฌ์ ์ค์ธ์ง** (์ ์ง ์ ๋ฌผ๋ฆฌ๋ ๋ฉ์ถค โ ์ ์) 4. Shake & Play ํด๋ฆญ โ ์ถ๋ ์ด๋ฉด ์ ์ 5. Diagnostics โ ์ฝ์(`Window > Toggle System Console`) ํ์ธNovaSol ์ถฉ๋์ด ์ ๋งํ์
1. Enable Collision ON + ๋ชธํต ๋ฉ์ ์ง์ ํ์ธ 2. **Sim Influence 1.0 ํ์ธ** โ ๋ฎ์ผ๋ฉด ๋ณด์ด๋ ํฌ์ฆ๊ฐ ์๋ณธ ์ ๋ ์ชฝ์ผ๋ก ๋๊ฐ๊ฒจ์ ๋ฉ์๋ฅผ ๋ซ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค 3. Radius 0.2~0.3, Margin 0.02~0.05 4. ํจ๋ ํ๋จ `Collider failed: ์ด๋ฆ` ํ์ ํ์ธ 5. ๋น ๋ฅธ ์์ง์ โ Substeps 10~16 (์ค์ CCD๋ ์๋ ์๋)์ ์ด๋ถ ๋ผ ๋ช ๊ฐ๊ฐ ์ ํ๊ฑฐ๋ ๊บฝ์ฌ์
1. v1.0.0 ์๋ฒ ์ฌ์ฉ ํ์ธ (์ํฐํด๋ + ์ํฐํคink ๋ด์ฅ) 2. Bounce 0.1๋ก, Friction 0.4~0.6์ผ๋ก ๋ฎ์ถ๊ธฐ 3. Substeps 10~16 โ ์๋ธ์คํ ๋น ํ๋ฌปํ์ด ์์์ ธ ์ ํ ๋ฐฉ์ง ์ฅ์น๊ฐ ๊ฑฐ์ ๋ฐ๋ํ์ง ์์ ๋ ๋ถ๋๋ฝ์ต๋๋ค 4. ์ค์ ๋ณ๊ฒฝ ํ Reset Physicsํด๋ก์ค๊ฐ ์ ๋ถ๋ชํ์
1. Show Bone Shapes ON ํ์ธ 2. ์ท์ Cloth ์์ ์์์ **Cloth Collisions ์ฒดํฌ** 3. Engine = Blender Simulation + Profile = Cloth๋ผ๊ฐ ํ์ด์ / ๋ฐ๋ ค๋์
1. ๋ฌผ๋ฆฌ ๋ผ์์ **์ปจ์คํธ๋ ์ธํธ(IK ๋ฑ) ์ ๊ฑฐ** โ ์๋ฎฌ ๋ผ๋ ์์ํ๊ฒ 2. Reset Physics 3. ๋น๊ท ์ค ์ค๋ธ์ ํธ ์ค์ผ์ผ ์ง์Fix Bones(๋ณธ ๋ฐฉํฅ ๊ต์ )๊ฐ ํฌ๋์ ๋๊ฑฐ์ ์๋ฌด ๊ฒ๋ ์ ๋ผ์
1. v1.0.0 ์ด์์ ์์ ๋ผ๊ฐ ๋ถ๋ชจ ๋จธ๋ฆฌ ์์ ์ ํํ ์นํ ๊ฒฝ์ฐ(์ธ๋ฆฌ์ผ base_X/dyn_X ์)๋ฅผ ์์ ํ๊ฒ ์ฒ๋ฆฌํฉ๋๋ค โ ํฌ๋์ ๋์ "child sits on the bone's head (left alone)"๋ก ์ง๊ณ๋ฉ๋๋ค 2. ์คํ ์ **Check**๋ฅผ ๋จผ์ ๋๋ฅด๋ฉด ๋ช ๊ฐ๊ฐ ํ์ด์ก๊ณ ์ ๊ฑด๋๋ฐ์๋์ง ๋ชฉ๋ก์ผ๋ก ๋ณด์ฌ์ค๋๋คโ FAQ
Q. NovaShape_* ์ค๋ธ์ ํธ๋ ๋ญ๊ฐ์? ์ถฉ๋ ๋ฒ์ ์๊ฐํ์ ๋๋ค. Show Bone Shapes๋ฅผ ๋๋ฉด ์๋ ์ญ์ ๋๋ฉฐ ๋ ๋์๋ ํญ์ ์จ๊ฒจ์ง๋๋ค.
Q. ๊ฒ์ ์์ง์ผ๋ก ์ด๋ป๊ฒ ๊ฐ์ ธ๊ฐ๋์?
Bake NovaBone to Keyframes ํ FBX ์ต์คํฌํธ. ๊ฒ์ ์์ง์ ๋ฒ ์ดํฌ๋ ์ ๋๋ฅผ ์ฌ์ํฉ๋๋ค.
Q. ์ ์ถฉ๋ ๋ฐฉ์์ ์ฑ๋ฅ์? ๋ณผ๋ฅจ ํ๋ก๋น์ ๋ผ๋น ํ๊น๋น ์ต๋ ~16ํ ๊ตฌ ์ฟผ๋ฆฌ๋ก ์ ํ๋๊ณ , ๋ฉํฐ ์ ์ดยทCCD๋ ์ ์ด ํ๋ ์์๋ง ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค. ํจ๋ ํ๋จ์ ์ฒด์ธ๋ณ ๊ณ์ฐ ์๊ฐ(ms)์ ๋ณด๋ฉด์ ์กฐ์ ํ๊ณ , ์ค๋ฅด๋ฉด Substeps๋ฅผ ๋จผ์ ๋ฎ์ถ์ธ์ โ ํ๋ก๋ธ ๋ฐ๋๊ฐ ์ข์์ ธ์ ์์ ๋งํผ Substeps๊ฐ ํ์ ์์ต๋๋ค.
Q. ๋ผ 1๊ฐ์ง๋ฆฌ ์ก์ธ์๋ฆฌ๋ ๋๋์?
๋ฉ๋๋ค. ์ด์ Chains from Selection์ ๋ผ๋ฅผ ๋ฑ 1๊ฐ๋ง ์ ํํด๋ ๋ฐ๋ก 1๋ผ
์ฒด์ธ์ด ์์ฑ๋ฉ๋๋ค. Individual ๋ชจ๋๋ Detect Chains์ Include Single Bones๋
๊ฐ๋ฅํฉ๋๋ค.
Q. ์ด๋ค ์ฒด์ธ์ด ์ด๋ค ๋ผ์ธ์ง ์ด๋ป๊ฒ ์๋์? ๊ทธ ์ฒด์ธ ํ์ ๐ฏ ๋ฒํผ์ ๋๋ฅด์ธ์ โ ํด๋น ๋ผ๋ค์ด ๋ทฐํฌํธ์์ ์ ํ๋๊ณ ๊ทธ ์ฒด์ธ์ด ํ์ฑํ๋ฉ๋๋ค.
๐ ๋ผ์ด์ ์ค
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
์ด ํ๋ก์ ํธ๋ Blender ํ์ค ๋ผ์ด์ ์ค์ธ GPL-3.0์ ๋ฐ๋ฆ ๋๋ค. ์ ์ฒด ๋ผ์ด์ ์ค ์ ๋ฌธ์ LICENSE ํ์ผ์ ์ฐธ๊ณ ํ์ธ์.
Made by Chamiseul ๐ฆด