[UE5] ๐Ÿ”ซ 3์ธ์นญ ์กฐ์ค€์„ ํ•ด๋ณด์ž (ๅฎŒ)

Singery00ยท2024๋…„ 3์›” 29์ผ
1

UE5 Blueprint

๋ชฉ๋ก ๋ณด๊ธฐ
12/29
post-thumbnail
post-custom-banner

๊ฐœ์š”

๐Ÿ’ก ์ด์ „ ํฌ์ŠคํŒ…์—์„œ Input System๊ณผ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค.
์ถ”๊ฐ€๋กœ ์บ๋ฆญํ„ฐ๊ฐ€ ์ด์„ ์˜๊ธฐ ์ „ ์กฐ์ค€ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ๋™์ž‘ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•˜๊ฒ ๋‹ค.

์บ๋ฆญํ„ฐ๊ฐ€ ์ด์„ ์˜๋ฉด ๋‹จ์ˆœํžˆ ์ด์•Œ๋งŒ ๋‚˜๊ฐ€๋Š” ๊ฒƒ์—์„œ ๊ทธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์กฐ์ค€ ๋ชจ์…˜, ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ์บ๋ฆญํ„ฐ ํšŒ์ „ ๋“ฑ๋“ฑ..
๊ทธ๋ž˜์„œ ํ•„์š”์— ๋”ฐ๋ผ ์• ๋‹ˆ๋ฉ”์ด์…˜๋“ค์ด ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๋™์ž‘์— ๋Œ€ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ค€๋น„๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•๊ณผ ์บ๋ฆญํ„ฐ์—๊ฒŒ ์‹ค์ œ๋กœ ์ด์„ ์žฅ์ฐฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ์‚ฌ์ „ ์„ค์ •
2. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ชฝํƒ€์ฃผ ์‚ฌ์šฉ
3. ๋ฌด๊ธฐ ์žฅ์ฐฉ
4. ์šฐํด๋ฆญ์œผ๋กœ ์กฐ์ค€ ๋ชจ์…˜ ๊ตฌํ˜„
5. ๊ฐ๋„์— ๋”ฐ๋ฅธ ์—์ž„ ์กฐ์ค€ ๋ฐฉ๋ฒ•1
6. ๊ฐ๋„์— ๋”ฐ๋ฅธ ์—์ž„ ์กฐ์ค€ ๋ฐฉ๋ฒ•2

์•„๋ž˜์˜ ์—์…‹๋“ค์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ์™€ ๋ฒ„์ „์ด ๋‹ฌ๋ผ๋„ ํ˜ธํ™˜๋˜๋‹ˆ ๋ณ€๊ฒฝํ•ด์„œ ๋‹ค์šด๋ฐ›์•„ ์ฃผ์„ธ์š”!

์• ๋‹ˆ๋ฉ”์ด์…˜ ์Šคํƒ€ํ„ฐํŒฉ
์ด๊ธฐ ์—์…‹


๋ณธ๋ก 


๊ฐ๋„์— ๋”ฐ๋ฅธ ์—์ž„ ์กฐ์ค€ ๋ฐฉ๋ฒ•1

์‚ฌ์ „ ์ค€๋น„

Animation ํด๋”์— AimAni๋ผ๋Š” ํด๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์ž.

AimAniํด๋”๋กœ ์ด๋™ ํ›„ Content Browser๋ฅผ ์—ด์ž.

MM_Idle์„ ๊ฐ€์ ธ์˜ฌ ๊ฑด๋ฐ...

โ—์ œ๋ฐœ ๋ณต์‚ฌํ•ด์„œ ๊ฐ€์ ธ์˜ค์žโ—
โ—์›๋ณธ์„ ์ˆ˜์ •ํ–ˆ๋‹ค๊ฐ„... ์ƒ์ƒ์— ๋งก๊ธด๋‹คโ—

MM_Idle์„ ๋ณต์‚ฌํ•ด์„œ AnimAniํด๋”์— ๋„ฃ์–ด์ฃผ์ž

๋ณต์‚ฌํ•œ MM_Idle์˜ ์ด๋ฆ„์„ AO_Idle๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์ž

AO_Idle ์ˆ˜์ •

AO_Idle์„ ์ผœ์„œ ์ˆ˜์ •ํ•˜์ž.
์—ญ์‹œ ๋ณต์žกํ•˜์ง€๋งŒ ์šฐ๋ฆฐ ๋นจ๊ฐ„๋ฐ•์Šค 2๊ฐœ๋งŒ ์ˆ˜์ •ํ•  ๊ฒƒ์ด๋‹ค.

