a15714ab041eb360be3335625683746f0053452ad6a5ea89d63c7cf29b0bd126e13b48069b44dd8e73a7636f85251f0d


์•ˆ๋…•ํ•˜์„ธ์š” ์ฆ๊ฑฐ์šด ์ผ์šœ ์ €๋…์ž…๋‹ˆ๋‹คย ์ฃฝ์ง€๋„ ์•Š๊ณ ย ๊ธฐ์–ด์™”์–ด์š”

์ด๋ฒˆ์ฃผ์—๋Š” ์ˆ˜์ œ ์บ๋ฆญํ„ฐ ์• ๋‹ˆ๋ฉ”์ดํ„ฐ๋ž‘ ๊ณ„์ธต์ ์ธ FSM์„ย ๋งŒ๋“ค์–ด๋ดค์–ด์š”



์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋™์ผํ•œ ๋™์ž‘์ด์ง€๋งŒ ๋ชจ์–‘๋งŒ ๋‹ฌ๋ผ์ง€๋Š” ์ƒํ™ฉ์ด ํ•„์š”ํ–ˆ๊ณ ย (๋™์ž‘์€ ๊ฐ™์€๋ฐ ์ฅ๋Š” ๋ฌด๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋˜์ง€)

์ƒ๋ฐ˜์‹ , ํ•˜๋ฐ˜์‹ ์ด ๊ฐ™์€ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์›€์ง์˜€์œผ๋ฉด ์ข‹๊ฒ ๋‹ค ์‹ถ์–ด์„œ


์ธ๋ฑ์Šค๋ฅผ ๋ฐ”๊พธ๋ฉด ๋™์ž‘์ด ๋ฐ”๋€Œ๊ณ  (์—ฌ๋Ÿฌ๊ฐœ ์Šคํ”„๋ผ์ดํŠธ์—์„œ ํ‘œ์‹œํ•  ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋ฐ”๊พธ๊ณ )

์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋ฐ”๊พธ๋ฉด ๋ชจ์Šต์ด ๋ฐ”๋€Œ๋„๋ก ๊ตฌํ˜„ํ•ด๋ดค์–ด์š”


a15714ab041eb360be3335625683746f0053452ad6a5ea89d63c7cf29a0bd32e5730ecedf9400b07d6181053711dfadd


ScriptableObject๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์บ๋ฆญํ„ฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ํด๋ฆฝ์„ ๊ตฌํ˜„ํ•ด๋ดค์–ด์š”

ํด๋ฆฝ ๋‚ด์˜ ํ”„๋ ˆ์ž„๋“ค์ด ๋ Œ๋”ํ•  ํ์— ๋“ฑ๋ก๋˜๊ณ , ๋ Œ๋”๋ฅผ ์œ„ํ•ด ๋ถˆ๋Ÿฌ์˜ค๋ฉด์„œ ํƒ€์ด๋จธ๋ฅผ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๊ณ  ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌํ˜„ํ•ด๋ดค์–ด์š”

๋ฐ˜๋ณต ์—ฌ๋ถ€๊ฐ€ ์ผœ์ง€๋ฉด ๋ฏธ๋ฆฌ ๋‹ค์Œ ํด๋ฆฝ์„ ํ•ด๋‹น ํด๋ฆฝ์œผ๋กœ ์„ค์ • ํ›„ ๋Œ€๊ธฐํ•˜๋„๋ก ๋งŒ๋“ค์–ด๋†จ์–ด์š”



a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf19e0bd3280d425715d11b139cf9f013a698957fdb

์ผ๋‹จ์€ ์ธ๊ฒŒ์ž„์— ๋„ฃ์–ด๋’€๋‹ค๊ฐ€ ๊ณ„์† ํ˜ธ์ถœํ•ด์„œ ์จ๋จน์–ด์•ผ ํ•˜๋‹ˆ

์‹ฑ๊ธ€ํ†ค ๋งค๋‹ˆ์ €๋ฅผ ๋งŒ๋“ค์–ด์„œ ์Šคํ”„๋ผ์ดํŠธ ๋ฌถ์Œ์ด๋ž‘ SO๋กœ ๋งŒ๋“  ์• ๋‹ˆ๋ฉ”์ด์…˜ํด๋ฆฝ์„ ์ €์žฅํ•ด๋†“๊ณ 




a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf19a0bd12b68dfb792815f7dea4b3f23dd734b9ae0


a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf19a0bd72b20e5dadf611c408dc279034bb04f53

์Šคํ”„๋ผ์ดํŠธ ๋ฌถ์Œ์„ ๋ณ€๊ฒฝํ•ด์„œ ๋ชจ์–‘์„ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๊ณ  (์•Œ๋งŒํˆด๋กœ ์น˜๋ฉด ์บ๋ฆญํ„ฐ์…‹ ๊ฐ™์€ ๋А๋‚Œ)

