Category

    [언리얼엔진 5] 23. Duck Pet Class

    이어서 귀여운 오리 펫을 추가해보았다. 오리는 조금 특이하게 랜덤성을 가지는 능력을 부여해보았다. 일정시간마다 폭죽을 발사해 폭죽의 형태, 색에 따라 다른 능력을 발휘하는 식으로 말이다. 폭죽 파티클은 두개로 나뉜다. 쏘아 올려지는 폭죽, 터지는 폭죽이 있으니 다른 플립북으로 제작해주었다. 파랑색 폭죽은 모든 적에게 일정량의 데미지를 초록색 폭죽은 플레이어에게 일정량의 힐을 노랑색 폭죽은 적에게 랜덤한 디버프를 부여한다. 낮은 확률로 폭죽이 크게 터지며 효과가 대폭 증가한다. 쿨타임 및 세부 능력은 이후에 조정해볼 것이다.

    [언리얼엔진 5] 22. Hit Particle

    화려하게 공격하는 것은 좋다만 공격대상이 아프게 맞아야지 타격감이 더 좋을 것이다. 데미지를 입을 때 히트 파티클을 생성해주었다. 이쁘고 멋진 파티클은 아껴두고 나중에 사용할 예정이다.

    [언리얼엔진 5] 21. Crab Pet Class

    산타펫에 이어서 귀여운 게까지 구현해보았다. 게(crab)은 몬스터에게 거품을 묻혀 죽을 때까지 데미지를 준다. 이를 구현하기 위해서는 요구되는 사항이다. - 거품이 묻은 몬스터가 죽으면 거품도 사라진다. - 거품이 묻은 몬스터는 지속적으로 데미지가 가해진다. - 이미 거품이 묻은 몬스터에게는 또다시 거품을 뭍히지 않는다. 구현 끝! 공격력, 쿨타임, 부가기능도 바로바로 추가할 수 있다.

    [언리얼엔진 5] 20. Santa Pet Class

    몬스터를 느리게 하는 기능을 추가해볼까 해서 slow함수를 만들었다. 지금까지 공격기능만 탑재된 펫을 만들어 보았으니 적을 느리게 만드는 펫을 만들어 보았다. 지속적으로 적을 느리게 만드는 장판을 생성하고 플레이어를 따라다니게 만들었다. 라이트닝펫과 비슷하게 spanw actor of class 노드로 장판액터를 생성해주었다. 느려지게만 하면 밋밋할 수 있으니 느려진 적들은 파란색을 띄게 하고싶었다. Create dynamic MI 노드를 통해 머티리얼 인스턴스를 변경해주었다. 구현 끝!

    [언리얼엔진 5] 19. Status UI + Icon

    슬슬 UI를 구현해볼까 해서 스탯창 먼저 만들어 보았다. TAB키를 누르면 나오고 다시 누르면 사라지게 말이다. 이번에 나는 미적감각이 없다는 것을 느끼게 되고.. 이날 나의 예술세계가 무너졌다. 각 숫자에는 모두 바인딩해주어 플레이어의 정보를 가져올 수 있게 하였다. 각 스탯을 쉽게 알아보기 위해 옆에 아이콘을 추가하였다. 이때도 스트링테이블이 요긴하게 사용된다. 기능을 구현하는게 어렵지 않았지만 시간이 꽤나 오래걸렸다. 반복된 부분이 많고 여러가지를 바인딩하니 시간이 많이 걸릴 수 밖에.. 특히 이미지를 구하는게 어려웠다. 저작권이 없고 게임에 어울리는 에셋을 찾기 정말 힘들다는 것을 느꼈다. 내 예술감각의 참혹함도... 이미지는 추후에 더 어울리는 것으로 교체해야할 것같다.

    [언리얼엔진 5] 18. Fix Floating Damage

    몬스터를 공격하면 데미지가 화면에 띄워지지만 문제하나를 발견했다. 빠르게 공격하면 그전의 데미지 위젯은 사라지고 하나의 위젯만 발생하게 되는 것이다. 빠른 연타공격을 해도 데미지 위젯은 결국 하나만 보여주게 되는 것이다. 기존에는 FloatingDamage를 몬스터 액터에 띄우는 방식으로 구현했다. 위 문제를 해결하기 위해서는 또 하나의 액터를 만들어 스폰하는 방식을 생각했다. 결국 몬스터 액터에서 위젯을 소환하는 것이 아닌 위젯을 소환하는 액터를 스폰하는 방식으로 바꾸었다.

    [언리얼엔진 5] 17. LevelUP + Player Stat (String Table)

    게임에서 플레이어 스탯(status)는 빼놓을 수 없는 요소일 것이다. 특정 능력치에 종류를 부여하여 계량화한 시스템으로 플레이어가 강해지기 위한 가장 기초적인 방법이다. 레벨업을 하면 3개의 스탯업 요소가 무작위로 나타나고 하나를 고를 수 있는 시스템을 구현해볼 것이다. 디자인은 나중에 손을 봐야할 것 같다. 스탯 이름 아래에는 숫자만 놓고 버튼도 이미지를 따로 생성해줄 것이다.