์šฐ์„  ์•„๋ž˜ ์žฌ์ƒ์ฐฝ์—์„œ ์ง„ํ–‰๋ฐ”๋ฅผ ๊ฐ€์žฅ ์ขŒ์ธก์œผ๋กœ ์˜ด๊ธฐ์ž.

โ—๋ณต์‚ฌ๋ณธ์ธ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธํ•˜์žโ—
โ—๋ณต์‚ฌ๋ณธ์ธ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธํ•˜์žโ—
โ—๋ณต์‚ฌ๋ณธ์ธ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธํ•˜์žโ—

๊ทธ๋ฆฌ๊ณ  ์šฐํด๋ฆญ ํ›„ Remove from Frame 1 to frame 228์„ ์„ ํƒํ•˜์ž.

์ด์ œ ์ขŒ์ธก Asset Details ์ฐฝ์—์„œ ์ž‘์—…ํ•˜์ž.

  1. ์•„๋ž˜์˜ Additive Settings์˜ Additive Anim Type์„ Mesh Space๋กœ ์ง€์ •ํ•˜์ž.
  1. Base Pose Type์„ Selected animation scaled๋กœ ์ง€์ •ํ•œ๋‹ค.
  1. ์•„๋ž˜ Base Pose Animation์—์„œ MM_Idle์„ ๊ฒ€์ƒ‰ํ•ด์„œ ์›๋ณธ์„ ๋„ฃ์–ด์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ €์žฅํ•˜๊ณ  ๋‚˜๊ฐ€์ž.
AO_Idle์„ 2๊ฐœ ๋ณต์‚ฌํ•ด์„œ ๊ฐ๊ฐ AO_Down, AO_Up์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์ž.

AO_Up ์ˆ˜์ •
1. ํ”Œ๋ ˆ์ด ์ผ์‹œ์ •์ง€
2. spine_02 ๋ผˆ ์„ ํƒ
3. Pitch๋ฅผ ์œ„๋กœ ๋ณด๋„๋ก ์ˆ˜์ • (์•ฝ 45๋„)
4. ์ƒ๋‹จ์˜ +Key ํด๋ฆญ
5. ์ €์žฅ

AO_Down ์ˆ˜์ •
1. ํ”Œ๋ ˆ์ด ์ผ์‹œ์ •์ง€
2. spine_02 ๋ผˆ ์„ ํƒ
3. Pitch๋ฅผ ์œ„๋กœ ๋ณด๋„๋ก ์ˆ˜์ • (์•ฝ 45๋„)
4. ์ƒ๋‹จ์˜ +Key ํด๋ฆญ
5. ์ €์žฅ

์œ„ ์ž‘์—…์ด ๋๋‚˜๋ฉด ํŒŒ์ผ์ด ์ด๋ ‡๊ฒŒ ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

Aim Offset ์‚ฌ์šฉ

์œ„ ๋ชจ์…˜๋“ค์„ Aim Offset์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ ˆํ•  ๊ฒƒ์ด๋‹ค.
Blend Space์™€ ๋™์ผํ•˜๋‹ค!
์šฐํด๋ฆญ - Animation - Legacy - Aim Offset 1D๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์ž

์šฐ๋ฆฌ์˜ ์Šค์ผˆ๋ ˆํ†ค์„ ์„ ํƒํ•ด์ฃผ๊ณ 

AOB_Aim์ด๋ผ ์ง€์–ด์ฃผ์ž

์—๋””ํ„ฐ๋ฅผ ์ผœ์„œ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์ž.

์ขŒ์ธก Axis Settings์˜ Horizotal Axis์˜ ๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Name : Aim
Min : -45
Max : 45
Snap to Grid : ์ฒดํฌ

์ค‘๊ฐ„์— ๊ฐ’์— ๋”ฐ๋ฅธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ชจ์…˜์„ ๋„ฃ์–ด์ฃผ์ž

๐Ÿ“™ Animation Blueprint ์„ค์ •

Event Graph

ABP_Player์˜ Event Graph๋กœ ์ด๋™ํ•˜์ž.

Aim (Float)๋ณ€์ˆ˜ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด์ฃผ์ž.

๊ทธ๋ฆฌ๊ณ  Try Get Pawn Owner์—์„œ Get Base Aim Rotation๋…ธ๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  Splitํ•ด์ฃผ์ž

