언리얼/게임 프로젝트 86

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (5-1) ReplicationMode와 InitActorInfo 함수

Replication Mode는 언리얼 엔진에서 서버가 클라이언트를 업데이트하는 방식을 정의합니다.함수 SetReplicationMode를 통해 이 방식을 결정할 수 있고,인자는 구조체 EGameplayEffectReplicationMode의 멤버를 사용합니다. 1) EGameplayEffectReplicationMode이 구조체의 멤버는 총 3가지로 구분할 수 있습니다.이는 설명드리기보다는 그림으로서 한번에 보는 것이 나을 것이라 생각합니다.  위와 같이 정리할 수 있습니다.프로젝트에 이를 적용해보면AuraPlayerState의 ASC는 플레이어가 조종하므로 Mixed를 적용하면 될 것이고,AuraEnemy의 ASC는 AI가 조종하므로 Minimal을 적용하면 될 것입니다. 2) InitActorInf..

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (5) BaseCharacter와 PlayerState에 AbilitySystemComponent와 AttributeSet 추가하기

이번 포스트에서는 본격적으로 GAS 프레임워크를 사용해보겠습니다.우선적으로 GAS를 사용할 수 있게 해주는 Ability System Component와GAS에서 사용할 데이터들을 모아놓은 Attribute Set을 추가해주겠습니다. 1) 선행작업먼저 GAS 프레임워크를 사용하기 위해서는 선행작업이 필요합니다.우선적으로 Gameplay Ability 플러그인을 활성화해야 합니다.  두번째로 프로젝트.build.cs에 플러그인들을 추가해야 합니다.  선행작업이 완료되었다면 2개의 클래스를 생성합니다.UAbilitySystemComponent에서 상속된 UAuraAbilitySystemComponent 클래스와UAttributeSet에서 상속된 UAuraAttributeSet 클래스를 생성하였습니다.아직 2..

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (4) GAS 프레임워크의 이해와 PlayerState

기본적인 게임의 구조를 설정하였으므로 이제 본격적으로 GameAbilitySystem을 적용해보겠습니다.그전에 GAS의 구성과 흐름을 한번 짚고 넘어가겠습니다. 1) GAS 프레임워크의 구조GAS 프레임워크는 다음의 구조로 동작합니다. 위와 같이 그림으로서 GAS가 동작하는 구조를 정리하였습니다.이제 세부 사항들에 대해 알아보겠습니다. Ability System Component, 줄여서 ASC라고 불리는 요소입니다.GAS 프레임워크에서 가장 중요한 역할을 수행, Actor에 부착되며 여러 설정을 가능하게 합니다. Attribute Set은 기존에 클래스에서 변수로 모아놓은 데이터들을 새로운 형태로 빼놓은 형태입니다.GAS 시스템에서 사용할 수 있는 데이터인 Attribute를 모아놓은 집합이라고 생각하..

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (3) PlayerController의 설정과 GameMode

이번 포스트에서는 플레이어를 조작하기 위한 PlayerController 클래스의 설정과게임을 운영하기 위한 GameMode 클래스 생성 및 부가설정을 진행하겠습니다. 1) GameMode 클래스우선 게임을 운영하기 위한 GameMode 클래스를 생성하고 이를 블루프린트로 만들어프로젝트의 기본 GameMode로 설정하겠습니다.   다음으로 플레이어를 조작하기 위한 PlayerController 클래스를 생성해보겠습니다. 2) PlayerController 클래스 - InputAction과 InputAcionMappingContext언리얼 엔진에서는 입력을 처리하기 위한 2가지 방법을 제안합니다.하나는 기존의 입력 시스템을 사용하는 것이고,다른 하나는 EnhancedInput이라는 신형 시스템을 사용합니다..

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (2) 몬스터 블루프린트와 애니메이션 블루 프린트

이번에는 몬스터의 블루 프린트를 만들어보고추가적으로 플레이어와 몬스터를 위한 애니메이션 블루 프린트도 만들어보겠습니다. 1) 몬스터를 위한 기본 클래스 AAuraEnemy#pragma once#include "CoreMinimal.h"#include "Character/AuraCharacterBase.h"#include "Interface/EnemyInterface.h"#include "AuraEnemy.generated.h"/** * */UCLASS()class AURA_API AAuraEnemy : public AAuraCharacterBase{ GENERATED_BODY()public: AAuraEnemy(); }; #include "Enemy/AuraEnemy.h"#include "Aura..

GameplayAbilitySystem을 이용한 RPG 프로젝트 - (1) 플레이어 블루프린트 생성

GameplayAbilitySystem 줄여서 GAS로 불리는 프레임워크는언리얼에서 제공하며 게임 제작을 유연하게 만들어주는 도구입니다. 이를 이용하여 하나의 완성된 게임을 제작해보도록 하겠습니다. *기본적인 구조와 리소스는 Stephen Ulibari님의 강의에서 참고되었음을 알려드립니다*https://www.udemy.com/course/unreal-engine-5-gas-top-down-rpg/  플레이어를 세팅하기 이전에 플레이어와 적 모두가 사용할 수 있는 기본적인 클래스즉, 조상 클래스를 만들고자 합니다.구성은 다음과 같이 진행됩니다. 1) Pawn들의 기본 뼈대인 AuraBaseCharacter#pragma once#include "CoreMinimal.h"#include "GameFrame..