๐Ÿฆด NovaBone Dynamics

๋ผˆ ์ฒด์ธ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์• ๋“œ์˜จ โ€” ๋จธ๋ฆฌ์นด๋ฝ, ๊ผฌ๋ฆฌ, ์Šค์ปคํŠธ, ์•ก์„ธ์„œ๋ฆฌ, ์ง€๊ธ€๋ณธ์„ ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ์ž๋™ ๋ฌผ๋ฆฌ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

์ œ์ž‘์ž: Chamiseul

๐Ÿ‡บ๐Ÿ‡ธ English | ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด


๐Ÿ†• v1.1.0 ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ

์ถฉ๋Œํ•  ๋•Œ ๋ผˆ๊ฐ€ ํˆญํˆญ ํŠ€๋˜ ํ˜„์ƒ์„ ์žก์•˜์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ฒด์ธ ๋์ชฝ ๋ผˆ์—์„œ ์‹ฌํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚˜๋˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์›์ธ์ด ๋„ค ๊ฐ€์ง€์˜€๊ณ , ์ „๋ถ€ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ€์–ด๋‚ด๊ธฐ๊ฐ€ ์†๋„๋กœ ์ƒˆ๋˜ ๋ฌธ์ œ

์ถฉ๋Œ๋กœ ๋ผˆ๋ฅผ ํ‘œ๋ฉด ๋ฐ–์œผ๋กœ ๋ฐ€์–ด๋‚ด๋ฉด, ๊ทธ ๋ฐ€์–ด๋‚ธ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ผˆ๊ฐ€ ์Šค์Šค๋กœ ์ด๋™ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์†๋„๋กœ ํ™˜์‚ฐ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ธŒ์Šคํ… ํ•˜๋‚˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๋‹ค ๋ณด๋‹ˆ ์•„์ฃผ ์ž‘์€ ๋ณด์ •๋„ ํฐ ์†๋„๋กœ ๋ถ€ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.

์ฆ์ƒ์ด ๋šœ๋ ทํ–ˆ์Šต๋‹ˆ๋‹ค โ€” Substeps๋ฅผ ์˜ฌ๋ฆด์ˆ˜๋ก ์˜คํžˆ๋ ค ๋” ํŠ€์—ˆ์Šต๋‹ˆ๋‹ค (4 โ†’ 8 โ†’ 16 โ†’ 32 ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ์•…ํ™”). ์ด์ œ ๋ฐ€์–ด๋‚ด๊ธฐ๋Š” ์œ„์น˜๋งŒ ๊ณ ์น˜๊ณ , ์šด๋™๋Ÿ‰์€ ๋ฐ˜๋ฐœยท๋งˆ์ฐฐ์ด ํ•œ ๋ฒˆ๋งŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ถ€์ˆ˜ ํšจ๊ณผ๋กœ Friction์ด ์ œ ์—ญํ• ์„ ๋˜์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” Friction์„ 0์œผ๋กœ ๋‘๋ฉด ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด 20๋ฐฐ ๊ฑฐ์น ์–ด์กŒ๋Š”๋ฐ, ๊ทธ๊ฑด ๋งˆ์ฐฐ์ด ์•„๋‹ˆ๋ผ ์ด ๊ฐ€์งœ ์†๋„๋ฅผ ์ง€์›Œ์ฃผ๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด์ œ Friction์€ ์›ํ•˜๋Š” ์งˆ๊ฐ๋Œ€๋กœ ์“ฐ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ‚นํฌ ์™„ํ™”๊ฐ€ ์ถฉ๋Œ ํ•ด๊ฒฐ์„ ๋˜๋Œ๋ฆฌ๋˜ ๋ฌธ์ œ