์• ๋‹ˆ๋ฉ”์ด์…˜ ํด๋ฆฝ์„ ๋ณ€๊ฒฝํ•ด์„œ ๋™์ž‘์„ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ•ด๋ดค์–ด์š”



a15714ab041eb360be3335625683746f0053452ad6a5ea89d63c7cf4980bd12e5ed9ae9ac819e1fdd6954e79d8460dd0


์• ๋‹ˆ๋ฉ”์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œย ํด๋ฆฝ์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋ ˆ์ž„์„ ๊ฐ€์ ธ์™€์„œ ๋ Œ๋”ํ•  ํ์— ๋“ฑ๋กํ•ด๋†“๋Š” ๋ฐฉ์‹์ธ๋ฐ,

๋‚ด๋ถ€ ํƒ€์ด๋จธ๊ฐ€ ๋Œ๋ฉด์„œ ํ”„๋ ˆ์ž„ย ์‹œ๊ฐ„์— ๋„๋‹ฌํ•˜๋ฉด ๋‹ค์Œ ํ”„๋ ˆ์ž„์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์ด๋ž๋‹ˆ๋‹ค.


๋‹ค๋ฅธ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ์˜ ์ „ํ™˜์€ ์ƒํƒœ๊ธฐ๊ณ„์˜ ํ†ต์ œ๋ฅผ ๋ฐ›๊ฒŒ ํ•˜๊ณ  ์‹ถ์–ด์„œ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•ด๋†“์ง„ ์•Š์•˜๋Š”๋ฐ

๋งŒ์•ฝ ํ•„์š”ํ•˜๋‹ค๋ฉด ๋งŒ๋“ค์ง€ย ์•Š์„๊นŒ ์‹ถ์–ด์š”


๊ทธ๋ฆฌ๊ณ  ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด์„œ ๋ถ€์œ„๊ฐ€ ๋‚˜๋ˆ„์–ด์ง„ ์Šคํ”„๋ผ์ดํŠธ๋“ค๋„ ํ•œ๊บผ๋ฒˆ์— ํ†ต์ œ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค




๋‹จ์ผ ์Šคํ”„๋ผ์ดํŠธ (๊ณต์ค‘์— ๋– ์žˆ๋Š” ์Šคํ”„๋ผ์ดํŠธ) ๋„ ๋‹จ์ผ, ๋ฐ˜๋ณต ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ž˜ ์ž‘๋™ํ•˜๊ณ 

๋ณต์ˆ˜ ์Šคํ”„๋ผ์ดํŠธ (์ง€์ƒ์— ์žˆ๋Š” ํ”Œ๋ ˆ์ด์–ด ์Šคํ”„๋ผ์ดํŠธ) ๋„ ์ƒํ•˜์˜ ๋ถ€์œ„ ๋‹จ์ผ, ๋ฐ˜๋ณต ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ž˜ ์ž‘๋™ํ•˜๋„ค์š” :)


00bcc26bb68375f43eed82f54788696e07c61483021709abdccd4927e8366a86b345f6a421


์ด๋ฅผ ๋”ฐ๋ผ ๊ตฌํ˜„ํ•ด๋ณด๋‹ˆ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ์ธ๋ฑ์Šค๋กœ ์ธํ•ด ์ถœ๋ ฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์ž‘์ด ๋ถ€์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ์• ๋‹ˆ๋ฉ”์ดํ„ฐ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค

์บ๋ฆญํ„ฐ์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด ํผ๋ธ”๋ฆญ ๋ฉ”์‹œ์ง€๋กœ ํ†ต์ œ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ํƒ€์ž„๋ผ์ธ ์–ด์…‹ ๊ฐ™์€ ๋ฐ์— ๋ถ™์ด๊ธฐ์—๋„ ๊ดœ์ฐฎ์€ ์‹œ์Šคํ…œ์ด ๋‚˜์˜จ๊ฒƒ ๊ฐ™์•„์š”

์ƒํ™ฉ์— ๋”ฐ๋ผ ๋Œ€์ฒ˜๊ฐ€ ๋˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค๊ณ  ๋‚˜์„œ ์ด๊ฑธ ์‚ฌ์šฉํ•ด๋ณผ ์ƒํƒœ๊ธฐ๊ณ„๋ฅผ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ๋ณด์ด๋”๋ผ๊ตฌ์š”



a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf39c0bd227bde7237edd7fb6d091d61efc2fb72f63


