-
Hitbox와 Hitbox Editor 개선게임 클라이언트 개발/MakeDNF 2024. 1. 11. 16:18
Hitbox
기존에 구현했던 Hitbox는 하나의 오브젝트에 하나의 Hitbox Component를 할당할 수 있었다. 예를 들어, 메테오 스킬의 경우 낙하하는 운석 오브젝트 한 개, 이후 운석이 폭발하는 오브젝트 한 개, 총 두 개의 오브젝트가 필요했다.
하지만 무녀의 염폭모대주 스킬을 확인해보면 거대한 염주알이 공중에서 땅에 닿는 순간의 애니메이션이 존재한다. 기존의 설계로 구현한다면 떨어지는 염주알 오브젝트 1개, 땅에 닿았을 때 염주알 오브젝트 1개, 폭발 오브젝트 1개, 총 3개의 히트박스를 위한 오브젝트가 필요하다.
애니메이션을 자연스럽게 연출하기 위해 위치를 조정해야하는 추가적인 연산이 필요하며, 스킬이 복잡해질수록 추가해야하는 오브젝트도 많아지고 생성된 오브젝트마다 데미지 변수를 파라미터로 계속해서 전달해야하는 추가 연산이 필요하다고 생각했다. 그래서 HitboxController를 추가하여 한 오브젝트에서 다수의 Hitbox를 관리할 수 있도록 수정했다.
public class Hitbox { // Class members for calculating the hitbox // Class members for detecting the collision with other hitbox } public class HitboxController : Monobehaviour { #region Variables [SerializeField, HideInInspector] private Hitbox[] hitboxes = new Hitbox[0]; private Hitbox activeHitbox = null; #endregion Variables // Class members for activating the hitbox // Class members for detecting the collision with other hitbox controller }
Hitbox Editor
기존에 구현한 Hitbox Editor는 Hitbox의 정보를 Inspector 창에서 보여줬기 때문에 Hitbox Component를 직접 찾아야했다. 또한 키보드로 Edit Mode를 변경하여 유니티의 기본 키 입력과 겹칠 경우 조작의 불편함이 존재했다.
이를 해결하고자 씬에 Hitbox Editor를 띄우도록 수정했으며 Hitbox Controller로 다수의 Hitbox를 관리함에 따라 Hitbox를 추가 및 제거 기능, Hitbox 선택 기능을 추가했다.
'게임 클라이언트 개발 > MakeDNF' 카테고리의 다른 글
남 넨마스터의 넨가드 스킬에 대한 고찰 (0) 2024.01.22 Object Pooling을 위한 Tool 제작 (0) 2024.01.11 Skill 시스템 구현 및 개선 (0) 2024.01.10 DNF Input System (0) 2023.12.11 DNF 충돌 시스템 (0) 2023.12.03