Set Aim๋…ธ๋“œ๋ฅผ ๊ฐ€์ ธ์™€์„œ Pitch๊ฐ’๋งŒ ๋„ฃ์–ด์ฃผ์ž.
ํ๋ฆ„ ์—ฐ๊ฒฐ์€ ์ด์ œ ๋‹น์—ฐํžˆ ํ•ด์ฃผ์ž.

Anim Graph

Anim Graph๋กœ ์ด๋™ํ•˜์ž.

์šฐํด๋ฆญ ํ›„ AOB_Aim์„ ๊ฒ€์ƒ‰ํ•ด์„œ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž.
์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ AimOffset Player๋กœ ๊ฐ€์ ธ์˜ค์ž

Aim ์ธํ’‹์— ์ƒ์„ฑํ•œ Get Aim (Float)์„ ๋„ฃ์–ด์ฃผ์ž.
๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด์˜ Layered blend per bone๊ณผ Output Pose ์ค‘๊ฐ„ ํ๋ฆ„์œผ๋กœ ๋„ฃ์–ด์ค€๋‹ค.

โ—์ปดํŒŒ์ผ ์ €์žฅโ—ํ›„ ํ”Œ๋ ˆ์ดํ•ด๋ณด์ž.

์‹œ์ ์— ๋”ฐ๋ผ ์บ๋ฆญํ„ฐ์˜ ์ƒ์ฒด ๊ฐ๋„๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค!


๊ฐ๋„์— ๋”ฐ๋ฅธ ์—์ž„ ์กฐ์ค€ ๋ฐฉ๋ฒ•2

์ด๋ฒˆ์—” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด๋ณด๊ฒ ๋‹ค.
ํ›จ์”ฌ ๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

๐Ÿ“™ Animation Blueprint ์„ค์ •

Event Graph

์šฐ์„  Event Graph๋กœ ์ด๋™ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  AimRoator (Rotator) ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด์ฃผ์ž.

Try Get Pawn Owner์—์„œ 2๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

  1. Get Actor Rotation
  2. Get Control Rotation

์ถ”๊ฐ€๋กœ Delta (Rotator) ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž.
Get Actor Rotation๊ณผ Get Control Rotation๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๊ฐ๊ฐ ๋„ฃ๊ณ  Split ํ•ด์ฃผ์ž.

Delta (Rotator)๋Š” ๋‘ ํšŒ์ „๊ฐ’์„ ์ •๊ทœํ™” ์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Clamp (Float)์ด๋ผ๋Š” ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž.
Min, Max์—๋Š” ์ด์ „์— ์„ค์ •ํ–ˆ๋˜ ์บ๋ฆญํ„ฐ๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ์ตœ์†Œ, ์ตœ๋Œ€ ๊ฐ๋„๋ฅผ ์„ค์ •ํ•ด์ฃผ์ž

๊ฐ๊ฐ -45, 45๋กœ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค.

Delta (Rotator)์˜ Pitch๋ฅผ Value์— ๋„ฃ์–ด์ฃผ์ž.

๊ทธ๋ฆฌ๊ณ  Set AimRotator๋ฅผ ๊ฐ€์ ธ์˜ค์ž.

  1. Aim rotator X (Roll)์— Clamp ๋…ธ๋“œ์˜ ๋ฐ˜ํ™˜๊ฐ’ ์—ฐ๊ฒฐ
  2. Delta (Rotator)์˜ Yaw ๋ฐ˜ํ™˜๊ฐ’์„ Aim rotator Z (Yaw)์— ์—ฐ๊ฒฐ

ํ๋ฆ„์ด์–ด์ฃผ๊ณ  โ—์ปดํŒŒ์ผ ์ €์žฅโ—ํ•˜์ž.

Anim Graph

Anim Graph๋กœ ์ด๋™ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  Transform (Modify) Bone ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด์˜ AOB_Aim์˜ ํ๋ฆ„์„ ์‚ญ์ œํ›„ Layered blend per bone๊ณผ Output Pose ์ค‘๊ฐ„ ํ๋ฆ„์œผ๋กœ ๋„ฃ์–ด์ค€๋‹ค.

Rotation์—๋Š” Get AimRotor๋ฅผ ๋„ฃ์–ด์ฃผ์ž

โ—์ปดํŒŒ์ผ ์ €์žฅโ—ํ›„ ํ”Œ๋ ˆ์ดํ•ด๋ณด๋ฉด ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค!!

์ถ”๊ฐ€ ์ •๋ณด

์—์ž„ ์˜คํ”„์…‹ vs ํŠธ๋žœ์Šคํผ ๋ณธ