ํ•˜์ง€๋งŒ ๋‹จ์ˆœํ•œ ์ƒํƒœ๊ธฐ๊ณ„ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค๊ธฐ์—๋Š” ๋ฐ”๊นฅ์—์„œ์˜ ๋งต ์ด๋™์€ ๋ฒจํŠธ์Šคํฌ๋กค ๊ฒŒ์ž„ ์ฒ˜๋Ÿผ ์•ž๋’ค ์ขŒ์šฐ๋กœ ์ด๋™ํ–ˆ์Œ ์ข‹๊ฒ ๊ณ  ํ–‰๋™๋„ ์ œํ•œ ๋˜์–ด์•ผํ•˜๊ณ 

๊ฑด๋ฌผ ์•ˆ์—์„œ๋Š” ์ƒํ•˜์ขŒ์šฐ๋กœ ์›€์ง์ด๊ฒŒ ํ†ต์ œํ•˜๊ณ  ์‹ถ๊ณ  ํ–‰๋™๋„ ๋” ์˜คํ”ˆํ•ด์คฌ์Œ ์ข‹๊ฒ ๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ๊นŒ ๊ณ ๋ฏผ์„ ํ•ด๋ดค์–ด์š”



a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf0940bd72606e2ce1726ae867c40bec4dd321ff6d9


๊ทธ๋ž˜์„œ ๊ณ„์ธต์ ์ธ ์ƒํƒœ๊ธฐ๊ณ„๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋กœ ํ–ˆ์–ด์š”

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


๊นƒํ—ˆ๋ธŒ์— HFSM์„ ๊ตฌํ˜„ํ•˜์‹  ๋ถ„์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์žˆ๊ธธ๋ž˜ ์Šคํƒ€ย ๋ˆŒ๋Ÿฌ๋“œ๋ฆฌ๊ณ ย ์ฐธ๊ณ ํ•ด๋ดค์–ด์š”

์ œ๋„ˆ๋ฆญ์„ ํ™œ์šฉํ•˜๊ณ ย ์ „ํ™˜๊นŒ์ง€ ๊ตฌํ˜„ํ•˜์‹  ์ž‘์„ฑ์ž๋ถ„์˜ ์ฝ”๋“œ๋ž‘ ๋‹ค๋ฅด๊ฒŒ ์ €๋Š” ๋งŽ์ด ์›์‹œ์ ์ด๊ฒŒ ๊ฐœ๋ฐœํ•œ๋“ฏ ํ•˜๋„ค์š”


https://github.com/Inspiaaa/UnityHFSM

GitHub - Inspiaaa/UnityHFSM: A simple yet powerful class-based hierarchical finite state machine for UnityA simple yet powerful class-based hierarchical finite state machine for Unity - Inspiaaa/UnityHFSMgithub.com



a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf3990bd32f083fefbf0be70d5b78233c439c223585


๊ทธ๋ž˜์„œ ์ƒํƒœ์˜ ํ–‰๋™๋“ค์„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ‘œํ˜„ํ•ด์ฃผ๊ณ , ์ƒํƒœ์™€ ์ƒํƒœ๊ธฐ๊ณ„ ๋‘˜๋‹ค IState๋กœ์„œ ๊ฐ„์ฃผํ•˜๊ณ  ์ž‘๋™ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด์คฌ์–ด์š”

Input Action์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฝœ๋ฐฑ๊ณผ ์—ฐ๊ฒฐํ•ด์ฃผ๋ ค๊ณ  ์ด๋ฅผ ์œ„ํ•œ ๋ฉ”์‹œ์ง€๋„ ๋„ฃ์–ด๋’€์Šต๋‹ˆ๋‹ค



a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf2990bd22f8f1971dc98dfe0151be56564c85d45aa


์ƒํƒœ๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ–‰๋™์„ ๊ตฌํ˜„ํ•ด์ฃผ๊ณ , ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ์ „ํ™˜์„ ์™ธ๋ถ€๋กœย ๋นผ๋‘์ง€ ์•Š๊ณ ย ์ƒํƒœ ๊ฐ์ฒด ๋‚ด๋ถ€์— ๋„ฃ์–ด๋‘๊ธฐ๋กœ ํ–ˆ์–ด์š”.

์—ฌ๊ธฐ๊นŒ์ง€ ๋งŒ๋“ค์—ˆ์„๋• ๊ดœ์ฐฎ์•„ ๋ณด์˜€๋Š”๋ฐ, ์ƒํƒœ ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ๋„ฃ์–ด๋ณด๋‹ˆ ์ „ํ™˜๋„ ๋””ํ…Œ์ผํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์žˆ์–ด๋ณด์ด๋„ค์š”


a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf2940bd228987ad016709812a4f04eec42e686baaa


์„œ๋ธŒ ์ƒํƒœ๋จธ์‹ ์„ ๊ตฌํ˜„ํ•˜๊ณ  ๋ฃจํŠธ ์ƒํƒœ๋จธ์‹ ์„ ๊ตฌํ˜„ํ•ด ๋‘๊ฐœ๋ฅผ ๋ฃจํŠธ ์ƒํƒœ๋จธ์‹ ์— ํฌํ•จ์‹œ์ผœ์„œ

