[Unity] Behavior Tree

์—…๋ฐ์ดํŠธ:

์นดํ…Œ๊ณ ๋ฆฌ:

ํƒœ๊ทธ: ,




Behavior Tree

Behaviour Tree Manual
-ย Behaviour Tree - AI ์บ๋ฆญํ„ฐ์˜ ํ–‰๋™ ์ œ์–ด๋‚˜ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
-ย Behaviour Tree๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์—์„œ ๋น„์„ ํ˜•์ ์ด๊ณ , ๋ณต์žกํ•œ AI ์˜์‚ฌ ๊ฒฐ์ •์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
-ย Unity6 ๋ถ€ํ„ฐ Built-in์œผ๋กœ ์ง€์›, ๋…ธ๋“œ๊ธฐ๋ฐ˜์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.



Node

โœ” Action Node : ์‹ค์ œ ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋…ธ๋“œ
ย ย  ํŠธ๋ฆฌ์˜ ํ•˜๋‹จ์— ์œ„์น˜, ์—์ด์ „ํŠธ๊ฐ€ ํ•ด์•ผ ํ•  ๊ตฌ์ฒด์ ์ธ ์ž‘์—… ์ •์˜
ย 
โœ” Modifier Node : ํŠธ๋ฆฌ์˜ ํ๋ฆ„์ด๋‚˜ ์‹คํ–‰ ์กฐ๊ฑด์„ ์ˆ˜์ •
ย ย  ํŠน์ • ์กฐ๊ฑด์„ ํ™•์ธ, ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜
ย 
โœ” Sequencing Node : ํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ ์•„๋‹Œ ์ž์‹ ๋…ธ๋“œ๋“ค์„ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ์‹คํ–‰
ย ย  ๋ชจ๋“  ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์„ฑ๊ณตํ•ด์•ผ ์ž์‹ ๋„ ์„ฑ๊ณต ์ƒํƒœ ๋ฐ˜ํ™˜
ย 
โœ” Join Node : ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ๋ฐœ์ƒํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํ•ฉํ•ด ํ–‰๋™์„ ๊ฒฐ์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ



์‚ฌ์šฉ๋ฒ•

1.ย Pacage Manager - Behavior install
Image
ย 
2.ย Project - Behavior Graph ์ƒ์„ฑ
Image
ย 
3.ย Behavior Graph ๋”๋ธ”ํด๋ฆญ - ์šฐํด๋ฆญ-> ๋…ธ๋“œ ์ถ”๊ฐ€
Image



Behavior Graph

Image
BlackBoard : ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜ ๋ชฉ๋ก, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๊ธฐ ์ž์‹ ์„ ๋‚˜ํƒ€๋‚ด๋Š” Self ๋ณ€์ˆ˜ ์ƒ์„ฑ
ย BlackBoard์— ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ถ„์— Insspector View์— ์ถœ๋ ฅ๋˜๋ฉฐ, ์Šคํฌ๋ฆฝํŠธ์—์„œ Get/Set ๊ฐ€๋Šฅ
ย 
๋…ธ๋“œ ์ƒ์„ฑ : ์šฐํด๋ฆญ - Add
ย Action -> Navigation -> Nav To Target(๋ชฉํ‘œ์—๊ฒŒ ์ด๋™), To Location, Patrol(์ˆœ์ฐฐ)์„ ์ œ๊ณต
Image



์ˆœ์ฐฐ(Patrols)

1.ย  ๋…ธ๋“œ ์ƒ์„ฑ : Add -> Action -> Navigation -> Patrol
2.ย  Agent - Self ๋“œ๋ž˜๊ทธ
3.ย  WayPoint ์„ค์ •
BlackBoard์— List - GameObject List ์ถ”๊ฐ€, ๋“œ๋ž˜๊ทธ





์žก๋‹ด, ์ผ๊ธฐ?

๋‚ด์ผ ๋˜ ์ •๋ฆฌ, c# ๊ธฐ์ดˆ ๊ฐ•์˜ ์ฐพ์•„๋ณด๊ณ  ๊ธฐ์ดˆ ๋‹ค์ง€๊ธฐ.
์ด๋ ฅ์„œ๋‹ค๋“ฌ๊ธฐ.




๐Ÿ“”

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