๊ฐ™์€ ๋™์ž‘์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์ƒํ™ฉ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์“ฐ์ธ๋‹ค๋Š” ์ž๋ฃŒ๋ฅผ ์ฐพ์•˜๋‹ค.

์—์ž„ ์˜คํ”„์…‹(Aim Offset)

์—์ž„ ์˜คํ”„์…‹์€ ์ฃผ๋กœ ์บ๋ฆญํ„ฐ์˜ ์ƒ์ฒด๋‚˜ ๋ฌด๊ธฐ๋ฅผ ํŠน์ • ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
์ด์„ ๋“  ์บ๋ฆญํ„ฐ์˜ ๊ฒฝ์šฐ, ์—์ž„ ์˜คํ”„์…‹์€ ์ด์˜ ํ–ฅํ•˜๋Š” ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ์บ๋ฆญํ„ฐ์˜ ์ƒ์ฒด๋ฅผ ํšŒ์ „์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
๋ณดํ†ต ์ด์„ ๋“  ์ƒํƒœ์—์„œ์˜ ํŠน์ • ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ์ƒ์ฒด ํšŒ์ „์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ฃผ๋กœ ์ƒ๋Œ€์ ์ธ ํšŒ์ „ ๊ฐ’์œผ๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์Šคํผ ๋ณธ(Transform Bone)

.ํŠธ๋žœ์Šคํผ ๋ณธ์€ ์บ๋ฆญํ„ฐ์˜ ๊ฐœ๋ณ„์ ์ธ ๋ผˆ๋Œ€(bone)๋ฅผ ์ง์ ‘ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ํšŒ์ „์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
์ด๋Š” ์บ๋ฆญํ„ฐ์˜ ์ „์ฒด์ ์ธ ์ž์„ธ๋‚˜ ํฌ์ฆˆ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
ํŠน์ • ๋ผˆ๋Œ€์— ๋Œ€ํ•œ ์œ„์น˜์™€ ํšŒ์ „ ๊ฐ’์„ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฃผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ Œ๋“œ ์ŠคํŽ˜์ด์Šค(blend space)๋‚˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ชฝํƒ€์ฃผ(animation montage) ๋“ฑ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค.

๋ฐฉ๋ฒ•2์—์„œ ์™œ Rotator X์— ๋„ฃ๋‚˜์š”??

์•„๋ž˜ ๊ณผ์ •์—์„œ ์˜๋ฌธ์„ ๊ฐ€์กŒ๋‹ค.
์™œ Pitch๊ฐ’์„ Roll์— ์ด์–ด์ฃผ๋Š”๊ฑฐ์ง€?

๊ฒฐ๋ก ์€ ์ขŒํ‘œ๊ณ„๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Actor์—์„œ๋Š” X๊ฐ€ ์ •๋ฉด์ธ๋ฐ
Skeltal Mesh์—์„œ๋Š” Y๊ฐ€ ์ •๋ฉด์ด๋‹ค.

๋”ฐ๋ผ์„œ Transform (Modify) Bone์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Y๋ฅผ X์— ๋„ฃ์–ด์ค˜์•ผ ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ถ”๊ฐ€ ์ •๋ณด

" ์ƒ์† ๊ธฐ์ค€ ์ขŒํ‘œ๋ฅผ ๋”ฐ๋ผ๊ฐ„๋‹ค. "

" ์—ฌ๊ธฐ์„œ ๋˜ ํฌ์ธํŠธ๊ฐ€ ๋ฐ˜ํ™˜๊ฐ’ Y = -Control Rotation.Y ์ธ๋ฐ ํ™”๋ฉด์ด ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋ˆ๋‹ค๋ฉด ๋ชธ์€ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„์•ผํ•˜๊ธฐ์— -์ž…๋‹ˆ๋‹ค. "


๋งˆ๋ฌด๋ฆฌ

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

1. ์‚ฌ์ „ ์„ค์ •
2. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ชฝํƒ€์ฃผ ์‚ฌ์šฉ
3. ๋ฌด๊ธฐ ์žฅ์ฐฉ
4. ์šฐํด๋ฆญ์œผ๋กœ ์กฐ์ค€ ๋ชจ์…˜ ๊ตฌํ˜„
5. ๊ฐ๋„์— ๋”ฐ๋ฅธ ์—์ž„ ์กฐ์ค€ ๋ฐฉ๋ฒ•1
6. ๊ฐ๋„์— ๋”ฐ๋ฅธ ์—์ž„ ์กฐ์ค€ ๋ฐฉ๋ฒ•2

profile
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ณด์ž
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€