[UE5] ๐Ÿƒโ€โ™‚ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ (ๅฎŒ)

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

UE5 Blueprint

๋ชฉ๋ก ๋ณด๊ธฐ
9/29
post-thumbnail

๊ฐœ์š”

๐Ÿ’ก ์ง€๋‚œ๋ฒˆ Old Input System๊ณผ Enhanced Input System์„ ๊ฐ๊ฐ ์ด์šฉํ•˜์—ฌ 3์ธ์นญ ์บ๋ฆญํ„ฐ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.
์ด๋ฒˆ์—” ํ•ด๋‹น ์บ๋ฆญํ„ฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•ด ์ข€ ๋” ์—ญ๋™์ ์ธ ํšจ๊ณผ๋ฅผ ์ค˜๋ณด๊ฒ ๋‹ค.

์šฐ๋ฆฌ๋Š” Idle, Run, Jump๋กœ ๊ฐ„๋‹จํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค.
์ด๋ฒˆ์—๋Š” ์ข€ ๋” ๋‹ค์–‘ํ•˜๊ฒŒ ํ‘œํ˜„๋˜๋„๋ก ๊ฐœ์„ ํ•ด๋ณด๊ฒ ๋‹ค.

1. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์ƒ์„ฑ
2. State Machine ์ถ”๊ฐ€
3. ์ •์ง€
4. ๋‹ฌ๋ฆฌ๊ธฐ
5. ์ ํ”„
6. ๊ฐœ์„ 

์–ธ๋ฆฌ์–ผ ์—”์ง„5 ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ๊ณต์‹ ๋ฌธ์„œ

์–ธ๋ฆฌ์–ผ ์—”์ง„5 ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—๋””ํ„ฐ ๊ณต์‹ ๋ฌธ์„œ

โ—์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ œ์ž‘ํ•œ 3์ธ์นญ ์บ๋ฆญํ„ฐ๋ฅผ ์ด์–ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹คโ—


๋ณธ๋ก 

Idle > Run ์‚ฌ์ด์˜ Walk๋ชจ์…˜ ์ถ”๊ฐ€


๐Ÿ”ผ ๊ฐœ์„ 

์ค‘๊ฐ„ ์ƒํƒœ ์ถ”๊ฐ€

์บ๋ฆญํ„ฐ๊ฐ€ ์›€์ง์ด๋ฉด ์ตœ์ €์†๋„, ์ตœ๊ณ ์†๋„์— ๋ฐ”๋กœ ๋„๋‹ฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด์— ์šฐ๋ฆฌ๋Š” ์†๋„๊ฐ€ ๋Š๋ฆด ๋•Œ ๊ฑท๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

์ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด Blend Space์ด๋‹ค.

์šฐ๋ฆฌ์˜ Blueprint ํด๋”์—์„œ Blend Space๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์ž.

์ต์ˆ™ํ•œ ํ™”๋ฉด๋“ค์ด๋‹ค.
๊ฐ์ž๊ฐ€ ์„ ํƒํ•œ ์บ๋ฆญํ„ฐ์˜ ์Šค์ผˆ๋ ˆํ†ค์„ ์„ ํƒํ•ด์ฃผ์ž.

BS_Move๋ผ๊ณ  ์ด๋ฆ„์„ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค.

๋”๋ธ” ํด๋ฆญํ•ด์„œ Blend Space ์—๋””ํ„ฐ๋ฅผ ์—ด์–ด์ฃผ์ž.
๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋œจ๋Š”๋ฐ ์šฐ๋ฆฌ๋Š” ๋นจ๊ฐ„ ๋„ค๋ชจ๊ฐ€ ์‚ฌ์šฉ๋œ 3๊ฐ€์ง€ ๋ถ€๋ถ„๋งŒ ๋ณผ ๊ฒƒ์ด๋‹ค.

Axis Settings ์„ค์ •

์ขŒ์ธก์˜ [Asset Details] ํƒญ์„ ๋ณด๋ฉด Axis Settings ์„น์…˜์ด ์žˆ๋‹ค.

ํ•ด๋‹น์œ„์น˜์˜ Horizontal Axis์™€ Vertical Axis๋ฅผ ๊ฐ๊ฐ ์„ค์ •ํ•ด์ฃผ์ž

Horizontal Axis

Horizontal์€ ์ขŒ์šฐ๋กœ Angle์ด ๋  ๊ฒƒ์ด๋‹ค.

