[UE5] ๐Ÿน ํ™œ ์‹œ์œ„ ๋‹น๊ธฐ๊ธฐ (feat. Poseable Mesh)

Singery00ยท2024๋…„ 9์›” 23์ผ
0

UE5

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

๊ฐœ์š”

๐Ÿน Poseable Mesh๋ฅผ ์‚ฌ์šฉํ•ด ํ™œ ์‹œ์œ„๋ฅผ ๋‹น๊ฒจ ๋ณด์ž.

๋‚ญ๋งŒ์ด ๋„˜์น˜๋Š” ํ™œ ๊ณต๊ฒฉ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ํ™œ ์—์…‹์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•„ ์‹œ์œ„๋ฅผ ๋‹น๊ธฐ๋Š” ๊ฒƒ์ด ์–ด์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์–ด๋– ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์ •์ƒ์ ์œผ๋กœ ์‹œ์œ„๋ฅผ ๋‹น๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ์˜์ƒ


๋ณธ๋ก 


๐Ÿน ํ™œ ์‹œ์œ„ ๋‹น๊ธฐ๊ธฐ

์บ๋ฆญํ„ฐ

์บ๋ฆญํ„ฐ๋Š” ๋ณ„๊ฑฐ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ƒฅ ์–ธ๋ฆฌ์–ผ์—์„œ ์ œ๊ณตํ•˜๋Š” Manny๋ฅผ ์‚ฌ์šฉํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.
๋‹ค๋งŒ, ์ž…๋ ฅ์— ๋”ฐ๋ผ์„œ ํ™œ์„ ์กฐ์ค€ํ•  ์ˆ˜ ์žˆ๋Š” Input Action์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ† ๊ธ€๋กœ ์กฐ์ค€์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•  ์˜ˆ์ •์ด๋ผ ์•„๋ž˜์ฒ˜๋Ÿผ ์„ธํŒ…ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ์€ ์šฐํด๋ฆญ๋งŒ ์ถ”๊ฐ€๋กœ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.

BP_Bow ์ƒ์„ฑ

ํ™œ์€ ์—์…‹์„ ๊ตฌ๋งคํ•˜์—ฌ ํ•˜๋‚˜ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Actor ํด๋ž˜์Šค์˜ BP_Bow๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด ์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜์˜ ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

ํ™œ์˜ ๋ฉ”์‹œ๋ฅผ Skeletal Mesh๋กœ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Poseable Mesh๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ๋ฅผ ๋„ฃ์–ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Poseable Mesh

Poseable Mesh๋Š” Skeletal Mesh์˜ ๋ณธ์„ ์ฝ”๋“œ๋กœ ์ง์ ‘ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ํ•œ ๋ฉ”์‰ฌ ํƒ€์ž…์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์Šคํ…œ๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์—ฌ ๋ณธ๋“ค์˜ ์›€์ง์ž„์„ ์ œ์–ดํ•˜์ง€๋งŒ,
Poseable Mesh๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋‚˜ ์‹œํ€€์Šค ์—†์ด๋„ ์ฝ”๋“œ๋กœ ๋ณธ์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š๋ƒ,
ํ™œ๊ณผ ์บ๋ฆญํ„ฐ์˜ ์‹œ์œ„๋ฅผ ๋‹น๊ธฐ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์•„๋ž˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์™„๋ฒฝํ•˜๊ฒŒ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๊ฒฐ๊ตญ ํ•œ์ชฝ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ํ•„์š”๊ฐ€ ์žˆ์ฃ .

์—ฌ๊ธฐ์„œ Poseable Mesh๋ฅผ ์‚ฌ์šฉํ•ด ํŠน์ • ๋ณธ์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ํ™œ ์‹œ์œ„์˜ ๋ณธ์„ ์‹œ์œ„๋ฅผ ๋‹น๊ธฐ๋Š” ์†์˜ ๋ผˆ ์œ„์น˜๋กœ ์„ค์ •ํ•ด์ฃผ์–ด
์–ด๋–ค ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์‹œ์œ„๋ฅผ ๋‹น๊ธฐ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์†Œ์ผ“ ์„ค์ •

