์๋ ๋ค๋ค ์ ์ง๋ด๊ณ ์์ด?
๊ณ ์ ๋์ธ์ง ๋ญ์ง ์ํผ ๊ทธ๋ฐ๊ฒ ์๋์ค๋ ๋ชจ๋ฅด๊ณ ์๋ค๊ฐ ํจ ๋๋ ์ ์ฒญํด๋ด.
์ด๋ฌ ์ด์ ai ๋ง๋ค๋ ค๊ณ ๊ตฌ์ ์์ํ๋๋ฐ
์๊ฑฑ๊ฑฐ๋ฆฌ์ง๋ง ๊ทธ๋ญ์ ๋ญ ์์ง์ด๋ ai ๋ง๋๋๋ฐ ๊ฑฐ์ ํ๋ฌ์ด ์ง๋๊ฐ์ด
์์ฆ ๊ฐ๋ฐ์ผ์ง ์ฌ๋ผ์ค๋ ๊ฒ๋ค ๋ณด๋ฉด ์ข์ ์๊ทน๋ ๋ง์ด ๋๊ณ ๋์๋ ๋ง์ด ๋์ ๊ณ ๋ง์ด ๋ง์์ด ๋ง์ด ๋ฌ
์๋ฌดํผ ๋๋ ๊ฐ๋ฐ์ผ์ง ์ผ๋จ ์จ๋ด.
๋์์์ ์ฌ๋ฆฌ๋ฉด ์ ๋งจ๋ ์ญ์ ๋๋ค๊ณ ๋จ๋์ง ๋ชจ๋ฅด๊ฒ๋ค ๊ธ ์ฌ๋ฆฌ๊ณ ๋์ ํ์ธํ๋ ์๋ณด์ด๊ธธ๋ ์ ํ๋ธ๋ ํจ๊ป ์ฒจ๋ถํจ.
https://youtu.be/byjYiwad5jA์ด๋ฒ๋ฌ ์ด์ ์ธ๊ณต์ง๋ฅ ๊ตฌํ์ ์ํด์ ์ง๋ฌธ ์ฌ๋ ธ์๋๋ฐ ๋ต๊ธ ์์ธํ ๋ฌ์์ค์ ๋๋ฌด ๋ง์ ๋์ ๋์ด์ ๊ฐ์ฌ์ ๋ง์์ ๋๋ฆฝ๋๋ค.
์๋ฌดํผ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ ์ฌ๋์ด ์ธ์งํ๊ณ ํ๋จํ๋ ๊ตฌ์กฐ๋ฅผ ์๊ฐํด์ ๋๋ ์คฌ์ด
์ด๊ฑธ ํ๋๋ฐ ์ธ๋ฆฌ์ผ์์ง์ ๋ง์ด ์ฐธ๊ณ ํ์ด. ์ด๋ด๊ฑฐ๋ฉด ๊ทธ๋ฅ ์ธ๋ฆฌ์ผ ์ฐ๋ฉด ๋ ๊ฒ ๊ฐ์ง๋ง, ๋ ์ ๋ํฐ๊ฐ ๋ ์ข์๊ฑธ.....
https://www.youtube.com/watch?v=iY1jnFvHgbE์๋ฌดํผ ์ธ๊ณต์ง๋ฅ์ ๊ตฌ์กฐ๋ฅผ
๋ฌด์์์ ์ธ ์์ง์ / ์ธ์ง์ฒด๊ณ / ํ๋จ๊ธฐ๊ด ์ผ๋ก ๋๋๊ณ ์ด๊ฑธ
๋ฌด์์์ ์ธ ์์ง์ - FSM-Locomotor
ํ๋จ๊ธฐ๊ด - BT, EQS
์ธ์ง์ฒด๊ณ - Perception, Sensor
๋ก ์ก์์ด.
๋ฌด์์์ ์ธ ์์ง์์ ๋ด๋นํ๋ Locomotor๋ ์บ๋ฆญํฐ ์ปจํธ๋กค๋ฌ์ ์์ง์์ ์ํ ํจ์ ๋ฉ์ด๋ฆฌ์ผ.
๊ทธ๋ฅ ์ผ๋ฐ์ ์ธ Player Controller๊ฐ์๊ฑด๋ฐ updateํจ์์์ ๋์๊ฐ๋ ๊ฑด ์๊ณ
FSM์ update์์ Locomotor์ ํจ์๋ฅผ ํธ์ถํ๊ณ ์์ด.
์ด์ ์ ์ข๋นํค ํ๋๊ป์ ๊ณต๊ฐํด์ฃผ์ ์ฝ๋์์ ๋ง์ ๋์์ ๋ฐ์์ด. ๋ค์ํ๋ฒ ๊ฐ์ฌ์ ๋ง์์ ์ ํฉ๋๋ค.
ํ๋จ๊ธฐ๊ด์ BT(ํ๋ํธ๋ฆฌ)์ EQS(ํ๊ฒฝ ์ฟผ๋ฆฌ ์์คํ )์ด์ผ.
BT๋ ์ ํ๋ธ ๋ณด๊ณ ์ง์ ๊ตฌํํ๋ค๊ฐ ๋๊ฐ๋ฆฌ ๊นจ์ง๊ณ ๋์ PandaBT ๋ผ๋๊ฑธ ๋ฐ๊ฒฌํ๋๋ฐ
๋ฌด๋ฃ๋ฒ์ ๋ ์๋๋ฐ ๋งค์ฐ ์ธ๋งํ ๊ฒ ๊ฐ์. ์์ ๋ ํ๋ถํ๊ณ ์ฌ์ฉ๋ฒ๋ ๋๋ฌด ๊ฐํธํ๋ค
์ด ์์ ์ ์ฅ์ ์ผ๋ก๋ ๋ค๋ฅธ BT๋ ๊ทธ๋ํฝ ๋ ธ๋๊ธฐ๋ฐ์ผ๋ก ์๋ํด์ ์๋ํฐ๋ ๋ฐ๋ก ์กด์ฌํ๊ณ ์ข ๋ฌด๊ฑฐ์ด ๋๋์ด ์๋๋ฐ
PandaBT๋ ๊ทธ์ ์ปดํฌ๋ํธ ํ๋๋ผ์ ๊ฐํธํ๋ค.
์ปดํฌ๋ํธ์ ์์ฒด ์คํฌ๋ฆฝํธ๋ก ์ ์ํด์ฃผ๋ ์์ด์ผ.
๊ทผ๋ฐ ์ด๊ฒ ๊ทธ๋ฅ txtํ์ผ์ด๋ผ์ ํ๋ก๋ฒ์ ์ ๊ธฐ๋ฅ์ธ ์๋ํฐ์์ ์คํฌ๋ฆฝํธ ํธ์ง๊ธฐ๋ฅ์ด ์์ด์ ์ข ๋ถํธํด์ ์ฐพ์๋ณด๋๊น
vs code ์ ๋์จ์ผ๋ก syntax highlight ํ ์ ์์ด์ ๊ทธ๊ฑธ๋ก ์ฌ์ฉํ๊ณ ์์ด.
https://github.com/Aldlevine/panda-language ์ฌ๊ธฐ์ ๋ฆด๋ฆฌ์ฆ๋ vsix๋ก vscode์ ์ง์ ์ค์นํด์ ์ฐ๋ฉด ๋ผ.
vsix ํ๋ฌ๊ทธ์ธ ์ค์น ๋ชจ๋ฅด๋ ์ฌ๋์ ์ฌ๊ธฐ๋ก https://haenny.tistory.com/329
์ ๋ฃ๋ฒ์ ์ ์ฌ๊ธฐ์๋ค๊ฐ ๋๋ฒ๊ทธ ๋ธ๋ ์ดํฌํฌ์ธํธ ๊ธฐ๋ฅ (๊ทธ๋ฅ ์ ๋ํฐ ์๋ํฐ ํฌ์ฆ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ผ๊ณ ํจ) ์ถ๊ฐ๋๊ฑด๋ฐ 45๋ฌ๋ฌ๋ ๋๊ณ
์ง๊ธ์ ๊ตณ์ด ์์ด๋ ์ธ๋งํด์ ๊ทธ๋ฅ ์ฐ๋์ค์ด์ผ. ๋์ค์ ๋ธํํ ์ธ๊ฐ์๊ฑฐ ํ๋ฉด ์ฌ๋ด์ผ์ง
์ธ๋ฆฌ์ผ์์ง์ ๋ฒค์น๋งํนํ๋ฉด์ ์ ์ผ ์ฃผ๋ชฉํ ๊ฒ์ EQS (environment query system)์ผ
discreteํ๊ฒ ์ฃผ๋ณ ์งํ์ ์ํ๋งํด์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ์๋ฅผ ๋งค๊ฒจ, ai๊ฐ ๋ชฉํ์ง์ ์ ์ค์ ํ๋๋ฐ ๋์์ ์ฃผ๋ ์์คํ ์ด์ผ.
๋ด๊ฐ ์ค๋ช ์ ์ ๋ชปํด์ ํน์๋ ๊ถ๊ธํ ์ฌ๋๋ค์ ์ธ๋ฆฌ์ผ ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๋๋ก...
https://docs.unrealengine.com/5.0/ko/artificial-intelligence-in-unreal-engine/
์๋ฌดํผ ์ด๊ฑด ์ ๋ํฐ์ ์์ผ๋ ๊ตฌํํด ๋ณด๊ธฐ ์ ์ ๊นํ๋ธ์ ๊ฒ์ํด๋ณด๋
https://github.com/sotanmochi/EnvironmentQueryForUnity
์ด๋ฏธ ์๋๋ผ๊ณ ๊ทธ๋์ ์ ๋ฐ๋ ค์์ ์กฐ๊ธ์ฉ ์์ ํด ๋ณด๋ฉด์ ๋ค๋ฌ๊ณ ์์ด.
๊ธฐ๋ณธ์ ์ธ๊ฒ๋ง ๊ตฌํ๋์ด์์ง ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ์ ์์ง ์๋ด์ผ ํ ๊ณณ์ด ๋ง์.
์ ๋ํฐ์์ ๊ตฌํ์ navmesh ์์ ์ํ๋ง ๊ฐ๋ฅํ positions์ ์ ์๋ฅผ ๋ด๊ณ ๊ทธ ์ค ๊ฐ์ฅ ๋์ ์ ์์ position์ best position์ผ๋ก ์๋ ค์ฃผ๋ ์์คํ ์ด์ผ.
์ํ๋ง ๋ position๋ค์ ์ ์๋ฅผ ๋ถ์ฌํ๋ ์์ ์ queryTest๋ผ๊ณ ํ๋๋ฐ
์ฟผ๋ฆฌํ ์คํธ๊ฐ ๋ณ๋ก ๊ตฌํ๋ ๊ฒ ์์ด์ ์ข ๋ ์ฐ๊ตฌ๋ฅผ ํด๋ด์ผ ํ ๊ฒ ๊ฐ์.
์ธ์ง์ฒด๊ณ๋ ๋ญ ๋ณ๊ฑฐ ์๊ณ ๊ทธ๋ฅ ์ผ์๋ค์ ๊ฐ์ง๊ณ ์ผ์์ ๋ค์ด์จ ์ค๋ธ์ ํธ๋ฅผ ์ฒ๋ฆฌํด์
BT๊ฐ ์ฐธ์กฐ ํ ์ ์๋ ํํ๋ก ๊ฐ๊ณตํด์ฃผ๋ ์ญํ ์ ํ๊ณ ์์ด.
๋๋ ์ด๊ฑธ ๋๋ฌด ์ด๋ ต๊ฒ ์ ๊ทผํด์ ์ฝ์ง์ ๋ง์ด ํ๋๋ฐ. ๋ค๋ค ๊ทธ๋ฅ overlapsphere ์ฐ๊ณ ์์ธ์ฒ๋ฆฌ๋ก ๊ฐ๋จํ๊ฒ ๋ง๋ค๋๋ผ๊ณ .
๋๋ ์ฝ๋ ์๋๋ฒ ๋ค์์ผ๋ฉด์ ์ฐธ ์ฝ์ง ๋ง์ด ํ๋ค ์๊ฐ์ด ๋ฌ...
์ด์ ์ฒญ๊ฐ์ผ์ ๋ง๋ค์ด ๋ณด๋ ค๋๋ฐ ์ด๊ฑฐ ํ๋ค๊ฐ 10์ ๋ ๊ฒ ๊ฐ์... ์ธ์ ์ถ์ํ๋ด???
์ฒญ๊ฐ์ผ์๋ ์ด์บ ์ ๊ทผํด์ผ ํ ๊น...์ฝ์ง ์ค์ด๊ณ ์ถ๋ค.
์ํผ ์ด๋ง ์ค์ด๊ณ ์ ์ด๋ ์์ผ๊ฒ๋ค.
๊ทธ๋ผ ๋ค์ ๊ฐ๋ฐ์ผ์ง๋ก ๋ค์ ์ธ์ฌํ ๊ฒ ์๋ ~~~~
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ด๋ ๊ณ์ ์ธ๋งํจ???
์ข์์ด ํ๋ค๋ก ๊ฐ๋ค!
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๊ฐ์ฌ๊ฐ์ฌ!