์ฒด์ธ์˜ ์ง€๊ทธ์žฌ๊ทธ๋ฅผ ํŽด์ฃผ๋Š” ์•ˆํ‹ฐํ‚นํฌ ๋ณด์ •์ด ์ถฉ๋Œ ์ฒ˜๋ฆฌ ๋’ค์— ์‹คํ–‰๋˜๋ฉด์„œ, ํ‘œ๋ฉด์— ๋‹ฟ์•„ ์žˆ๋Š” ๋ผˆ๋ฅผ ์ด์›ƒ ๋ฐฉํ–ฅ์œผ๋กœ ์„ž์–ด ์ฝœ๋ผ์ด๋” ์•ˆ์ชฝ์œผ๋กœ ๋‹ค์‹œ ๋ฐ€์–ด๋„ฃ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์„œ๋ธŒ์Šคํ…์ด ๋˜ ๋ฐ€์–ด๋‚ด๊ณ , ๊ทธ๊ฒŒ ๋ฐ˜๋ณต๋˜๋Š” ๋ฐ€๋‹น์ด ๋ฐ”๋กœ "ํˆญํˆญ"์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ ‘์ด‰ ์ค‘์ธ ๋ผˆ๋Š” ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต์ค‘์— ๋–  ์žˆ๋Š” ๋ผˆ๋Š” ์˜ˆ์ „์ฒ˜๋Ÿผ ํ‚นํฌ ์™„ํ™”๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๋ฐ€์–ด๋‚ด๋Š” ๋ฐฉํ–ฅ

๊นŠ์ด๋Š” ํ‘œ๋ฉด์˜ ์ตœ๊ทผ์ ‘์  ๊ธฐ์ค€์œผ๋กœ ์žฌ๋ฉด์„œ, ๋ฏธ๋Š” ๋ฐฉํ–ฅ์€ ์‚ผ๊ฐํ˜•์˜ ๋ฉด๋ฒ•์„ ์„ ์“ฐ๊ณ  ์žˆ์–ด ๋‘˜์ด ์–ด๊ธ‹๋‚˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฉด๋ฒ•์„ ์€ ์–ด๋А ์‚ผ๊ฐํ˜•์ด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด์ง€๊ฐ€ ๋ฐ”๋€Œ๋Š” ์ˆœ๊ฐ„ ๊ณ„๋‹จ์ฒ˜๋Ÿผ ํŠ‘๋‹ˆ๋‹ค โ€” ์ธก์ •ํ•ด ๋ณด๋‹ˆ ํ•œ ์Šคํ…์— ์ตœ๋Œ€ 22.5ยฐ๊นŒ์ง€ ๊บพ์˜€์Šต๋‹ˆ๋‹ค(์ตœ๊ทผ์ ‘์  ๊ธฐ์ค€์€ 1.1ยฐ). ์ฝœ๋ผ์ด๋”๋ฅผ ์„ธ๋ถ„ํ™”ํ•ด๋„ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉด์˜ ๊ฒฝ๊ณ„๋งˆ๋‹ค ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋ผ ๋ฉด ํฌ๊ธฐ์™€ ๋ฌด๊ด€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด์ œ ๊นŠ์ด์™€ ๋ฐฉํ–ฅ์„ ๊ฐ™์€ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ˜•๋˜๋Š” ์ฝœ๋ผ์ด๋”

