일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UI
- Multiplay
- Unreal Engine
- gameplay effect
- photon fusion2
- nanite
- Aegis
- map design
- listen server
- gas
- animation
- gameplay ability system
- Replication
- attribute
- 유니티
- ability task
- 언리얼 엔진
- gameplay tag
- os
- CTF
- gravity direction
- 언리얼엔진
- unity
- rpc
- 게임 개발
- ret2libc
- 게임개발
- local prediction
- MAC
- dirty cow
- Today
- Total
목록언리얼 엔진/Unreal Ability System (7)
Replicated

일단 UI 생성필요한 위젯 컴포넌트, 유저 위젯 등 생성 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Blueprint/UserWidget.h"#include "AbilitySystemInterface.h"#include "ABGASUserWidget.generated.h"/** * */UCLASS()class ARENABATTLEGAS_API UABGASUserWidget : public UUserWidget, public IAbilitySystemInterface{ GENERATED_BODY() public: virtual ..

게임플레이 이펙트- GE- GAS는 게임에 영향을 주는 객체를 별도로 분리해서 관리함 (특수효과 아님)- 게임에 영향 => 게임 데이터를 변경한다는 뜻- => 게임플레이 이펙트와 어트리뷰트는 함께 동작하도록 구성됨- GAS에서 가장 많은 기능을 제공- 세가지 타입 - Instant : 어트리뷰트에 즉각적으로 적용되는 게임플레이 이펙트, 한 프레임에 실행 - Duration : 지정한 시간 동안 동작 - Infinite : 명시적으로 종료하지 않으면 계속 동작 gameplayeffect 클래스 생성 게임플레이 이펙트 모디파이어(Modifier)- GE에서 어트리뷰트의 변경 방법을 지정한 설정- 모티파이어의 사용 방법 - 적용할 어트리뷰트의 지정 - 적용 방식의 설정 : 더하기, ..

게임 데이터에 해당함캐릭터에 설정할 어트리뷰트 목록기본 어트리뷰트최대값 어트리뷰트체력 (Health)최대 체력 (MaxHealth)일반 공격 길이 (AttackRange)최대 일반 공격 길이 (MaxAttackRange)일반 공격 반경 (AttackRadius)최대 일반 공격 반경 (MaxAttackRadius)일반 공격력 (AttackRate)최대 공격력 (MaxAttackRate)어트리뷰트셋 생성 * 어트리뷰트 세트(Attribute Set)- 단일 어트리뷰트 데이터인 GameplayAttributeData의 묶음- GameplayAttributeData는 하나의 값이 아닌 두가지 값을 구성되어 있음 - BaseValue : 기본 값. 영구히 고정되는 고정 스텟값을 관리하는데 사용 - Cu..

일단 애니메이션 노티파이 하나 생성 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Animation/AnimNotifies/AnimNotify.h"#include "GameplayTagContainer.h"#include "AnimNotify_GASAttackHitCheck.generated.h"/** * */UCLASS()class ARENABATTLEGAS_API UAnimNotify_GASAttackHitCheck : public UAnimNotify{ GENERATED_BODY() public: UAnimNotify_GAS..

헤더에서 콤보에서 쓸 함수 및 변수 선언void UABGA_Attack::CheckComboInput(){ ComboTimerHandle.Invalidate(); if ( HasNextComboInput ) { MontageJumpToSection(GetNextSection()); StartComboTimer(); HasNextComboInput = false; }}다른 건 별 차이 없고, MontageJumpToSection 이라는 걸 지원해서 AnimInstance 가져올 필요 없음 콤보 액션 잘 됨 상태를 가지는 점프 구현* 어빌리티 태스크(AT)의 제작 규칙- AT는 UAbilityTask 클래스를 상속받아 제작- AT 인스턴스를 생성해 반환하는 static 함수를 선언해 구현- AT가 ..

플레이어 캐릭터의 기획- 기존 플레이어 캐릭터 상속- 입력에 따라 정해진 게임플레이 어빌리티가 발동되도록 설정- 점프 GA : 스페이스바를 누르면 점프 어빌리티가 발동- 공격 GA : 마우스 왼쪽 클릭 시 공격 어빌리티가 발동 일단 블루프린트 게임모드 하나 만들고 컨트롤러 설정변경 플레이어 캐릭터의 ASC 설정- 분수대 액터처럼 플레이어 캐릭터에 설정하는 것도 가능- 하지만 네트워크 멀티플레이 감안 시, 서버->클라이언트 배포되는 액터가 더 적합함- 주기적으로 플레이어 정보를 배포하는 PlayerState 액터가 적합- Owner를 PlayerState로 설정, Avatar로 Character로 설정하는 것이 일반적인 방법 ASC 설정은 PossessedBy에서 해주면 됨그리고 게임 모드에서 Player..

Gameplay Ability System- 액터가 소유하고 발동할 수 있는 어빌리티 및 액터 간의 인터랙션 기능을 제공하는 프레임워크장점- 유연성과 확장성- 모듈러 시스템- 네트워크 지원- 데이터 기반 설계- 완성도 (이미 검증됨)단점- 배우는 학습 비용- 오버헤드 (작은 규모의 프로젝트에는 복잡한 구조가 오히려 부담이 될 수 있음) 핵심 구성 요소어빌리티 시스템 컴포넌트(ASC) : 어빌리티 시스템 컴포넌트게임플레이 태그(Tag) : 게임플레이 태그, 게임플레이 태그 컨테이너게임플레이 어빌리티(GA) : 게임 어빌리티, 어빌리티 태스크, 게임플레이 이벤트게임플레이 이펙트(GE) : 게임플레이 이펙트, 이펙트 실행 계산, 장식 이펙트 - 게임플레이 큐어트리뷰트(Attribute) : 게임플레이 어트리뷰..