ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내일배움캠프 62일차 TIL - 최종 프로젝트 개발 확장 1
    TIL/Unity 2024. 7. 15. 23:11

     

    [한 줄 요약]

    스킬리스트, 코드 리팩토링을 진행하고 스킬 추가 작업에 들어갔다.


    [학습 내용]

     

    최종 프로젝트 개발 확장


    스킬리스트 잠금 기능

    잠금 기능 추가

    스킬북 아이템을 구현하기 위해서 우선 스킬을 잠그는 기능을 추가했다. 스킬북을 사용하게 되면 스킬 슬롯의 bool 값을 바꾸는 방식으로 해금할 수 있다. 잠겨있는 동안은 스킬을 사용하거나 퀵슬롯에 등록하지 못한다.

    잠긴 스킬은 어둡게 보인다.

     

    몬스터 사망 시 스킬 관련 후처리 작업

    스킬 오브젝트 스폰 위치 변경

    기존에는 타겟 몬스터의 자식 오브젝트에 스킬이 생성되었으나, 스킬 매니저 아래로 위치를 옮기었다. 그에 따라 코루틴으로 타겟의 위치를 애니메이션이 따라다니도록 설정해주었다.

    이로써 얻는 효과로는, 몬스터 오브젝트의 파괴로부터 자유롭다는 점과, 공격 모션이 끝나지 않는 버그 등을 해결할 수 있었다.

    스킬 오브젝트 위치

     

     

    스킬 시전 시간 추가

    스킬 시전 추가

    스킬마다 시전 시간을 다르게 하여 스킬의 다양성을 높이고자 하였다. 시전 시간 중에는 공격 모션이 나오며, 움직일 수 없다.

    시전 시간 데이터

     

    스킬 시전 시간 제한

    스킬 이펙트 애니메이션이 모두 끝나더라도 시전이 끝나지 않으면 어색해보이므로, 애니메이션보다 시전 시간이 길 수 없도록 설정하였다.

    시전 시간이 0.2초일 때
    시전 시간이 1.5초일 때(스킬 이펙트 애니메이션보다 길 때)

     

     

    스킬 추가

    토네이도 추가

    기존 타겟팅 스킬에 토네이도를 추가하였다. 애니메이션 에셋을 아직 구매하지 않아 스킬 시전은 아직 불가능하다.

     

    체인 스킬 추가

    타겟팅 스킬 외에도 전이형 스킬을 구현하기로 하였다. 그러기 위해서 새로운 스킬 동작 방식을 구현해야 했다. 타겟이 전이될 때마다 새로운 타겟을 찾을 때 레이캐스팅을 사용하려고 하였다. 그러나 360도 전방위로 레이캐스트를 쏘는 것은 비효율적이라고 생각이 들어 튜터님께 질문을 드렸다.

    구상한 방식

     

    그러자 튜터님께서는 OverlapCircle 메서드를 추천하셨고, 그를 이용해 구현을 진행 중에 있다.

     

     

    기타 코드 수정

    공격 시도 시 자동 방향 전환

    기존에는 고양이가 등 뒤의 적을 공격하는 것처럼 보이는 현상이 있었다. 그래서 공격 직전에 몬스터 위치 방향을 바라보도록 코드를 수정하였다.

    공격 시 방향이 자동 전환된다.

     

    고양이 사망 처리 Update문 제거

    Update문으로 고양이의 사망을 계속 체크하는 것은 자원의 낭비라고 생각되어, 이벤트 형식으로 바꾸었다. 그리고 사망 시 공격이나 스킬을 사용할 수 없도록 제한하였다.

     

     


    [회고]

    생각보다 체인 스킬 구현에 많은 시간이 소모되었다. 내일 빠르게 체인스킬을 완료하고 다른 종류의 스킬이나 리팩토링에 들어가야겠다.