์˜ค๋ฅธ์†, ์™ผ์†์— ๊ฐ๊ฐ ์†Œ์ผ“์„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅธ์†์žก์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์†์— ํ™œ, ์˜ค๋ฅธ์†์— ์‹œ์œ„๋ฅผ ์žก์„ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.


์•กํ„ฐ ์ปดํฌ๋„ŒํŠธ๋กœ ์ƒ์„ฑ

ํ™œ์„ ์ถ”๊ฐ€ํ•  ๋•Œ, Actor Component๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์žฅ์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๋กœ BP_Bow๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์†Œ์ผ“์— ๋ถ€์ฐฉํ•ด์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Begin Player์—์„œ ํ˜ธ์ถœํ•ด์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ์‹œ์ž‘ํ•  ๋•Œ ์บ๋ฆญํ„ฐ๊ฐ€ ํ™œ์„ ๋“ค๊ณ  ์‹œ์ž‘ํ•˜๊ฒ ์ฃ .

์‹œ์œ„ ๋‹น๊ธฐ๊ธฐ, ํ’€๊ธฐ ์ด๋ฒคํŠธ ์ƒ์„ฑ

PullString๊ณผ InitString ์ด๋ผ๋Š” ์ปค์Šคํ…€ ํ•จ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

Pull String

Get Socket Location๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Character Mesh ์˜ ์‹œ์œ„ ์ขŒํ‘œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Set Bone Location By Name ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์‹œ์œ„์˜ ์œ„์น˜๋ฅผ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

World Space๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.

Init String

Init String์€ ๊ธฐ์กด์˜ ์ขŒํ‘œ๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ Begin Play ์‹œ์— ๋ฏธ๋ฆฌ ์ตœ์ดˆ ์œ„์น˜๋ฅผ ์ €์žฅํ•ด์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•˜๊ฒŒ Set Bone Location By Name ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ์›์ƒ๋ณต๊ตฌ ์‹œ์ผœ์ค๋‹ˆ๋‹ค.

ํ˜ธ์ถœ

์ด์ œ ๊ฐ ์ด๋ฒคํŠธ๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์—์„œ ํ˜ธ์ถœํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Pull String ์ด๋ฒคํŠธ๋Š” ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœํ•œ๋‹ค๋ฉด ์บ๋ฆญํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์— ๋”ฐ๋ผ ์‹œ์œ„ ์œ„์น˜๊ฐ€ ์ด์ƒํ•ด์ง‘๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ tick ํ•จ์ˆ˜์—์„œ IsAiming์ด ์ฐธ์ด๋ผ๋ฉด ๊ณ„์†ํ•ด์„œ ํ˜ธ์ถœํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋กœ ์ ํ”„์‹œ์—๋Š” ์กฐ์ค€์„ ํ•ด์ œํ•˜๊ณ  ์‹ถ์–ด์„œ ๋‹ค๋ฅธ ์กฐ๊ฑด์„ ๋„ฃ์—ˆ๋Š”๋ฐ ๊ฐ์ž ๊ฒŒ์ž„์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•ด์ฃผ์„ธ์š”.

Init String ์ด๋ฒคํŠธ๋Š” ์šฐํด๋ฆญ์ด ๋–จ์–ด์ง€๋ฉด์„œ ํ˜ธ์ถœ๋˜๋„๋ก ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋‘์—ˆ๋Š”๋ฐ ์กฐ์ค€ ํ•ด์ œ ์‹œ ํ˜ธ์ถœํ•œ๋‹ค๋Š” ์ ์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์‹คํ–‰ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์‹œ์œ„๊ฐ€ ์„ค์ •ํ•ด๋‘” ์˜ค๋ฅธ์† ์†Œ์ผ“์— ๋ถ™์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋งˆ๋ฌด๋ฆฌ

ํ™”์‚ด์„ ์˜๋Š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ์— ํฌ์ŠคํŒ…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

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

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