일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- 유니온 파인드
- 투 포인터
- ue5
- 정렬
- 스택
- 그리디 알고리즘
- VR
- 다이나믹 프로그래밍
- 문자열
- 우선순위 큐
- 브루트포스
- Unreal Engine 5
- 수학
- c++
- 백준
- 시뮬레이션
- 누적 합
- 다익스트라
- Team Fortress 2
- 알고리즘
- 재귀
- 유니티
- XR Interaction Toolkit
- BFS
- DFS
- 자료구조
- 트리
- 구현
- 백트래킹
- Today
- Total
목록2024/06 (9)
1일1알
Ability Task (AT)Gameplay Ability (GA)는 한 프레임에서만 실행되기 때문에 유연한 기능을 제공하지 못할 수도 있다. 따라서 시간이 지남에 따라 발생하거나 특정 시점에 실행된 델리게이트에 응답해야 할 때에는 Ability Task를 사용한다. 예를들어 점프라는 GA가 발동되었을때 Ability Task를 생성하여 착지 시점에 호출되는 델리게이트를 등록하여 착지 시점에 맞춰서 GA를 종료시킬 수 있다. GA는 발동되면 EndAbility가 호출되기 전까지 끝나지 않는다. 애니메이션 재생 같이 시간이 소요되고 상태를 관리해야 하는 어빌리티는 보통 비동기적으로 작업을 수행하고 결과를 통보받는 형태로 구현하고, 이러한 상황을 위해 GAS는 AT를 제공한다. AT의 제작 규칙AT는 Ab..
Gameplay Tags게임플레이 태그는 계층적으로 설계할 수 있는 Enum같은 것이고, 오브젝트의 상태를 분류하는데 유용하다. 예를들어 캐릭터가 기절했다는 상태를 설계하고 싶다면 State.Debuff.Stun 태그를 만들 수 있다. 게임플레이 태그는 GAS뿐만 아니라 다른 곳에서도 유용하게 사용될 수 있다.에디터의 Project Settings에서 원하는 태그를 생성할 수 있고, 생성된 태그들은 DefaultGameplay.ini파일에 저장된다. 태그들은 GameplayTagContainer라는 별도의 저장소에서 관리되고 저장소에 특정 태그가 있는지 체계적으로 검색할 수 있다. GA에 특정 태그를 부착하여 해당 GA를 대표하는 태그로 설정하면 태그를 통해 GA를 발동시킬 수 있다.특정 태그에 대해 실..

Gameplay Abilities (GA)GA는 액터가 게임에서 할 수 있는 모든 행동 또는 스킬을 뜻한다. 점프나 공격같은 행동들을 GA로 만들 수 있다.ASC에 등록하여 발동시킬 수 있다. GA의 발동 과정 ASC의 GiveAbility 함수를 통해 ASC에 GA를 등록하고 TryActivateAbility함수를 통해 ASC에 등록된 GA를 발동시킬 수 있다.GiveAbility 를 통해 GA정보를 넘길때는 클래스정보를 바로 넘기는 것이 아닌 GameplayAbilitySpec이라고 하는 GAS에서 제공하는 어빌리티에 대한 정보를 넘겨주도록 되어있다. Gameplay Ability Spec (스펙) : GA에 대한 정보를 담고 있는 구초제, ASC는 직접 어빌리티를 참조하지 않고 스펙 정보를 가지고..
Ability System Component (ASC)ASC는 GAS의 핵심이 되는 액터 컴포넌트로, GAS시스템과의 상호작용을 처리한다. GA를 실행하거나 Attribute를 가지거나 GE에 의해 영향을 받으려는 액터에는 반드시 ASC가 있어야 한다. ASC에는 OwnerActor와 AvatarActor가 있다. ASC와 직접적으로 연결된 액터를 ASC의 OwnerActor라고 하고, 물리적으로 표현되는 액터를 AvatarActor라고 한다. OwnerActor와 AvatarActor는 같은 액터일 수도 있고, 다른 액터일 수도 있다.대부분의 액터는 OwnerActor와 AvatarActor가 같고, 본인이 플레이하는 플레이어의 경우에는 OwnerActor는 PlayerState, AvatarActor..
GAS에 대해 학습한 내용을 기록한 내용이고, 정확하지 않을 수 있습니다.1. GAS란?GAS는 액터가 소유하고 발동할 수 있는 능력을 어빌리티라는 개념으로 정의하고 다른 어빌리티 및 액터간의 인터랙션 기능을 제공하는 프레임워크이다.GAS를 이용하여 게임에서 사용되는 스킬이나 스탯과 같은 복잡한 시스템을 범용적으로 설계할 수 있다.GAS 플러그인은 에픽게임즈에서 개발했고 언리얼 엔진과 함께 제공된다. 파라곤, 포트나이트 등 대규모 멀티플레이게임에서도 유용하게 사용되고 있다.언리얼 엔진5의 대표 학습용 프로젝트인 Lyra 프로젝트에서도 GAS를 활용한다. 2. GAS의 핵심 구성 요소 Ability System Component(ASC)GAS의 핵심이 되는 컴포넌트이고, GAS 시스템과 상호작용을 처리하는..
https://www.acmicpc.net/problem/25194 주어진 수들을 더하는 경우중에 7로 나누었을때 나머지가 4가 되는 경우가 있으면 목요일에 일을 끝내고 금요일에 헬스장을 갈 수 있다. 결국 나머지를 구하는 문제이기 때문에 주어진 수들을 7로 나눈 나머지들을 저장하여 나머지가 1~6인 경우의 수가 몇개인지로 관리하였다. 만약 7로 나누었을때 나머지가 0이면 더해도 의미가 없는 숫자이기 때문에 제외했다. 그리고 백트래킹을 통해 가능한 경우를 탐색하여 7로 나누었을때 나머지가 4인 경우를 찾았는데, 사실 7로 나누기 전의 숫자들로 백트래킹을 진행하면 숫자의 경우가 최대 1000개이기때문에 시간초과가 난다. 하지만 7로 나눈 나머지를 통해 1~6이 몇개인지로 관리하고 있기 때문에 정렬이 되어있..