티스토리 뷰
sprite sheet packing
지금 개발 과정에서 챔피언 캐릭터의 애니메이션은 aseprite로 작업한 파일을 그대로 유니티에서 import해서 쓰고 있는데, 이 과정에서 생성되는 아틀라스 크기가 너무 큰 게 성능에 좀 영향을 끼치는 일이 발생했다.
사용하고 있는 플러그인이 오픈소스로 공개된 플러그인인데, 프레임에 빈 공간이 얼마나 많든 상관없이 (aseprite 상에서 정의된 캔버스 크기) * (프레임 수) 만큼의 사이즈로 아틀라스를 만들어서 캔버스에 빈 공간이 많을 경우 상당히 사이즈가 큰 아틀라스가 생긴다. 이건 플러그인 특성상 당연한 것이긴 한데 지금 개발 상황에서 우리 게임에 맞게 좀 패킹을 해 줘야 할 필요가 있어 이 부분 최적화를 간단하게 진행했다.
기본적으로 생성되는 아틀라스는 이런 형태. 빈 공간이 굉장히 많다. 하지만 아트 작업 과정에서 캔버스 크기를 일일히 스프라이트마다 맞춰주거나 할 수는 없기 때문에 프로그램 단에서 패킹을 좀 효율적으로 하게 수정해 줄 필요가 있었다.
최적화를 적용한 아틀라스는 아래와 같다. 여전히 빈 공간이 좀 많은데, 우선 최대한 간단하게 구현 가능한 범위에서만 패킹을 적용했다. 일단 이 상태에서 개발하다가 여전히 성능상 이슈가 좀 있다고 생각되면 아직 적용하지 않은 최적화 방법 2~3가지를 더 적용할 예정. 하지만 아마 지금 정도면 충분하지 않을까 싶다.
악마
암살자 챔피언이 닌자 밖에 없어서 암살자 부류에 속하는 챔피언을 좀 더 추가해야겠다는 이야기가 나왔다. 그래서 일단 악마 / 흡혈귀 두 종류의 챔피언을 암살자를 기획했다.
이동 및 공격. 이동, 공격은 일반적인 근접 캐릭터(공격 속도가 빠른)의 형태.
스킬은 나와 가장 멀리 있는 상대와 서로 위치를 바꾸는 효과를 가지고 있다. 위치가 바뀐 상대는 잠시 속박(이동 불가, 공격은 가능). 조건을 좀 많이 타는 스킬이지만, 멀리 있는 상대의 약한 딜러를 아군 진영으로 끌어들이면서 본인은 적진에서 데미지를 넣는게 가능하다. 조합에 따라 진영 파괴를 노리고 사용할 수 있는 암살자.
궁극기
능력치 향상 + 공격이 원거리로 변경하는 변신 효과. 죽을 때까지 지속된다.
'개발 일지 > Programming' 카테고리의 다른 글
2020-07-13 흡혈귀 마무리, 안정화 작업 (1) | 2020.07.13 |
---|---|
2020-07-10 흡혈귀 (0) | 2020.07.10 |
2020-07-08 연출 개선 (0) | 2020.07.08 |
2020-07-07 자잘한 개선 (0) | 2020.07.07 |
2020-07-06 결계사 (0) | 2020.07.06 |