개발일지/Unity 개인 포트폴리오 개발일지

개인포폴 작업 5일차 #2 / 넉백기능 구현

데브준우 2022. 6. 21. 01:09

일찍 자고 일찍 일어날까 하다가 잠이 안와서 작업을 좀 더 했다.

때렸을때 색깔 변화와 넉백기능을 구현했다.

 

    IEnumerator HitColor(Material mat)
    {
        mat.color = Color.red;
        yield return new WaitForSeconds(0.1f);
        mat.color = Color.white;
    }

색깔을 잠깐 변하게 하는 코드는 너무나 간단하다.

위와 같이 몬스터 스크립트에 작성하고 때렸을때 몬스터 스크립트에서 함수를 호출했다.

 

 

넉백은 addforce로도 가능하지만 리지드바디의 AddExplosionForce를 써보고 싶어서 이번기회에 써봤다.

   private void OnTriggerEnter(Collider other)
   {
       if (other.gameObject.layer == LayerMask.NameToLayer("Monster"))
       {
           Collider[] colls;
           colls = Physics.OverlapSphere(this.transform.position, 1f,1<<LayerMask.NameToLayer("Monster"));
           
           foreach(Collider coll in colls)
           {
               coll.GetComponent<Monster>()?.HitColor();
               coll.GetComponent<Rigidbody>().AddExplosionForce(300,this.transform.position, 10f);
           }
            
           Destroy(this.gameObject);
       }
   }

 

그리고 스킬을 쓸 때 캐릭터도 넉백되게 기능을 추가했다.

 

 

 

 

지금은 그냥 숫자로 대입 해놨지만 나중에 스킬포인트로 넉백 하는 힘과 범위같은걸 올려주면 될 것같다.

역시 기능 구현 하는게 제일 재밌는거 같다.

 

내일은 리소스를 좀 많이 찾아보고 맵을 만들어야겠다.

아 캐릭터 뼈문제도 해결해야 할것같다..

5일차 작업 정말 끝