2024년 8월 01일 목요일 개발일지 / 힐러 캐릭터 만들기

2024. 8. 1. 21:00나의 개발자 기록/본 캠프 개발 일지

2024년 8월 01일 목요일


What I did today : 힐러 캐릭터 만들기

 

 

오늘은 아침에 팀원분들이랑 회의를 하면서 캐릭터의 최종 개수에 대해서 어떻게 할지 이야기를 나누었습니다. 일단 12개의 캐릭터가 있고, 본래 목표로는 16개의 캐릭터가 목표였는데, 저희 게임의 직군이 전사, 탱커, 저격수, 마법사, 힐러로 총 5개가 있어서 직군별 캐릭터를 생각한다면 15개를 만들어야 개수가 맞아떨어지는 것 때문에 여러 가지로 고민이 많았습니다. 또한 저를 포함한 팀원 4명이서 직군 하나씩 모티브 캐릭터를 생각해서 만든다면 20개가 제일 이상적이어서 어떤 방법이 젤 좋을지 계속 생각하다가 저희가 구현해야 할 사항이 많았기 때문에 일단은 15개만 만들고, 나머지 5개는 추후에 시간이 남으면 만드는 것으로 결정하게 됐습니다.

 

 

지금 현재 힐러 직군 캐릭터가 하나도 없기 때문에 힐러 직군 캐릭터를 3개 만들면 이번 주 목표는 달성이라 오늘 목표로서 힐러 캐릭터 1개를 만드는 것과 힐과 관련된 로직을 추가하는 것이 1차 목표였습니다. 그래서 오전에 늘 하던대로 팀원분에게 모티브 캐릭터 정보를 받아서 스테이블 디퓨전으로 픽셀 캐릭터를 뽑고, 일러스트와 아이콘을 만들었습니다.

 

 

오후에는 애니메이션 작업을 시작해서 Idle과 Die, 그리고 Attack 대신에 Heal 애니메이션을 만들었습니다. 그다음 작업으로 유니티에 스프라이트 시트를 적용 후, 캐릭터 SO 데이터를 만들고, 애니메이션을 적용하여 기존 캐릭터들처럼 만들었습니다.

 

트러블 슈팅

 

그다음에는 힐과 관련된 로직이 없었기 때문에 관련 로직을 추가하고, 기존 공격 로직을 복사하여 대상을 캐릭터로 수정한 다음, 생각한대로 힐이 되는 로직을 만들었습니다. 그러고 나서 테스트를 해본 결과... 제대로 힐을 안 하는 문제상태 전환이 깔끔하게 이뤄지지 않는 점이 있었습니다. 그래서 로직을 다시 살펴 봤더니... 로직을 만들 때, 캐릭터의 체력을 비교하는 부분에서 각 캐릭터들은 최대 체력이 다른데도 불구하고, 각자의 현재 체력을 비교했기 때문에 탱커보다 힐러의 체력이 낮아서 힐을 안 하는 문제가 있었습니다.

 

 

저녁을 먹고나서 그 부분을 퍼센트로 수정하니까 정상적으로 회복이 잘 되었습니다. 일단 임시로 만든 거기 때문에 힐을 했다는 이펙트가 필요할 것 같네요. 일단은 내일 나머지 캐릭터 2개를 만들고, 힐과 관련된 이펙트를 만들어봐야 될 것 같습니다. 남은 시간에는 담당 튜터님의 주간 체크를 진행했고, 체크가 끝나고 나서 TIL을 쓰며, 오늘 하루를 마무리했습니다.


면접 질문 대비 : 얕은 복사와 깊은 복사의 차이점은 무엇인가요?

 

class Person
{
    public string Name;
    public Person ShallowCopy()
    {
        return (Person)this.MemberwiseClone();
    }
    public Person DeepCopy()
    {
        Person clone = (Person)this.MemberwiseClone();
        clone.Name = new string(Name.ToCharArray());
        return clone;
    }
}

 

 

얕은 복사 : 객체의 필드 값을 그대로 복사하여 새로운 객체를 생성합니다. 참조 형식의 필드가 동일한 참조를 가리키는 것.

깊은 복사 : 객체의 모든 필드를 재귀적으로 복사하여 완전히 새로운 객체를 생성합니다. 참조 형식의 필드도 새로운 객체를 가리키는 것.