[Unreal/์ธ๋ฆฌ์ผ] Behavior Tree ๊ธฐ์ด๐ฏ game engine/โฝ ์ธ๋ฆฌ์ผ(unreal)2023. 6. 26. 16:19
Table of Contents
728x90
1. BB(BlackBoard / ๋ธ๋ ๋ณด๋)
- AI์ ๊ธฐ์ต์ผ๋ก AI์์ ์ฌ์ฉํ๋ ๋ณ์๋ฅผ ์ ์ฅํ๊ณ ์ด๋ฅผ cpp์์ ์ ๊ทผํ์ฌ ์ง์ ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ค.
- AI๊ฐ ์์์ผ ํ๋ ๋ชจ๋ ์์๋ ๋ธ๋๋ณด๋ ํค(Blackboard Key)๋ฅผ ํตํด ์ฐธ์กฐ ํ ์ ์๋ค.
- BT(Behavior Tree / ํ๋ ํธ๋ฆฌ)์ '๋'
- 'BB_XXXX'๋ผ๊ณ ์ด๋ฆ์ ์ง๋๋ค.
2. BT(Behavior Tree / ํ๋ ํธ๋ฆฌ)
๐ธ ๋ฃจํธ(Root): Tree์ ์์์
--- ๋ฐ์ฝ๋ ์ดํฐ, ์๋น์ค์ ๋ถ์ ์ ์๋ค.
--- ๋ํ ์ผ ํจ๋์์ ์ฌ์ฉํ BB(๋ธ๋๋ณด๋)๋ฅผ ๊ณ ๋ฅผ ์ ์๋ค.
๐ธ ์ปดํฌ์ง(Composite): ๋ถ๊ธฐ์ ๋ฃจํธ๋ฅผ ์ ์ํ๊ณ ๊ทธ ๋ถ๊ธฐ์ ๊ธฐ๋ณธ๊ท์น(ํ๋ฆผ ์ ์ด์ ํํ, ์์ ๋ถ๊ธฐ์ ์คํ๋ฐฉ์)์ ์ ์ํ๋ค. ๋ชจ๋ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ถ๊ธฐ๊ฐ ์คํ์ด ๋๋ค.
--- ์ ๋ ํฐ(selector): ๋ณต์์ ์๋ธํธ๋ฆฌ ์ค ํ๋๋ฅผ ์ ํํ๋๋ฐ ์ฌ์ฉํ๋ค.
--- ์ํ์ค(sequence): ์์์ ์์๋๋ก ์คํํ๋๋ฐ ์ฌ์ฉ์ด ๋๋ค. ์ํธ์ค๋ ์ ๋ ํฐ์ ๋ฌ๋ฆฌ ์คํจํ๋ ๋ ธ๋์ ๋๋ฌํ ๋๊น์ง ์์์ ๊ณ์ํด์ ์คํํ๋ค.
--- ๋จ์ ๋ณ๋ ฌ(simple parallel) : ์ ์ฒด ๋ ธ๋ํธ๋ฆฌ์ ๋์์ ํ๋์ ํ์คํฌ๋ฅผ ์คํํ ์ ์๋ค.
๐ธ ๋ฐ์ฝ๋ ์ดํฐ(Decorator) / ์กฐ๊ฑด๋ฌธ: ๋ค๋ฅธ ๋ ธ๋์ ๋ถ์ด ํธ๋ฆฌ ๋ด ๋ถ๊ธฐ or ๋ ธ๋ ํ๋๋ผ๋ ์คํ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ค.
๐ธ ์๋น์ค(Service): ์ปดํฌ์ง์ ๋ถ์ด ์ ํด์ง ๋น๋์ ๋ฐ๋ผ ์คํ๋๋ค.
๐ธ ํ์คํฌ(Task):ํ๋ ํธ๋ฆฌ์ ๋ง์ง๋ง ํธ๋ฆฌ๋ก ์ถ๋ ฅ ์ฐ๊ฒฐ์ด ์๋ค.
--- ์ ํ์คํฌ๋ฅผ ์์ฑํ๋ฉด ์ ๋ธ๋ฃจํ๋ฆฐํธ๊ฐ ์๋์ผ๋ก ์์ฑ๋๊ณ ์คํ์ด ๋๋ค.
โ ๋นํค์ด๋น์ด ํธ๋ฆฌ TIP
- ๋นํค์ด๋น์ด ํธ๋ฆฌ๋ฅผ ์์ฑํ ๋ ์๋์ผ๋ก ์ถ๊ฐ๋๋ ๋ํดํธ ๋ฃจํธ ๋ ธ๋๋ ๋นํค์ด๋น์ด ํธ๋ฆฌ์ ํ๋กํผํฐ๋ฅผ ํ๊ฒฝ์ฑ์ ํ ๋์ ์ฌ์ฉ ์ค์ธ ๋ธ๋๋ณด๋ ์์ ์ ํ ๋นํ ๋ ์ฌ์ฉํ๋ฏ๋ก ๋ฃจํธ์์ ์ปดํฌ์ง์ด ๋์ค๋ ์๊ธฐ์ ํธ๋ฆฌ์ ์ค์ '๋ฃจํธ'๋ฅผ ํ ๋น ํด์ค๋ค
- ์ ์ ํ ์ด๋ฆ ๊ท์น์ ์ ํ์ฌ ํ์
๋ณ ์ ๋์ฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข๋ค.
(๋นํค์ด๋น์ด ํธ๋ฆฌ ํ์คํฌ BTT, ๋นํค์ด๋น์ด ํธ๋ฆฌ ๋ฐ์ฝ๋ ์ดํฐ BTD, ๋นํค์ด๋น์ด ํธ๋ฆฌ ์๋น์ค BTS) - ์ ๊ทธ๋ฆผ ํํฌ์ ๋๊ทธ๋ผ๋ฏธ๋ ๋นํค์ด๋น์ด ํธ๋ฆฌ์ ์คํ ์์๋ฅผ ๋ํ๋ธ๋ค.
728x90
'๐ฏ game engine > โฝ ์ธ๋ฆฌ์ผ(unreal)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(vcs) version control system / unreal ํ์ผ ๊ด๋ฆฌํ๊ธฐ / ํ์ ์๋ ํ์ผ changeList์์ ๋นผ๋ ๋ฐฉ๋ฒ. (0) | 2023.01.24 |
---|
@DoctorSunAhna :: ํํฌ์ฝ๋ฅ
์ ํ๋ ๊ฒ ๋ณด๋ค ๋ซ๊ฒ ์ง
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!