๐Ÿ“„

Animation Modifier - AN

Mark as Draft

์ •์˜

Unreal Engine ๋‚ด๋ถ€์—์„œ Animation Asset์˜ Data๋ฅผ ์ฝ๊ณ  ํŠน์ • ์กฐ๊ฑด์— ๋งž์ถฐ Bone ๋ณ€ํ˜•์ด๋‚˜
๐Ÿ“„
Animation Notifies
์ถ”๊ฐ€ ๋“ฑ์˜ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š”
๐Ÿ“„
Blueprint - BP
๊ธฐ๋ฐ˜์˜ Data ์ฒ˜๋ฆฌ System์ด๋‹ค.

์„ค๋ช…

๊ณผ๊ฑฐ ์ˆ˜๋ฐฑ ๊ฐœ์˜ Animation ํŒŒ์ผ์— ์ผ์ผ์ด Notify๋ฅผ ์ฐ๊ฑฐ๋‚˜ Root Motion์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ˜๋ณต ์ž‘์—…์€ ๋ง‰๋Œ€ํ•œ ์ธ๋ ฅ ๋‚ญ๋น„๋ฅผ ์ดˆ๋ž˜ํ–ˆ๋‹ค.
Epic Games๋Š” Animation Data๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•˜์—ฌ ์ˆ˜์ž‘์—…์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ์›์ฒœ์ ์œผ๋กœ ์ œ๊ฑฐํ–ˆ๋‹ค.
C++ Code ์ž‘์„ฑ ์—†์ด๋„ Editor ๋‚ด์—์„œ Animation Sequence์˜ Frame ๋ฐ Curve Data์— ์ ‘๊ทผํ•˜์—ฌ ์ˆ˜์ •ํ•˜๋Š” ์ง๊ด€์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.
ํ˜„์—… Pipeline์—์„œ๋Š” ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๊ฒฉ์„ ํ†ต์ผํ•˜๊ณ  ํƒ€๊ฒฉ ํŒ์ •์ด๋‚˜ Audio ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์ˆ˜์ฒœ ๊ฐœ์˜ Notify๋ฅผ ๋ช‡ ์ดˆ ๋งŒ์— ์ผ๊ด„ ์‚ฝ์ž…ํ•˜๋Š” ์ž๋™ํ™” ๋„๊ตฌ๋กœ ํ™œ์šฉํ•œ๋‹ค.

์›๋ฆฌ

  1. Asset Data ์ˆœํšŒ ํƒ์ƒ‰
    1. ์„ ํƒ๋œ Animation Sequence ๋‚ด๋ถ€์˜ ์ „์ฒด Frame์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ›‘์œผ๋ฉฐ ๊ฐ Frame์ด ๊ฐ€์ง„ Bone์˜ Transform Data๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ถ”์ถœํ•œ๋‹ค.
  1. ํŠน์ • ์กฐ๊ฑด๋ถ€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ
    1. ๋ฐœ์ด ์ง€๋ฉด์˜ Z์ถ• ๋†’์ด์™€ ์ผ์น˜ํ•˜๋Š” ์ˆœ๊ฐ„์ด๋‚˜ ๋ฌด๊ธฐ๋ฅผ ํœ˜๋‘๋ฅด๋Š” ์†๋„๊ฐ€ ์ž„๊ณ„๊ฐ’์„ ๋ŒํŒŒํ•˜๋Š” ์ˆœ๊ฐ„ ๋“ฑ ๊ธฐํš์ž๊ฐ€ ์„ค์ •ํ•œ ๋ฌผ๋ฆฌ์  ์กฐ๊ฑด์„ ์ฐพ์•„๋‚ธ๋‹ค.
  1. Modifier ๋กœ์ง ์‹คํ–‰
    1. ์กฐ๊ฑด์ด ์ถฉ์กฑ๋œ Frame์— Notify Event๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ๋ถˆํ•„์š”ํ•œ Curve Data๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋“ฑ ์ง€์ •๋œ ๋ช…๋ น์„ ์ผ๊ด„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  1. ๋น„ํŒŒ๊ดด์  ์›๋ณธ ๋ณด์กด
    1. Apply ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ธฐ ์ „๊นŒ์ง€๋Š” Data ์ˆ˜์ • ์‚ฌํ•ญ์ด ์˜๊ตฌํžˆ ์ €์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ ์–ธ์ œ๋“ ์ง€ Revert ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์›๋ณธ ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•œ๋‹ค.

๊ตฌ์กฐ

ย 

์˜ˆ์‹œ

Audio Footstep Notify ์ž๋™ ์‚ฝ์ž…

Character์˜ ๊ฑท๊ธฐ ๋ฐ ๋›ฐ๊ธฐ Sequence์— ๋ฐœ์†Œ๋ฆฌ๋ฅผ ๋„ฃ์„ ๋•Œ ๊ตฌ๋™ํ•œ๋‹ค. ์–‘๋ฐœ์˜ Bone Z์ถ• ์œ„์น˜๋ฅผ ์ถ”์ ํ•˜์—ฌ ์ง€๋ฉด์— ๋‹ฟ๋Š” ์ •ํ™•ํ•œ Frame์„ ๊ณ„์‚ฐํ•ด๋‚ธ ๋’ค ํ•ด๋‹น ์‹œ์ ์— Audio Notify๋ฅผ ์ผ๊ด„ ์‚ฝ์ž…ํ•˜์—ฌ ์ž‘์—… ์‹œ๊ฐ„์„ ํš๊ธฐ์ ์œผ๋กœ ๋‹จ์ถ•ํ•œ๋‹ค.

Root Motion Data ๋ณด์ •

์™ธ๋ถ€ Motion Capture ์žฅ๋น„์—์„œ ๊ฐ€์ ธ์˜จ Root Bone ๊ถค์ ์ด ๋ถˆ๊ทœ์น™ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. Frame๋ณ„ ์ด๋™ ์†๋„๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๊ณก์„  Data๋ฅผ ๋ถ€๋“œ๋Ÿฌ์šด ์„ ํ˜• Curve๋กœ ๋ฎ์–ด์”Œ์›Œ Character๊ฐ€ ๋ฏธ๋„๋Ÿฌ์ง€๋Š” ์Šฌ๋ผ์ด๋”ฉ ํ˜„์ƒ์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ต์ •ํ•œ๋‹ค.

Weapon ํƒ€๊ฒฉ ํŒ์ • ๊ตฌ๊ฐ„ ์„ค์ •

๊ณต๊ฒฉ Animation์—์„œ ๋ฌด๊ธฐ๊ฐ€ ์ •์ ์„ ์ฐ๋Š” ํƒ€๊ฒฉ ๊ตฌ๊ฐ„์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ์†๋ชฉ Bone์˜ ๊ฐ€์†๋„๊ฐ€ ์ตœ๋Œ€์น˜์— ๋‹ฌํ•˜๋Š” Frame์„ ๊ฒ€์ถœํ•œ ๋’ค ํ•ด๋‹น ์˜์—ญ์— ํƒ€๊ฒฉ ํŒ์ • Collision์„ ํ™œ์„ฑํ™”ํ•˜๋Š” Anim Notify State๋ฅผ ์”Œ์›Œ ๋ฐธ๋Ÿฐ์Šค๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

Mark as Published
ย