์บ๋ฆญํ„ฐ ๋ฉ”์‰ฌ์ฒ˜๋Ÿผ ์•„๋งˆ์ธ„์–ด๋‚˜ ์…ฐ์ดํ”„ํ‚ค๋กœ ๋ณ€ํ˜•๋˜๋Š” ์ฝœ๋ผ์ด๋”๊ฐ€ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฉ”์‰ฌ๋Š” ์ •์ ๋งŒ ์›€์ง์ด๊ณ  ์˜ค๋ธŒ์ ํŠธ ์ž์ฒด๋Š” ์ œ์ž๋ฆฌ์— ์žˆ์–ด์„œ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด ํ‘œ๋ฉด์ด ๋ฉˆ์ถฐ ์žˆ๋‹ค๊ณ  ์ฐฉ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ€์–ด๋‚ธ ์ž๋ฆฌ์— ํ‘œ๋ฉด์ด ๋˜ ๋“ค์–ด์˜ค๊ณ , ๋‹ค์‹œ ๋ฐ€์–ด๋‚ด๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์‹ค์ œ๋กœ ๋ถ€๋”ชํžŒ ๋ฉด์ด ์ง€๋‚œ ํ”„๋ ˆ์ž„ ๋Œ€๋น„ ์–ผ๋งˆ๋‚˜ ์›€์ง์˜€๋Š”์ง€ ์ธก์ •ํ•ด์„œ, ๊ทธ ํ‘œ๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ์ ‘์ด‰์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์™ธ

  • ์• ๋“œ์˜จ ํ™˜๊ฒฝ์„ค์ • ํŒจ๋„์„ ์—†์•ด์Šต๋‹ˆ๋‹ค. ์•ˆ์— ์žˆ๋˜ ํ•ญ๋ชฉ์€ ์•„๋ฌด ๋™์ž‘๋„ ํ•˜์ง€ ์•Š๋Š” ์ฒดํฌ๋ฐ•์Šค ํ•˜๋‚˜์™€, ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ์งˆ ์ด์œ ๊ฐ€ ์—†๋Š” ๋‚ด๋ถ€ ์•ˆ์ „๊ฐ’ ํ•˜๋‚˜๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ›„์ž๋Š” ์ฝ”๋“œ ์ƒ์ˆ˜๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์ƒˆ๋กœ ์ƒ๊ธด ์„ค์ •์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์”ฌ์€ ๊ทธ๋Œ€๋กœ ์—ด๋ฆฌ๋ฉฐ, ์›€์ง์ด์ง€ ์•Š๋Š” ์ฝœ๋ผ์ด๋”๋ฅผ ์“ฐ๋Š” ์”ฌ์€ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.


โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • โœ… ์ฒด์ธ ์‹œ์ž‘~๋๋งŒ ์ง€์ •ํ•˜๋ฉด ์ž๋™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
  • โœ… ์Šค์ผ€์ผ ๋…๋ฆฝ โ€” ๋ธ”๋ Œ๋” ๋ฆญ(1.0)๋„ ์–ธ๋ฆฌ์–ผ ๋ฆญ(0.01)๋„ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๋™์ผํ•œ ์›€์ง์ž„
  • โœ… ์ถฉ๋Œ ์…ฐ์ดํผ๋ฅผ ๋ˆˆ์œผ๋กœ ๋ณด๋ฉด์„œ ํŠœ๋‹
  • โœ… ํ˜•ํƒœ ์ •๋ฐ€ ์ถฉ๋Œ: Capsule / Cylinder / Box๊ฐ€ ๋‹จ์ˆœ ํ‘œ์‹œ๊ฐ€ ์•„๋‹ˆ๋ผ ์‹ค์ œ ๋ณผ๋ฅจ์œผ๋กœ ์ถฉ๋Œ ๊ณ„์‚ฐ (๋ฉ€ํ‹ฐ ์ ‘์ด‰ + ์Šค์œ• CCD ํ„ฐ๋„๋ง ๋ฐฉ์ง€)
  • โœ… ์•ˆ์ •์ ์ธ ์ ‘์ด‰: ์•ˆํ‹ฐํด๋“œ(๋ผˆ๊ฐ€ ๋’ค์ง‘ํ˜€ ์ ‘ํžˆ๋Š” ํ˜„์ƒ ์ฐจ๋‹จ) + ์•ˆํ‹ฐํ‚นํฌ(๋“œ๋ ˆ์ดํ”„ ์ฒด์ธ์˜ ์ง€๊ทธ์žฌ๊ทธ ์ž๋™ ์™„ํ™”)
  • โœ… ์ฒด์ธ ๋ชจ๋“œ + ์Šคํ”„๋ง(์ง€๊ธ€๋ณธ) ๋ชจ๋“œ
  • โœ… Blender ํด๋กœ์Šค/ํ—ค์–ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ถฉ๋Œ์ฒด ์—ฐ๋™
  • โœ… ๊ฒŒ์ž„ ์—”์ง„ ๋ฐ˜์ถœ์šฉ ๋ฒ ์ดํฌ

