TIL - 24.04.19 최종 프로젝트

Amberjack·2024년 4월 19일
1

TIL

목록 보기
78/83
post-thumbnail

24.04.19 최종 프로젝트

오늘은 근접 무기 공격 시 효과들을 추가했다.

근접 무기 공격 Trail 고민

근접 무기가 휘둘러질 때의 Trail에 대해 고민이 많다. 현재 우리 지원금은 다 써서 무료 에셋들을 찾아보는데, 무료 에셋 중에 쓸만한 것이 없다! 따라서 일단은 무기 등급 별 효과 추가에 더 신경을 써볼 예정이다.

근접 무기의 몬스터 타격 시 효과

근접 무기가 몬스터를 타격했을 때 효과를 발생시키기 위해 파티클 시스템을 사용했다.
다행히도 우리가 이미 구매한 VFX가 있어 그것을 이용했다. 그러나 한 가지 문제가 발생했다.

파티클의 재생 문제

private void OnTriggerEnter(Collider other)
{
    if (LayerData.Enemy == (1 << other.gameObject.layer | LayerData.Enemy))
    {
        if (other.gameObject.TryGetComponent<HealthSystem>(out HealthSystem _healthSystem))
        {
            _hit.Play();

            _healthSystem.TakeDamage(SetAttackDamage(), _weaponData.PhysicalAtk != 0 ? DamageType.Physical : DamageType.Magic);
            
            Invoke("ToggleParticle", atkSpeed);

            if (_weaponData.LifeSteal != 0)
            {
                int random = Random.Range(0, 101);
                if (_playerStatus.lifeSteal >= random)
                {
                    _playerStatus.health++;
                    _player.HealthChange();
                }
            }
        }
    }
    else
    {
        return;
    }
}

근접 무기의 Trigger Enter에서 Particle System의 Play()를 통해 파티클을 재생시켰기 때문에, 이를 꺼주기 위해서 Invoke를 통해 시간 제한을 두고 파티클이 Stop되도록 코드를 작성했었다. 그러나 이렇게 작성을 할 경우, 몬스터가 공격 애니메이션의 끝 부분에 타격될 경우, 파티클의 Invoke가 끝나기 전에 플레이어로 무기가 돌아오기 때문에, 파티클 또한 같이 움직이는 문제가 발생했다.

이 문제를 해결하기 위해서는 파티클의 부모를 무기말고 다른 게임 오브젝트에 생성해야 했다. 따라서 방법을 고민하다, 어차피 무기가 많아지면 Particle System도 많이 호출될 것 같아 오브젝트 풀링으로 파티클 오브젝트를 만들기로 결정했다.

완성!

무기 공격 시 스킬 구현?

현재 내가 진행해야 하는 과제이다. 일단 구상 중인 것은, 현재 Normal, Rare, Unique 3개의 레어도가 있는데, 일단 레어도에 따라 무기 주변에 파티클이 떠 다니는 것을 구현해볼 생각이다. 그 다음에는 Epic 같은 레어도를 만들고, Epic 무기의 경우 스킬이 나가도록 만들어 볼 생각이다.

유저 피드백 내용

현재 장신구 아이템의 밸류가 굉장히 낮은 것 같다. 당장 나도 무기 대신에 굳이 장신구를 구매해야 할 이유를 못 느낄 정도이니 말이다. 따라서 이에 대해 고민이 필요한데, 무기를 굳이 안사고 장신구를 가야할 이유를 만들어 주기 위해서는 어떻게 해야 할까?

다른 게임들은 어떻게 할까?

뱀파이어 서바이벌의 경우, 장신구들 중에 플레이어에게 무적을 부여하는 경우가 있다. 우리도 이러한 장신구를 도입하면 어떨까?

대시 회수를 늘려준다던가, 무기의 투사체를 늘려준다던가 하는 방법도 있을 수 있을 것 같다.

룬스톤 강화에 관하여

유저 피드백 중에서 룬스톤 강화가 5 스테이지마다 한번 기회를 주기 때문에 자주 할 일이 없어 아쉽다는 피드백이 있었다. 보스 스테이지를 클리어한 보상같은 개념으로 구현했던 것이지만, 확실히 스탯도 많이 안 올려주고, 자주 나오지도 않는다면 유저 입장에서는 메리트가 크게 없을 수 있을 것 같다. 단순히 플레이어 스탯을 올려주는 것보다는 1회 부활 기회나 아이템 등급 상승 기회같은 것을 부여해주는 편이 더 좋아보인다. 아니면 스탯을 정말 많이 올려준다거나.

0개의 댓글