Name / Angle
Minimum Axis Value / -180
Maximum Axis Value / 180
Snap to Grid / ์ฒดํฌ

Vertical Axis

Vertical์€ ์ƒํ•˜๋กœ Speed๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.
์บ๋ฆญํ„ฐ์˜ ์ด๋™ ์†๋„์— ๋งž์ถฐ์„œ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์ž.

Name / Speed
Minimum Axis Value / 0
Maximum Axis Value / 600
Snap to Grid / ์ฒดํฌ


๋ชจ์…˜ ์ถ”๊ฐ€

์šฐ๋ฆฌ๊ฐ€ ๊ฒฉ์ž ๊ทธ๋ž˜ํ”„์— ์›ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋„ฃ์œผ๋ฉด ๊ฐ’์— ๋”ฐ๋ผ์„œ ๋ชจ์…˜์ด ๋ณ€๊ฒฝ๋˜๋Š” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์šฐ์ธก์˜ [Asset Browser]์—์„œ MM_Idle์„ ๊ฒ€์ƒ‰ํ•ด์„œ Angle : 0, Speed : 0์— ๋„ฃ์–ด์ฃผ์ž

๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ
MM_Walk_Fwd์„ ๊ฒ€์ƒ‰ํ•ด์„œ Angle : 0, Speed : 300์œผ๋กœ,

MM_Run_Fwd์„ ๊ฒ€์ƒ‰ํ•ด์„œ Angle : 0, Speed : 600์— ๋„ฃ์–ด์ฃผ์ž

๊ทธ๋ฆฌ๊ณ  Ctrl์„ ๋ˆ„๋ฅธ ์ƒํƒœ๋กœ ๊ฒฉ์ž ๊ทธ๋ž˜ํ”„๋ฅผ ํด๋ฆญํ•ด๋ณด๋ฉด ๊ฐ’์— ๋”ฐ๋ฅธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถœ๋ ฅ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Anim Graph ์ˆ˜์ •

ABP_Player์˜ Anim Graph๋กœ ๊ฐ€์ž
Lomotion ์ƒํƒœ๋กœ ๋“ค์–ด๊ฐ€์„œ ๊ธฐ์กด ์—ฐ๊ฒฐ์„ ๋Š์–ด์ฃผ์ž

๊ทธ๋ฆฌ๊ณ  Asset Browser์—์„œ BS_Move๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•˜์ž

๊ทธ๋ž˜ํ”„ ํ™”๋ฉด์œผ๋กœ ๋Œ์–ด์˜ค๋ฉด ๋…ธ๋“œ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Entry์™€ Jump์™€ ์—ฐ๊ฒฐํ•ด์ฃผ์ž

BS_Move์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€์ž.
๊ทธ๋ฆฌ๊ณ  Angle (Float)ํ˜• ๋ณ€์ˆ˜๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์ž.
BS_Move์˜ ์ž…๋ ฅ์— Get์œผ๋กœ Angle, Speed๋ฅผ ๊ฐ€์ ธ์™€์„œ ๊ฐ๊ฐ ๋„ฃ์–ด์ฃผ์ž

Jump์˜ ์กฐ๊ฑด์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•˜์ž.
๊ณต์ค‘์ผ ๋•Œ, ์•„๋‹ ๋•Œ 2๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉด ๋œ๋‹ค.

Event Graph ์ˆ˜์ •

Angle ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ–ˆ์œผ๋‹ˆ ๋ฐ”๋ผ๋ณด๋Š” ๊ฐ๋„์— ๋Œ€ํ•ด์„œ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

ABP_Player์˜ Event Graph๋กœ ์ด๋™ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋…ธ๋“œ๋ฅผ ์ด์–ด์ฃผ์ž.

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

๋ชจ์…˜์ด ํ‹ฐ๊ฐ€ ๋‚˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฉด
BP_Player์˜ ๊ฐ€์†, ๊ฐ์† ๊ฐ’์„ ์กฐ์ ˆํ•ด๋ณด์ž.


๋งˆ๋ฌด๋ฆฌ

์—ฌ๊ธฐ๊นŒ์ง€ ์„ค์ •๊ฐ’์— ๋”ฐ๋ฅธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ „ํ™˜์„ ํ•ด๋ณด์•˜๋‹ค.

1. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์ƒ์„ฑ
2. State Machine ์ถ”๊ฐ€
3. ์ •์ง€
4. ๋‹ฌ๋ฆฌ๊ธฐ
5. ์ ํ”„
6. ๊ฐœ์„ 

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

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