๋ฉ”์ธ ํŒจ๋„ โ–ฒ NํŒจ๋„์˜ NovaBone ๋ฉ”์ธ ํŒจ๋„ โ€” ๋ชจ๋“  ์„ค์ •์ด ์ด ํ•œ ๊ณณ์— ๋ชจ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค


๐Ÿ“ฅ ์„ค์น˜

  1. novabone ํด๋” ์•ˆ์˜ ํŒŒ์ผ๋“ค์„ ์„ ํƒํ•ด์„œ zip์œผ๋กœ ์••์ถ•

    โš ๏ธ ํด๋”์งธ ์••์ถ•ํ•˜์ง€ ๋งˆ์„ธ์š”. blender_manifest.toml์ด zip ์ตœ์ƒ์œ„์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. Blender โ†’ Edit > Preferences > Get Extensions
  3. ์˜ค๋ฅธ์ชฝ ์œ„ โ–ผ โ†’ Install from Disk โ†’ zip ์„ ํƒ
  4. ์„ค์น˜๋œ NovaBone์„ Enable(ํ™œ์„ฑํ™”)
  5. 3D ๋ทฐํฌํŠธ์—์„œ N ํ‚ค โ†’ NovaBone ํƒญ์ด ์ƒ๊น๋‹ˆ๋‹ค

์ง€์› ๋ฒ„์ „: Blender 4.2 ์ด์ƒ (5.0 / 5.2 LTS ํ…Œ์ŠคํŠธ ์™„๋ฃŒ)


๐Ÿš€ 5๋ถ„ ์•ˆ์— ๋”ฐ๋ผํ•˜๊ธฐ (Quick Start)

โ–ฒ ๋ผˆ ์„ ํƒ โ†’ ์ฒด์ธ ์ƒ์„ฑ โ†’ ์žฌ์ƒ. ์ด๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

  1. ์•„๋จธ์ฒ˜ ์„ ํƒ ํ›„ ํฌ์ฆˆ ๋ชจ๋“œ ์ง„์ž…
  2. ๋ฌผ๋ฆฌ๋ฅผ ๋„ฃ๊ณ  ์‹ถ์€ ๋ผˆ๋“ค์„ ์ „๋ถ€ ์„ ํƒ (์—ฐ๊ฒฐ๋œ ๊ผฌ๋ฆฌ๋ผ๋ฉด: ๋ฟŒ๋ฆฌ ๋ผˆ๋ฅผ ๋งˆ์ง€๋ง‰์— ํด๋ฆญ, ๋‚˜๋จธ์ง€๋Š” Shift+ํด๋ฆญ)
  3. NํŒจ๋„ โ†’ Setup Tools โ†’ Chains from Selection ํด๋ฆญ
  4. ๋ผˆ๊ฐ€ ์‚ด์ง ๋Š˜์–ด์ง€๋ฉด ์„ฑ๊ณต! ์ŠคํŽ˜์ด์Šค๋ฐ”๋กœ ์žฌ์ƒ
  5. ๋ชธ ๋ผˆ๋ฅผ ์›€์ง์ด๋ฉด ์ฒด์ธ์ด ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋”ฐ๋ผ ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค ๐ŸŽ‰

