PlayMaker¿¡¼­ FSM³¢¸® Åë½ÅÇϱâ


1. player, monster °ÔÀÓ¿ÀºêÁ§Æ®¸¦ ¸¸µé°í FSMÀ» °¢°¢ Ãß°¡ÇÑ´Ù.



2. player FSM¿¡ idle, attack µÎ°³ÀÇ »óŸ¦ ¸¸µç´Ù.



3. "OnKeyUpAttack" À̺¥Æ®¸¦ »õ·Î ¸¸µç´Ù.
idle »óÅ¿¡¼­ 'a' Å°¸¦ ´©¸£¸é "OnKeyUpAttack" À̺¥Æ®¸¦ ¹ß»ý½ÃÅ°±â À§Çؼ­ÀÌ´Ù.
À̺¥Æ®¸¦ ¸¸µéÁö ¾Ê°í "FINISHED"¸¦ ±×³É »ç¿ëÇصµ µÈ´Ù.

»õ·Î¿î À̺¥Æ®¸¦ ¸¸µé·Á¸é Events ÅÇ¿¡¼­ "Add Event" ÀÔ·Ââ¿¡ "OnKeyUpAttack"À» ÀÔ·ÂÈÄ ¿£ÅÍÅ°¸¦ ´©¸¥´Ù
¿£ÅÍÅ°¸¦ ´©¸£¸é ¸®½ºÆ®¿¡ "OnKeyUpAttack"ÀÌ Ãß°¡µÈ´Ù.



4. "Add Transition"À¸·Î OnKeyUpAttack À̺¥Æ®¸¦ Ãß°¡ÇÏ°í attack »óÅ¿¡ ¿¬°áÇÑ´Ù.
TransitionÀ» Ãß°¡Çϴ°ÍÀº À̺¥Æ®°¡ ¹ß»ýÇßÀ»¶§ »óÅ ÀüÀÌ ÇÏ°Ú´Ù´Â ÀǹÌÀÌ´Ù.



5. Å°º¸µå ÀÔ·Â "Input - GetKeyUp" ¾×¼ÇÀ» Ãß°¡ÇÑ´Ù.
"A"Å°¸¦ ´©¸£¸é OnKeyUpAttack À̺¥Æ®¸¦ º¸³½´Ù.




6. attck »óÅ¿¡ "StateMachine - SendEvent" ¾×¼ÇÀ» Ãß°¡ÇÏ°í ¼³Á¤ÇÑ´Ù.
Event TargetÀº "Game Object FSM"À¸·Î ¼³Á¤ÇÑ´Ù.
GameObject´Â "Specify Game Object"·Î ¼³Á¤ÇÏ°í °èÃþºä¿¡¼­ "monster" °ÔÀÓ¿ÀºêÁ§Æ®¸¦ µå·¡±× ÇÑ´Ù.



7. monster °ÔÀÓ¿ÀºêÁ§Æ®¸¦ ¼±ÅÃÇÏ°í "Damage" »óŸ¦ Ãß°¡ÇÑ´Ù.



8. ±Û·Î À̺¥Æ® "OnDamage"¸¦ Ãß°¡ÇÑ´Ù.
player·Î ºÎÅÍ À̺¥Æ®¸¦ ¹Þ±â À§ÇØ ±Û·Îºí À̺¥Æ® "OnDamage"¸¦ ¸¸µç´Ù.
üũ ¹Ú½º¸¦ üũÇÏ¸é ±Û·Îºí À̺¥Æ®¸¦ ¸¸µé¼ö ÀÖ´Ù.




9. Damage »óÅ¿¡¼­ "Add Global Transition" - "OnDamage"¸¦ Ãß°¡ÇÑ´Ù.



±Û·Î¹ú "OnDamage" »óÅ°¡ Ãß°¡ µÇ¸é ´ÙÀ½°ú °°´Ù.



10. player °ÔÀÓ¿ÀºêÁ§Æ®ÀÇ "attack" »óŸ¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.
"SendEvent" Ç׸ñÀ» ±Û·Î¹ú À̺¥Æ® "OnDamage"·Î ¼³Á¤ÇÑ´Ù.



11. attack ¾×¼ÇÀÌ ³¡³ª¸é idle »óÅ·Πµ¹¾Æ°¡±â À§ÇØ "FINISHED" transitionÀ» Ãß°¡ÇÏ¿© idle »óÅ¿¡ ¿¬°á½ÃÄÑ ÁØ´Ù.



Âü°í)
https://sites.google.com/site/devunitydocs/home/playmaker/seolodaleun-fsmkkili-tongsinhagi