ToyProject/RedCaped

    [언리얼엔진 5] 32. Wrap Up

    2022년 12월 말부터 토이프로젝트를 시작하여 3월초까지 약 2달간 진행했다. 개강 후 토이프로젝트를 늘어지게 가져가면 이도저도 아닐 것같아 빠르게 프로젝트를 마무리 짓기로 결정했고 32차 wrap up으로 RedCaped 토이프로젝트를 마무리한다. 가장 재미있던 개발 https://boobiebird.tistory.com/37 여러 강의영상을 보며 다양한 게임을 "따라서" 만들어보았지만 혼자 이렇다할 개발을 해본적이 없다. 그렇게 외부강의 없이 홀로 프로젝트를 무작정 시작해보았다. 역시 많은 런타임에러가 생기거나, 머티리얼이 깨지는 등 난관이 존재했지만 레딧이나 공식docs에서 정보를 찾으며 해결해갔다. 이러한 점에 이번 토이프로젝트가 의미가 있었다고 생각한다. 아래는 토이프로젝트 컨셉샷을 끝으로 글..

    [언리얼엔진 5] 31. Enemy mass produce

    기본적인 Enemy 클래스 구현이 끝나간다. 이제 상속(Inheritance)가 빛날 시간이다! BP_Skeleton이 기본 몬스터의 부모 클래스이다. 모든 Enemy클래스가 이로부터 상속받아질 것이다. 상속받았기에 함수호출은 물론 BP_Skeleton을 불러도 각각의 객체들이 호출된다! 물론 Sprite에 노멀맵을 Aesprite로 적용시켜주고, 스프라이트를 추출하고, 플립북 생성 후 애님소스에 추가, 애님 블루프린트를 만드는 과정은 어쩔 수 없이 진행해야한다. 하나당 15~20분정도 걸리는 것 같았다. 각 몬스터는 각 고유한 공격 노티파이를 가지기에 공격사거리가 모두 다르다. 공격력, 체력, 이동속도, 방어력등은 쉽게 변경가능하다.

    [언리얼엔진 5] 30. Cooldown Icon

    각 기능에 대한 쿨타임 관리는 이미 끝났지만 쿨타임을 눈으로 볼 수 있는 수단이 필요하다. 언제 재사용이 가능한지, 남은 재사용 시간이 얼마나 남았는지 쉽게 알 수 있어야 한다. 구린 UI좀 손봐야 할 것같다

    [언리얼엔진 5] 29. Zodiac Class (The twelve houses of the Zodiac)

    이전에 쭉 다룬 펫 클래스가 아닌 조디악 즉 황도 12궁 클래스를 구현하였다. 명색이 황도 12궁이기에 12개를 구현해야했다. 하나하나 개발일지에 다루려 했지만 그렇게 된다면 너무나도 많이 다루어야 하기에 하나의 글에 전부 담아보기로 했다. 황도 12궁은 12개의 별자리로 구성된다. 조디악 클래스는 펫클래스처럼 일정 층에 도달하면 얻을 수 있는 힘으로 12개중 램덤하게 얻을 수 있다. 다음은 12궁의 상세설명이다. 모든 조디악 클래스는 하나의 패시브, 액티브 스킬이 존재한다. 양자리 - Aries 패시브 : 활 차징 속도가 증가한다 액티브 : 모든 적을 느리게 만들고 데미지를 준다 황소자리 - Taurus 패시브 : 방패로 적의 공격을 막을 시 해머공격을 한다 액티브 : 전방에 강력한 해머공격을 한다 쌍..

    [언리얼엔진 5] 28. Shield

    개발일지에서 다루지 않았지만 여러가지 파티클을 추가하였다. 특정 층 이상에서 별자리 12궁의 힘을 랜덤으로 받을 수 있다. 아무튼 이번에는 방패를 구현해볼 것이다. 구현 계획 바라본 적이 나를 공격하면 방어한다 방패를 올려도 뒤에서 공격하면 데미지를 받는다 다른 동작중에도 방패를 들수 있다 방패를 드는 동작 중에 공격을 받으면 방어하지 못한다 1초동안 방어하지 않으면 방패를 내린다 끝! 이제 슬슬 구현하고 싶은 것은 큰 문제없이 (구글과 같은 도움없이) 구현할 수 있게 됐다. 1년전 언리얼을 시작했을 때 튜토리얼 동영상 없이 아무것도 못하던 걸 생각하면 대단한 발전인 거 같다.

    [언리얼엔진 5] 27. Fix LevelUP (Inheritance)

    개발일지 17에서 레벨업시 스탯업을 고르는 위젯을 구현하였다. 하지만 여러가지 스탯업을 추가하다보니 너무나도 많은 변경과 수정을 거쳐야 했다. 즉 유지보수가 엉망이었다. 기존 하나의 스탯업을 추가하려면 스트링테이블 3개를 각각 추가해주고 Switch on int노드도 추가해주어야 한다. 이 과정을 3번 반복해주어야 했다. 나중에 더 많이 추가할 수도 있는데 이런 과정이 반복되면 하루종일 노드작업만 할것이다. 그렇기에 유지보수가 좋게 바꾸어줄 필요가 있었다. 변경 후 Inheritance(상속)의 강력함을 깨닫는 순간이다. 이제 스탯업을 추가하려면 자손블루프린트를 만들고 배열에 추가만 해주면 된다. 작업시간이 100배는 빨라진 셈이다. Inheritance(상속)을 이용해서 유지보수가 매우 좋아졌다. 상속..

    [언리얼엔진 5] 26. Spear Attack (+ Bow)

    검, 활을 이어서 창을 던지는 공격을 구현할 것이다. 창을 던지는 공격을 구현해보니 활에서 나가는 파티클이 창에거 더 어울리는 것이다. 그래서 창 공격을 활 이펙트로 대체하고 활 공격의 이펙트, 기능을 바꾸었다. 일단 노티파이를 서로 바꾸어주는 작업을 했다. 파티클에 오버랩된 적에게 데미지를 부여하기로 하였다. 하지만 작은 문제가 발생한다. 이동하는 파티클이다보니 오버랩이 중첩되어 나타나 데미지가 여러번 적용되는 현상이 발견된다. 배열을 사용하여 쉽게 해결하였다. 창은 짧은 사거리로 하나의 대상에게 강력한 공격을, 활은 긴 사거리로 다수의 대상에게 약한 공격을 가하는 방식으로 변경할 예정이다.