State๋ณ„๋กœย Move Idle Attack ๋‘๊ณ 


์•ˆ์—๋‹ค๊ฐ€ anim.Play("Move");


์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ง์ ‘ ์‹คํ–‰์„ ํ•ด๋†จ๋Š”๋ฐ


Move๋ž‘ Idle์€ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๋ฐ


Attack์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋๊นŒ์ง€ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š”๋ฐ


์›๋ž˜ ์œ ๋‹ˆํ‹ฐ๋กœ ๊ด€๋ฆฌํ•˜๋ฉด ํŠธ๋žœ์ง€์…˜ ์ค˜์„œ Has Exit Time์œผ๋กœ ๊ฐ•์ œ๋กœ ๋๊นŒ์ง€ ์‹คํ–‰์‹œ์ผฐ๋Š”๋ฐ


์ฝ”๋“œ๋กœ State ๋ณ„๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ Play๋ฅผ ํ•ด๋ฒ„๋ฆฌ๋ฉด ๊ณต๊ฒฉ์ค‘์— ๋ฐฉํ–ฅํ‚ค ํ•œ๋ฒˆ์ด๋ผ๋„ ๋ˆ„๋ฅด๋ฉด ํ’€๋ ค๋ฒ„๋ฆฌ๊ธธ๋ž˜


๊ทธ๋‚˜๋งˆ ์ƒ๊ฐํ–ˆ๋˜ ๋Œ€์•ˆ์€ย if(!anim.GetCurrentAnimatorStateInfo(0).IsName("Attack"))์„ ์จ์„œย 


Move๋ž‘ Idle์— ๊ฐ๊ฐ ๋„ฃ๊ณ  Attack ๋๋‚  ๋•Œ ๊นŒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹คํ–‰์„ ๋ฐฉ์ง€ํ–ˆ๋Š”๋ฐ


์ด๋Ÿฌ๋ฉด ๋˜ ๋ฌธ์ œ์ ์ด attack์„ย ๋๋‚ด์งˆ ๋ชปํ•ด์„œย Attack ๋งจ ๋งˆ์ง€๋ง‰ ํ”„๋ ˆ์ž„์—๋‹ค๊ฐ€ย ํ•จ์ˆ˜ํ•˜๋‚˜ ๋„ฃ๊ณ ย 


๊ฑฐ๊ธฐ์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜ Play ์‹คํ–‰์‹œ์ผœ์„œย ํ’€์–ด์ค˜์•ผํ•˜๋”๋ผ๊ณ 


๊ทธ๋ž˜์„œ ๊ทธ๋ƒฅ Has Exit Time ์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‚˜ ์‹ถ์–ด์„œ ์ฐพ์•„ ๋ดค๋Š”๋ฐ ๋”ฑํžˆ ์—†๋Š” ๊ฑฐ ๊ฐ™์•„์„œ..


์ฐจ๋ผ๋ฆฌ Time ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹คํ–‰์‹œ๊ฐ„ ๋ฐ›๊ณ  ๊ทธ๋™์•ˆ ๋ง‰์„๊นŒ ํ–ˆ๋Š”๋ฐ ์ด๊ฑด ๋„ˆ๋ฌด ์•„๋‹Œ ๊ฒƒ ๊ฐ™๊ณ 


๊ทธ๋ƒฅ ์œ ๋‹ˆํ‹ฐ์—์„œ ํŠธ๋žœ์ง€์…˜ ์จ์„œ ํ•˜๋Š”๊ฒŒ ๋‚ซ์ง€ ์•Š์„๊นŒย ๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ


๋˜ ์Šคํ‚ฌ ์“ฐ๊ฑฐ๋‚˜ ํ•˜๋ฉด ๋ถ„๋ช… ์ฝ”๋“œ๋กœ Playํ•˜๋Š”๊ฒŒ ๋‹จํŽธ์ ์œผ๋กœ๋Š” ์‰ฌ์šธ๊ฑฐ ๊ฐ™์•„์„œ ์ด๋ ‡๊ฒŒ ํ•ด๋ณด๊ณ ๋Š” ์žˆ๋Š”๋ฐ


์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋ด๋„ ์–ด๋–ค๊ฒŒ ์ •๋‹ต์ธ์ง€ย ๋ชฐ๋ผ์„œ ๋ฌผ์–ด๋ด„