์ฒ ๊ถ ๋๋์ ๊ฒ์์ ๋ง๋ค๊ณ ์์ต๋๋ค.
์ธ๊ฐ์ ์ ๋๋ฉ์ด์ ์ด ์๊ณ , ์ฝค๋ณด๋ฅผ ์ด์ ๋๋ง๋ค ํด๋น ์ ๋๋ฉ์ด์ Trigger๋ฅผ ์๋์ํต๋๋ค. (Animator.SetTrigger("Name"))
๊ทธ๋ฐ๋ฐ ์ด์ ์ ๋๋ฉ์ด์ ์ด ๋๊ธฐ๊ณ ๋ฐ๋ก ๋ค์์ผ๋ก ๋์ด๊ฐ๋๋ค..
์ ๊ฐ ๊ตฌํํ๊ณ ์ถ์ ๊ฑด ํ๋์ ์ ๋๋ฉ์ด์ ์ด ์์ ํ ํ๋ฒ ์ฌ์๋๋๊ฒ๋๋ค.
์ฆ, ์์ฝ ์์คํ ์ ์ฐ๊ณ ์ถ์ต๋๋ค.
๊ฒ์๋ ํ๊ณ Animatorํญ์์ ์ฌ๋ฌ๊ฐ์ง ํด๋ดค์ง๋ง ์ ๋ก์จ๋ ์ญ๋ถ์กฑ์ ๋๋ค.. ์ด๋ป๊ฒ ํด์ผ ์ข์๊น์?
์ฝ๋:
if (currCombo.Equals(" i")) {
ย ย ย ย ย ย animator.SetTrigger("RP");
ย ย ย ย ย ย //animation.AddClip(animation.GetClip("RP"));
ย ย ย ย ย ย comboCheckTimeLimit = 0.2f;
ย ย ย ย ย ย comboCheckTime = 0f;
ย ย ย ย ย ย currAtkStiff += 0.2f;
ย ย ย ย ย ย Attack("RP");
ย ย ย ย }
ย ย ย ย else if (currCombo.Equals(" i i")) {
ย ย ย ย ย ย animator.SetTrigger("RP RP");
ย ย ย ย ย ย comboCheckTimeLimit = 0.2f;
ย ย ย ย ย ย comboCheckTime = 0f;
ย ย ย ย ย ย currAtkStiff += 0.2f;
ย ย ย ย ย ย Attack("RP RP");
ย ย ย ย }
ย ย ย ย else if (currCombo.Equals(" i i i")) {
ย ย ย ย ย ย animator.SetTrigger("RP RP RP");
ย ย ย ย ย ย comboCheckTimeLimit = 0.2f;
ย ย ย ย ย ย comboCheckTime = 0f;
ย ย ย ย ย ย currAtkStiff += 0.2f;
ย ย ย ย ย ย Attack("RP RP RP");
ย ย ย ย }
ย ย ย ย else { ย // ์ฝค๋ณด ๋ถ์ผ์น ์ ์ฝค๋ณด ํด์
ย ย ย ย ย ย comboChecking = false;
ย ย ย ย ย ย comboCheckTimeLimit = 1f;
ย ย ย ย ย ย comboCheckTime = 0f;
ย ย ย ย ย ย currCombo = "";
ย ย ย ย }
๋๋ ํ์ฌ ์คํ์ค์ธ ์ ๋๋ฉ์ด์ ๊ธธ์ด ๊ตฌํ๋ ๊ฑธ๋ก ํด๊ฒฐํ์.
(GetCurrentAnimatorStateInfo(0).length * 1000)
์ ๋๋ฉ์ด์ ์ฌ์์๊ฐ๋งํผ ๊ธฐ๋ค๋ฆฐ ํ์ ๋ค์ ์ ๋๋ฉ์ด์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์คํํ๋ ๊ฑด๊ฐ์? ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด, ์ ๋ fixedUpdate์์ ์ ๋๋ฉ์ด์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์คํ์ ์ฒ๋ฆฌํ๋๋ฐ ์๊ฐ ์ง์ฐ(C์ ๊ฒฝ์ฐ sleep()) ๋ฅ์ ํจ์๋ฅผ ์ธ ๊ฒฝ์ฐ fixedUpdate์ ๋ค๋ฅธ ์ฝ๋ ์ฒ๋ฆฌ์ ์ํฅ์ด ๊ฐ์ง ์๋์?
์ฝ๋ฃจํด์ด๋ ์ ๋ํ ์คํฌ ๊ฐ์ ๋น๋๊ธฐ ์ฐ๋ฉด ๋ ๋ฏ
ํด๊ฒฐํ์ต๋๋ค! ์ฝ๋ฃจํด์์ ์ ๋๋ฉ์ด์ ์ฌ์ ์๊ฐ๋งํผ ๊ธฐ๋ค๋ฆฌ๊ฒ ํ์ต๋๋ค. ๋์์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค!!
์ฝค๋ณด ์์คํ ์ ๊ฒฐ๊ตญ ์ปค๋งจ๋๋ฅผ ์์ฝํด๋ฌ์ผ ํ๋๊น ํ๋ ์ฝ๋ฃจํด๋ ๊ณ๋ค์ด์ผ ํ ๊บผ์์. ์ ๋๋ฉ์ด์ ์คํ ์ดํธ ์ธํฌ๋ฅผ ํตํด์ Normalized ๊ฐ์ด 1 (์ฌ์์ด ๋๋ฌ์) ์ ํ์ธํ๊ณ Queue์ ๋ฃ์ด๋์ ๋ค์ ์ ๋๋ฉ์ด์ ์ด ์คํ ๋๋๋ก ํด๋ณด์ธ์.
์ฝ๋ฃจํด = ๋ค์ ์ปค๋งจ๋๋ฅผ ์ ๋ ฅํ๊ธฐ ์ํ ์ง์ฐ ์๊ฐ ( ์๊ฐ ๋ด์ ๋๋ฅด๋ฉด ์ปค๋งจ๋ ๋ฒํผ (ํ) ์์ฝ, ์๊ฐ ๋ด์ ๋๋ฅด์ง ์์ผ๋ฉด ๋จ๋ฐ์ฑ์ผ๋ก ์ข ๋ฃ )
์ฝค๋ณด ํ๋ ๋ฐ๋ก ์ ๋๋ฉ์ด์ ํ๋ฅผ ๋ง๋ค์ด์ ์ฝ๋ฃจํด์์ ๋ฐ๋ณตdequeueํ๊ฒ ํ์ต๋๋ค! ๋์์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค!!
์ ๋๋ฉ์ด์ ์ฐฝ์ HasNextTime ์ฒดํฌ๋ฐ์ค ์์๋ ์ด๊ฑฐ ์ฒดํฌํด๋๋ฉด ์ ๋๋ฉ์ด์ ๋๋๊ณ ๋์ด๊ฐ๋๊ฑฐ์๋?
ExitTime ๋งํ๋๊ฑฐ๋ฉด ์ผ์ ์๊ฐ ์ง๋๊ณ ๋์ด๊ฐ๊ฒ ํ๋๊ฑฐ๋ผ ์ข ๋ค๋ฆ
์ ๊ฑฐ ๊ฑธ์ด๋๊ณ ํธ๋ฆฌ๊ฑฐ๋ ๊ฐ์ด๊ฑธ์ด๋์ผ๋ฉด ํธ๋ฆฌ๊ฑฐ ํ์ฑํ๋๋ ๋๋์ผ ๋์ด๊ฐ