득이공간

[게임플레이 어빌리티 시스템] 4장. 게임플레이 어빌리티 시스템의 활용 방법 본문

GP/UE5

[게임플레이 어빌리티 시스템] 4장. 게임플레이 어빌리티 시스템의 활용 방법

쟁득 2024. 7. 19. 10:31
해당 게시물은 이득우 교수님의 '게임플레이 어빌리티 시스템' 강의를 수강하며
학습한 내용을 개인적으로 정리한 글입니다.

📌 목차 - 4장. 게임플레이 어빌리티 시스템의 활용 방법

4-1. 아이템 상자 구현

4-2. 캐릭터의 광역 스킬 구현


📌 4-1. 아이템 상자 구현

1. 공격 명중 시 장식 이펙트를 추가로 발동시키기
2. 기간형 게임플레이 이펙트의 주기 설정이 가지는 특징의 학습
3. 게임 이펙트 설정으로 장식 이펙트를 발동시키는 방법의 학습
4. 태그 설정을 활용한 게임플레이 이펙트 및 태그의 제거
5. 게임 이벤트 발동과 어트리뷰트 직접 접근을 통한 무기 추가와 제거 구현

 

  • 게임플레이 이펙트를 활용한 아이템과 무기 기획
    • 대미지, 회복 상자의 구현
    • 체력 리젠(Regeneration) 상자, DOT(Damage Over Time) 상자의 구현
    • 캐릭터에 무기 추가
      • 무기로 인한 공격 범위 증가: 75
      • 무기로 인한 공격력 증가: 100
  • 이번 강의에서 진행할 핵심 컴포넌트
    • 어빌리티 시스템 컴포넌트 (ASC): 어빌리티 시스템 컴포넌트
    • 게임플레이 태그 (Tag): 게임플레이 태그, 게임플레이 태그 컨테이너
    • 게임플레이 이펙트 (GE): 게임플레이 이펙트, 장식 이펙트
    • 어트리뷰트 (Attribute): 게임플레이 어트리뷰트 데이터, 어트리뷰트 세트
  • 게임플레이 큐 (GC)
    • 시각 이펙트나 사운드와 같은 게임 로직과 무관한 시각적, 청각적 기능을 담당함
    • 데디케이티드 서버에서는 사용할 필요가 없음
    • 두 종류의 게임플레이 큐가 있음
      • 스태틱 게임플레이 큐: 일시적으로 발생하는 특수효과에 사용. Execute 이벤트 발동
      • 액터 게임플레이 큐: 일정 기간동안 발생하는 특수효과에 사용. Add/Remove 이벤트 발동
    • C++로도 구현할 수 있지만, 블루프린트로 제작하는 것이 더 생산적임
    • 게임플레이 이펙트에서 자동으로 GC와 연동할 수 있도록 기능을 제공하고 있음
    • 게임플레이 큐의 재생은 GameplayCueManager가 관리함 (다른 시스템과 분리된 구조)
    • 게임플레이 태그를 사용해 쉽게 발동시킬 수 있음
      • 이 때 반드시 GameplayCue로 시작하는 게임플레이 태그를 사용해야 함

📌 4-2. 캐릭터의 광역 스킬 구현

1. 무기를 들 때 발동가능한, 마우스 우클릭으로 발동하는 범위 스킬의 구현
2. 다중 충돌 감지 기능을 수행하는 타깃 액터의 구현과 활용
3. 명중한 다수의 타깃에 대미지를 전달하고 장식 이펙트를 발동하는 기능 구현
4. 스킬 전용 어트리뷰트 클래스를 활용한 스킬 사용 비용과 쿨다운 기능 구현
5. 이펙트 실행 계산 클래스를 활용한 거리에 따른 대미지 감소 구현

 

  • 플레이어 캐릭터에 신규 광역 스킬 부여
    • 무기를 획득하면 마우스 우클릭으로 스킬을 사용할 수 있는 기능을 추가
    • 스킬 반경과 대미지 계산은 새로운 어트리뷰트 값을 사용 (SkillRange, SkillRate)
    • 스킬은 광역스킬이며, 다수의 액터에게 피해를 전달하고 폭발 장식 이펙트를 발생시킴
    • 스킬에는 에너지를 소비하며, 에너지가 모자라면 발동이 안됨 (SkillEnergy)
    • 스킬 시전 후 쿨다운이 발동되며, 쿨다운이 끝날 때까지 발동이 안됨
    • 스킬이 주는 대미지는 공격자와의 거리에 따라 선형적으로 감소함
  • 이번 강의에서 진행할 핵심 컴포넌트
    • 어빌리티 시스템 컴포넌트 (ASC): 어빌리티 시스템 컴포넌트
    • 게임플레이 태그 (Tag): 게임플레이 태그, 게임플레이 태그 컨테이너
    • 게임플레이 어빌리티 (GA): 게임플레이 어빌리티, 어빌리티 태스크, 게임플레이 이벤트
    • 게임플레이 이펙트 (GE): 게임플레이 이펙트, 이펙트 실행 계산, 장식 이펙트
    • 어트리뷰트 (Attribute): 게임플레이 어트리뷰트 데이터, 어트리뷰트 세트