[UE5] ๐Ÿ—บ๏ธ NavMesh Rebuild Runtime

Singery00ยท2024๋…„ 7์›” 22์ผ
0

UE5

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

๊ฐœ์š”

๐Ÿ—บ๏ธ NavMesh๋ฅผ ๋Ÿฐํƒ€์ž„ ์ค‘ ๋™์ ์œผ๋กœ ์žฌ์„ค์ •ํ•˜๊ณ , ์บ๋ฆญํ„ฐ๋„ ์ ์šฉ์‹œ์ผœ๋ณด์ž.

๊ฒŒ์ž„ ์ค‘ ์ƒˆ๋กญ๊ฒŒ ์•กํ„ฐ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ์บ๋ฆญํ„ฐ๋“ค์ด ์›€์ง์ธ๋‹ค.
์ด๋•Œ, ๊ฐ ์•กํ„ฐ๋กœ ์ธํ•˜์—ฌ ๊ธธ์ด ๋ง‰ํ˜”์œผ๋‚˜ ํ•ด๋‹น ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์† ์ด๋™์„ ์‹œ๋„ํ•ด์„œ AI๊ฐ€ ๋ฉ์ฒญํ•ด๋ณด์ธ๋‹ค.

์ด๋ฅผ NavMesh๋ฅผ ๋Ÿฐํƒ€์ž„ ์ค‘ ๋™์ ์œผ๋กœ ์žฌ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

์ฐธ๊ณ  ํฌ๋Ÿผ


๋ณธ๋ก 


๐Ÿ—บ๏ธ NavMesh Rebuild Runtime

์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ Nav Mesh Bounds Volume๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ๋ ˆ๋ฒจ์— ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  ๋งต์„ ๋‹ค ๋ฎ๋„๋ก ์Šค์ผ€์ผ์„ ์กฐ์ ˆํ•ด์ฃผ์„ธ์š”.
๊ทธ๋Ÿฌ๋ฉด ์ดˆ๋ก์ƒ‰์˜ ์ดํŽ™ํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

ํ˜น์‹œ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ณด๊ธฐ๊ฐ€ ๊บผ์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”. (๋‹จ์ถ•ํ‚ค P)


๋Ÿฐํƒ€์ž„ ๋™์  ๋นŒ๋“œ ์„ค์ •

์šฐ์„  ์‹คํ–‰์‹œ์ผœ ํ˜„์žฌ NavMesh์˜ ๋™์ž‘์„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋‘ฅ์„ ์›€์ง์—ฌ๋„ NavMesh๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์ œ ํ”„๋กœ์ ํŠธ ์„ธํŒ…์„ ์ผœ์ฃผ์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  Runtime์ด๋ผ๊ณ  ๊ฒ€์ƒ‰์ฐฝ์— ๊ฒ€์ƒ‰ํ•ด์ฃผ์„ธ์š”.
Engine - Navigation Mesh ์„น์…˜์— Runtime Generation ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์˜ต์…˜์„ Dynamic์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์„ธ์š”.

์ด์ œ NavMesh๊ฐ€ ๋Ÿฐํƒ€์ž„ ์ค‘์— ๋™์  ๋นŒ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

์‹คํ–‰์‹œ์ผœ ํ™•์ธํ•ด๋ณด๋ฉด ์ด์ œ ๊ธฐ๋‘ฅ์ด ์˜ฎ๊ฒจ์ง€๋ฉด ๋™์ ์œผ๋กœ NavMesh๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.


์บ๋ฆญํ„ฐ ์ ์šฉ

์ด๋•Œ NavMesh๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Character๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ต์…˜์„ ํ•˜๋‚˜ ์ฒดํฌํ•ด์ค˜์•ผ Character๊ฐ€ NavMesh์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์บ๋ฆญํ„ฐ์— ๋“ค์–ด๊ฐ€์„œ affect๋ผ๊ณ  Details ํŒจ๋„์— ๊ฒ€์ƒ‰ํ•ด์ฃผ์„ธ์š”.
๊ทธ๋Ÿผ Can Affect Navigation Generation ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์„ ์ฒดํฌํ•ด์ฃผ๋ฉด ์บ๋ฆญํ„ฐ๋„ NavMesh์˜ ๋นŒ๋“œ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ฒดํฌ๋งŒ ํ•ด์ฃผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.
์Šค์Šค๋กœ ์ด๋™ํ•˜๋ฉด์„œ ์Šค์Šค๋กœ์˜ ๊ฒฝ๋กœ๋ฅผ ์žฅ์• ๋ฌผ๋กœ ์ธ์‹ํ•ด๋ฒ„๋ ค ํƒญ๋Œ„์Šค๋ฅผ ์ถฅ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ AI ์ œ์ž‘ ์‹œ ์ •์ง€ ์ƒํƒœ์ผ ๋•Œ๋งŒ True๋กœ,
์›€์ง์ผ ๋•Œ๋Š” False๋กœ ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ €์˜ ๊ฒฝ์šฐ ์•„๋ž˜ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๊ฐ ์ƒํƒœ์— ๋”ฐ๋ผ ์ ์ ˆํžˆ ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
Set Can Affect Navigation Generation ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด๋™ ์‹œ์—๋งŒ Affect๋ฅผ False๋กœ ์„ค์ •ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
์ •์ง€ ์‹œ ์œ ๋‹› ์•„๋ž˜๊ฐ€ ์ฃผํ™ฉ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ข…์ ์œผ๋กœ Character๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค์ธ ๊ฑด๋ฌผ์„ ์„ค์น˜ํ•˜์—ฌ ๊ธธ์„ ์ฐพ๋Š” ๋ชจ์Šต์„ ๋ณด์—ฌ๋“œ๋ฆฌ๊ณ  ๋งˆ์น˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


๋งˆ๋ฌด๋ฆฌ

์—ฌ๊ธฐ๊นŒ์ง€ ๋Ÿฐํƒ€์ž„ ์ค‘ NavMesh๋ฅผ ๋ฆฌ๋นŒ๋“œํ•˜๊ณ , ์บ๋ฆญํ„ฐ์—๋„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

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

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