์—ฌ๋Ÿฌ๊ฐœ์˜ ์ƒํƒœ๋ฅผ ํ•˜๋‚˜์˜ ์ƒํƒœ๊ธฐ๊ณ„๋กœ ๋ฌถ๊ณ , ๊ทธ๊ฑธ ๋‹ค์‹œ ์ƒํƒœ๋กœ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค



00bcc26bb68375f43eed82f54788696fa9f8a5cfb9d9419f6834aeca0d96efbdce6d732b3f


a15714ab041eb360be3335625683746f0053452ad6a5ea89d5357cf59f0bd3291531de2015543155a8cbeed77668b2eb


์‹œํ—˜ํ•ด๋ณด๊ธฐ ์œ„ํ•ด์„œ ๊ฑด๋ฌผ์— ์ง„์ž…ํ–ˆ์„๋•Œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ƒํƒœ๋ฅผ ์•ผ์™ธ ์ƒํƒœ์—์„œ ์‹ค๋‚ด ์ƒํƒœ๋กœ ๋ฐ”๊พธ๊ฒŒ ๋งŒ๋“ค์–ด ๋ดค์–ด์š”


๋ง‰์ƒ ์ฐ์–ด๋†“๊ณ  ๋ณด๋‹ˆ ํ‚ค๋ณด๋“œ๋ฅผ ๋ˆ„๋ฅด๋Š” ์ž…๋ ฅ์ด ํ™”๋ฉด์— ๋‹ด๊ธฐ์ง„ ์•Š์•˜์ง€๋งŒ, ๊ฑด๋ฌผ ์ง„์ž…์‹œ ์•ผ์™ธ ์ƒํƒœ์—์„œย 

์•ผ์™ธ์—์„œ๋Š” ์•ž๋’ค์ขŒ์šฐย ์›€์ง์ž„ ์ƒํƒœ์™€ย ๋Œ€๊ธฐ ์ƒํƒœ๋ฅผ ๋„˜๋‚˜๋“ค๋ฉฐย ์ž‘๋™ํ•˜๊ณ , ์‹ค๋‚ด์—์„œ๋Š” ์ขŒ์šฐ ์›€์ง์ž„๊ณผ ๋Œ€๊ธฐ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค

์ด์ œ ๋‹ค์Œ์ฃผ์— ์ƒํƒœ๋ฅผ ์ข€๋” ๋งŒ๋“ค์–ด์„œ ์กฐ์ž‘์— ๋””ํ…Œ์ผ์„ ๋”ํ•˜๊ณ  ์ด๊ธฐ๋ฅผ ํ™œ์šฉํ•œ ์ „ํˆฌ ์ƒํƒœ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•ด์š”



7cea8177b08668f53def98b21fd7040329bf15c339c7b45d0d91


ํŠนํžˆ ์ „ํˆฌย ์ƒํƒœ๋ฅผ ๋งŒ๋“ค๋•Œ ๋””ํ…Œ์ผ์— ์‹ ๊ฒฝ์„ ๋งŽ์ด ์“ธ๊ฒƒ ๊ฐ™๋„ค์š”

์ €๋ฒˆ์— ๋งŒ๋“  ํ”„๋กœํ† ํƒ€์ž…์—์„œ๋Š” ์ด๊ธฐ๊ฐ€ย csv ๋ฐ์ดํ„ฐ๋ž‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์„œ ๋ฐ˜๋™์ด๋‚˜ ๋ฐ๋ฏธ์ง€, ์—ฐ์‚ฌ๋ ฅ์— ์˜ํ–ฅ์ด ๊ฐ€๋„๋ก ๊ตฌํ˜„ํ•ด๋’€๋Š”๋ฐ

์ด๋ฒˆ์— ์ •๋ฆฌํ•˜๋ฉด์„œ ๋” ๋ณ€๊ฒฝ์ด ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค :) ๋ฌผ๋ก  ์ƒˆ๋กœ์šด ์• ๋‹ˆ๋ฉ”์ดํ„ฐ์™€ ์ž˜ ์–ด์šฐ๋Ÿฌ์ง€๋„๋ก ๊ฐœ๋ฐœํ•ด์•ผํ• ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค


์˜ค๋Š” ์ฃผ๋„ ์—ฌ๋Ÿฌ๋ถ„ ๋‹ค๋“ค ํ™”์ดํŒ…์ž…๋‹ˆ๋‹ค :D ๊ทธ๋Ÿผ ์ €๋Š” ์ด๋งŒ..์ด์ด^^