private void CharStartInteration()
    {
        // 처음 앞의 대상이 무슨 오브젝트인지 판단.
        target = CheckTarget();

        csObjectInteraction component = null;

        // 앞에 오브젝트가 있으면, 오브젝트의 csObjectInteraction 인터페이스를 GetComponent함.
        if (target != null)
        {
            component = target.GetComponent(typeof(csObjectInteraction)) as csObjectInteraction;
        }
        // 만약 앞의 오브젝트가 상자라면 Interaction 메소드만 호출함.
        if (target != null && target.CompareTag("Crate"))
        {
            if (component != null)
            {
                component.Interaction(gameObject);
            }
        }
        // 그 외의 오브젝트라면 현재 지정된 Animator의 Lumbering 애니메이션을 활성화한 후 코루틴 CancelLumber를 호출함.
        // 만약 아무 오브젝트도 없을 시 애니메이션만 실행
        else
        {
            thirdAnim.CrossFade("Lumbering", 0.3f);
            charStats.isStop = true;
            StartCoroutine("CancelLumber");
        }
    }
 // Lumbering 애니메이션 중 이벤트로 들어갈 메소드로 상호작용 타겟이 지형이 아니라면 상황에 맞는 이펙트와 메소드를 호출한다.
 private void ActInteration()
 {
     // 판단된 오브젝트가 지형이 아닌 다른 오브젝트인 경우
     if (target != null && !(target.CompareTag("Ground")))
     {
         csObjectInteraction component = target.GetComponent(typeof(csObjectInteraction)) as csObjectInteraction;
         // 해당 오브젝트의 Interaction 메소드를 호출
         component.Interaction(gameObject);
         // 몬스터의 경우 attackPS 이펙트 재생
         if (target.CompareTag("Monster"))
         {
             attackPS.Stop();
             attackPS.Play();
         }
         // 그 외의 경우 takePS 이펙트 재생
         else if (target.CompareTag("Resource"))
         {
             takePS.Stop();
             takePS.Play();
         }
     }
 }