일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 정렬
- 자료구조
- BFS
- 약참조
- 언리얼엔진구조체
- UE_LOG
- 정렬알고리즘
- stl
- dataasset
- C++
- 데이터애셋
- map
- 강참조
- C++최적화
- 선택정렬
- 언리얼가비지컬렉터
- 델리게이트
- 애셋로드
- UML관련
- 크리티컬섹션
- 알고리즘
- 프로그래머스
- 스마트포인터
- UELOG
- UE4 커스텀로그
- moreeffectiveC++
- unorder_map
- 람다사용정렬
- 람다
- enumasByue
- Today
- Total
기억을 위한 기록들
UE - GAS(Game Ability System)에 관하여 본문
언리얼엔진 Game Ability System이란?
게임 내에서 캐릭터나 오브젝트의 능력을 정의하고 관리하는 시스템입니다. 이 시스템은 게임의 캐릭터나 아이템 등의 능력을 모델링하고 관리하며, 이들 능력을 조작하고 적용하는 방법을 제공합니다.
Game Ability System은 일반적으로 세 가지 구성 요소로 구성됩니다.
첫째, 능력은 능력 구성 요소와 실행 구성 요소로 구성됩니다. 능력 구성 요소는 능력의 속성, 발동 조건, 지속 시간 등을 정의하고, 실행 구성 요소는 능력이 실행될 때 수행할 작업을 정의합니다.
둘째, 능력 시스템은 능력을 트리거하는 행위자와 대상을 식별하는 능력 시스템 트리거 구성 요소를 포함합니다.
마지막으로 능력 시스템은 능력이 적용될 때 발생하는 이벤트를 처리하는 능력 시스템 리스너 구성 요소를 제공합니다.
Game Ability System은 다양한 게임 장르에서 적용될 수 있으며, RPG, 액션, 슈팅 게임 등에서 특히 유용합니다. 이 시스템은 게임 디자이너와 프로그래머가 능력 시스템을 쉽게 구현하고 유지보수할 수 있도록 해주며, 게임 내 능력 시스템이 완전히 분리되어 있기 때문에 게임 엔진과 상호작용하는 다른 시스템들과 쉽게 통합될 수 있습니다.
Ability SystemComponent(ASC) :
- 액터 컴포넌트를 사용하여 액터가 더 넓은 GAS 프레임워크와 통신할 수 있습니다.
- GAS와 상호 작용하기를 원하는 모든 액터는 ASC를 가지거나, 다른 액터가 가진 ASC에 접근해야 한다.
- ex) 캐릭터, 파괴가능 오브젝트, 심지어 문(Door)같은 것도
Attributes + Attribute Sets :
- 스마트 부동 소수점 값- 현재 그리고 기본 값
Gameplay Ability (GA) :
- 특정 어빌리티에 대한 독립적 로직
- 게임 플레이 메카닉을 위한 모두 충족하는 논리.
- 전형적인 게임플레이 어빌리티가 아니여도 된다 (움직이거나, 열거나, 달리거나, 쫓거나등 패시브같은 반응적인 행동)
GamePlay Effect(GE) :
- GA의 이펙트, attribute 들 및 태그들 수정.
- 무한,순간 혹은 지속가능한
- 데이터 오브젝트
GamePlay Tags
- 액터 태그(논의의 여지 없이 더 낫다!)처럼.
- 사용자의 실수를 방지하고 빠르게 선택할 수 있도록 재사용 가능합니다. 프로젝트 설정에 저장됨
- 계층적인 구조
- 좋은 "매칭" 시스템
- 매우 강력하다
- GAS 플러그인 외부에 존재해서 GAS 플러그인 없어도 사용가능함.
GamePlay Cue (GC)
- 기본적으로 FX의 래퍼(wrapper)입니다.
- 2가지 기본 모델이 제공됩니다. Burst, Actor
- 일반적으로 데디케이티드에서 생성하고 싶지 않은 모든 "클라이언트 전용" 오디오 및 비주얼 요소
참고:
https://github.com/tranek/GASDocumentation#concepts-as
https://www.youtube.com/watch?v=vknzNVYJjr4&ab_channel=UnrealEngineKR
'UnrealEngine > UnrealEngine C++ 관련' 카테고리의 다른 글
[UE-CPP] 부동소수점 비교시 (0) | 2023.05.14 |
---|---|
[UE-C++] 특정 액터가 블루프린트 상속받은지 확인하는 방법 (0) | 2023.03.02 |
[UECPP] 클래스이름 변경할때 블루프린트 애셋이 상속받고 있을 경우 (0) | 2023.02.10 |
[UE-CPP] Assert 매크로들 (0) | 2023.01.24 |
[UE-C++] 델리게이트들과 이벤트 (0) | 2022.12.01 |