๐Ÿ’ก 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๊ฐœ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋งค ์„œ๋ธŒ์Šคํ…๋งˆ๋‹ค:

  1. ๋ณผ๋ฅจ ํ”„๋กœ๋น™ โ€” ์ฒด์ธ์—์„œ ๊ณ ๋ฅธ Shape(Capsule / Cylinder / Box)๋ฅผ ์‹ค์ œ ๋ณผ๋ฅจ ๋”ฐ๋ผ ์ œํ•œ๋œ ์ˆ˜์˜ ๊ตฌ ํ”„๋กœ๋ธŒ๋กœ ์ƒ˜ํ”Œ๋งํ•ฉ๋‹ˆ๋‹ค: ์บก์А์€ ์ฒ™์ถ”์„ , ์‹ค๋ฆฐ๋”๋Š” ์ธก๋ฉด ๋ง, ๋ฐ•์Šค๋Š” ๋ชจ์„œ๋ฆฌ ์˜คํ”„์…‹๊นŒ์ง€. ๋ผˆ ์ค‘๊ฐ„์ด ๋ฒฝ์„ ๋น„์ง‘๊ณ  ์ง€๋‚˜๊ฐ€๋˜ ๋ˆ„์ˆ˜์™€ "Box์ธ๋ฐ ๋‘ฅ๊ธ€๊ฒŒ ๋ฐ€๋ ค๋‚˜๋˜" ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.
  2. ๋ฉ€ํ‹ฐ ์ ‘์ด‰ โ€” ์„œ๋กœ ๋‹ค๋ฅธ ์ตœ๋Œ€ 3๊ฐœ ์ ‘์ด‰(๋ฒ•์„ ์ด 60ยฐ ์ด์ƒ ์ฐจ์ด)์„ ๋™์‹œ ํ•ด๊ฒฐ: ๊ฐ€์žฅ ๊นŠ์€ ์ ‘์ด‰์€ 100%, ๋‚˜๋จธ์ง€๋Š” 60% ๊ฐ•๋„๋กœ ๋ฐ€์–ด๋ƒ…๋‹ˆ๋‹ค. ๋ชจ์„œ๋ฆฌ์— ๊ฑธ์นœ ๋ผˆ๊ฐ€ ํ•œ์ชฝ ๋ฒฝ์—์„œ๋งŒ ๋–จ๋ฆฌ์ง€ ์•Š๊ณ  ์–‘์ชฝ ๋ชจ๋‘์— ์•ˆ์ฐฉ๋ฉ๋‹ˆ๋‹ค.
  3. ์Šค์œ• CCD โ€” ํ•œ ์„œ๋ธŒ์Šคํ…์— ์ถฉ๋Œ ๋ฐ˜๊ฒฝ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ ์ด๋™ํ•œ ๋ผˆ๋Š” ์ด๋™ ๊ฒฝ๋กœ ์ž์ฒด๋ฅผ ๊ฒ€์‚ฌํ•ด ๋งˆ์ง€๋ง‰ ์•ˆ์ „ ์ง€์ ์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋น ๋ฅธ ํœ˜๋‘๋ฆ„์ด ์–‡์€ ํŒ์„ ์ˆœ๊ฐ„ ํ†ต๊ณผํ•˜๋Š” ํ„ฐ๋„๋ง์ด ์žกํž™๋‹ˆ๋‹ค.
  4. ์•ˆํ‹ฐํด๋“œ โ€” ๋ชจ๋“  ์ ‘์ด‰ ๋ณด์ •์—๋Š” ์˜ˆ์‚ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค(๋ผ์šด๋“œ๋‹น ๋ผˆ ๊ธธ์ด์˜ ์ตœ๋Œ€ 75%) + ๋ฐฉํ–ฅ ํด๋žจํ”„(๋ผ์šด๋“œ๋‹น ์ตœ๋Œ€ 45ยฐ). ๋ผˆ๊ฐ€ ํ•œ ๋ฒˆ์— ๋’ค์ง‘ํ˜€ ์ ‘ํžˆ๋Š” ๊ฒƒ์€ ๊ตฌ์กฐ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋Œ€์‹  ๋ช‡ ํ”„๋ ˆ์ž„์— ๊ฑธ์ณ ํ‘œ๋ฉด์„ ๋ฏธ๋„๋Ÿฌ์ ธ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค.
  5. ์•ˆํ‹ฐํ‚นํฌ โ€” ์ ‘์ด‰ ํ•ด๊ฒฐ ํ›„, ์ฒด์ธ ์ค‘๊ฐ„ ๋ผˆ๋“ค์˜ ๋ฐฉํ–ฅ์„ ์ด์›ƒ ๋ผˆ ํ‰๊ท  ๋ฐฉํ–ฅ์œผ๋กœ 15%์”ฉ ์™„๋งŒํžˆ ํ˜ผํ•ฉ(Chain ๋ชจ๋“œ๋งŒ)ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ ์œ„์— ๋“œ๋ ˆ์ดํ”„๋œ ์ฒด์ธ์˜ ์ง€๊ทธ์žฌ๊ทธ ๊บฝ์ž„์ด ๋ช‡ ํ”„๋ ˆ์ž„ ์•ˆ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํŽด์ง‘๋‹ˆ๋‹ค. ํ‘œ๋ฉด์— ๋‹ฟ์•„ ์žˆ๋Š” ๋ผˆ๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค โ€” ์ถฉ๋Œ๋กœ ์žก์•„์ค€ ์ž์„ธ๋ฅผ ๋‹ค์‹œ ํํŠธ๋Ÿฌ๋œจ๋ฆฌ์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค(v1.1.0).
  6. ์ž”์—ฌ ์žฌ๊ฒ€์‚ฌ โ€” ํด๋žจํ”„/์˜ˆ์‚ฐ ์ ˆ๋‹จ์ด ๋ฐœ๋™ํ•œ ๋ผˆ๋งŒ(ํ‰์‹œ์—” 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_ ๋ผˆ๋“ค์ด ํ•œ ๋ฒˆ์— ์ฒด์ธํ™”๋ฉ๋‹ˆ๋‹ค

  1. Prefix์— ์ ‘๋‘์‚ฌ ์ž…๋ ฅ (๊ธฐ๋ณธ dyn_)
  2. Chains from Prefix ํด๋ฆญ
  3. ์ ‘๋‘์‚ฌ ๋ผˆ ์ „๋ถ€ ์ž๋™ ์ฒด์ธํ™”
Mode ๋™์ž‘
Group Chains ์—ฐ๊ฒฐ๋œ dyn_ ๋ผˆ๋“ค์€ ํ•˜๋‚˜์˜ ์ฒด์ธ์œผ๋กœ (๊ถŒ์žฅ)
Individual Bones ๊ฐ๊ฐ ๋…๋ฆฝ 1๋ผˆ ์ฒด์ธ (์•ก์„ธ์„œ๋ฆฌ ๋‹ค์ˆ˜์— ์œ ์šฉ)

Chains from Selection

  1. ํฌ์ฆˆ ๋ชจ๋“œ์—์„œ ๋ผˆ ์„ ํƒ โ€” ๋ฟŒ๋ฆฌ ๋ผˆ๋ฅผ ๋งˆ์ง€๋ง‰์— ํด๋ฆญ
  2. ๋ฒ„ํŠผ ํด๋ฆญ
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) ๊ธฐ๋ณธ. ์•ˆ์ •์ ์ธ ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋ฌผ๋ฆฌ. ์˜ค๋ฒ„์ŠˆํŠธ ์—†์Œ. ์•ˆํ‹ฐํ‚นํฌ ์Šค๋ฌด๋”ฉ ์ ์šฉ
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, ์•ˆํ‹ฐํด๋“œ, ์•ˆํ‹ฐํ‚นํฌ ์ „๋ถ€ ์ ์šฉ. 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 ์†”๋ฒ„ ์‚ฌ์šฉ ํ™•์ธ (์•ˆํ‹ฐํด๋“œ + ์•ˆํ‹ฐํ‚นํฌ ๋‚ด์žฅ) 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 ๐Ÿฆด