¡¡Unity ¤Ë¤è¤Ã¤ÆÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë ContinuityAttackBehaviour ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡¥³¥á¥ó¥È¥¢¥¦¥È¤µ¤ì¤Æ¤¤¤ëÉôʬ¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢OnStateEnter ¥á¥½¥Ã¥É¡¢OnStateUpdate ¥á¥½¥Ã¥É¡¢OnStateExit ¥á¥½¥Ã¥É¤Î£³¤Ä¤Î¥³¥á¥ó¥È¥¢¥¦¥È¤ò²ò½ü¤·¤Þ¤¹¡£
»Ä¤ë£²¤Ä¤Î¥á¥½¥Ã¥É¤Ï¥³¥á¥ó¥È¥¢¥¦¥È¤·¤¿¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡³Æ¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤ò½¤Àµ¤·¡¢Ï¢Â³¹¶·âÍѤΥ¹¥Æ¡¼¥È¤ÎÀÚ¤êÂؤ¨½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡OnStateUpdate ¥á¥½¥Ã¥ÉÆâ¤Ëµ½Ò¤·¤Æ¤¤¤ë½èÍý¤¬¡¢Ï¢Â³¹¶·â¤Î½èÍý¤Ç¤¹¡£
¹¶·âÍѤΥܥ¿¥ó¤ò²¡¤·¤¿ºÝ¡¢Attacks ¥¹¥Æ¡¼¥È¥Þ¥·¥óÆâ¤Î Attack0 ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
Attack0 ¤¬¼Â¹ÔÃæ¤Ë¤µ¤é¤Ë¹¶·âÍѤΥܥ¿¥ó¤¬²¡¤µ¤ì¤ë¤È¡¢Attack1 ¤ËÁ«°Ü¤·¤Þ¤¹¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢Ï¢Â³¹¶·â¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬Á«°Ü¤·¤Æ¤¤¤¯»ÅÁȤߤǤ¹¡£
<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤¤Þ¤¹
using UnityEngine;
public class ContinuityAttackBehaviour : StateMachineBehaviour
{
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
animator.ResetTrigger("Attack");
}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
if (Input.GetButtonDown("Fire1")) {
animator.SetBool("Attack", true);
}
}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
if (stateInfo.IsName("Attack2")) {
animator.ResetTrigger("Attack");
//Debug.Log("Attack Cancel");
}
}
// OnStateMove is called right after Animator.OnAnimatorMove()
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
// // Implement code that processes and affects root motion
//}
// OnStateIK is called right after Animator.OnAnimatorIK()
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
// // Implement code that sets up animation IK (inverse kinematics)
//}
}
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£