UE5
-
[UE5] Development Editor에서 효과적으로 디버깅하는 방법UE5 2025. 1. 17. 14:19
UE5와 같은 큰 프로젝트에서는 Debug 모드에서 컴파일을 하게 되면 굉장히 속도가 느리다. 따라서 Development 모드에서 컴파일을 하되, 특정 매크로를 사용하면 해당 코드에 관하여 원활히 디버깅을 할 수 있다. PRAGMA_DISABLE_OPTIMIZATION / PRAGMA_ENABLE_OPTIMIZATION 디버깅을 하고 싶은 코드 앞뒤로 해당 매크로를 지정해주면 된다. 1. 디버깅을 위해컴파일러 최적화(O1, O2, O3, Os, Oz 등)가 적용되면 일부 코드가 최적화되거나 제거될 수도 있음.특히 디버깅 중 변수 값이 이상하게 보이거나, 특정 코드가 실행되지 않는 것처럼 보이는 문제를 방지하기 위해 사용.최적화를 끄면 컴파일러가 코드를 변경하지 않고 그대로 유지하므로, 디버깅이 더 쉬..
-
[CG] 레스터라이저 상태(Rasterizer State)UE5 2025. 1. 15. 13:16
레스터라이저 상태(Rasterizer State) 3D 그래픽스 파이프라인에서 렌더링 단계의 중요한 설정 중 하나로, 레스터라이제이션(Rasterization) 과정을 제어하는 설정을 말함레스터라이제이션은 3D 객체를 2D 화면에 픽셀로 변환하는 과정이 과정에서 각 픽셀에 대해 깊이, 면 방향, 채우기 방식 등을 결정하는데, 이를 레스터라이저 상태로 제어 레스터라이저 상태가 제어하는 것들컬링 (Culling)컬링은 어떤 면을 렌더링에서 제외할지 결정하는 설정3D 모델은 면(Face)으로 이루어져 있으며, 면의 방향(정점의 순서)에 따라 앞면(Front Face)과 뒷면(Back Face)이 결정됨폴리곤 채우기 모드 (Polygon Fill Mode)폴리곤을 어떻게 화면에 렌더링할지를 결정깊이 바이어스 (..
-
[UE5] .uproject, Target.cs, Build.csUE5 2025. 1. 13. 13:28
uproject 파일이란?uproject 파일은 Unreal Engine 프로젝트의 설정과 메타데이터를 담고 있는 JSON 형식의 파일Unreal Engine 프로젝트의 시작점이자 프로젝트의 모든 구성 요소를 관리하는 중심 역할Unreal Editor에서 프로젝트를 열거나, 빌드 도구(UnrealBuildTool)를 통해 게임을 빌드할 때 uproject 파일을 기준으로 프로젝트 설정을 불러옴{ "FileVersion": 3, "EngineAssociation": "5.1", "Category": "Games", "Description": "My Unreal Engine Game", "Modules": [ { "Name": "MyGame", ..
-
[UE5] 게임플레이 이펙트의 활용UE5 2025. 1. 7. 15:32
게임플레이 이펙트줄여서 GE(Gameplay Effect)로 불림GAS는 게임에 영향을 주는 객체를 별도로 분리해서 관리함게임에 영향을 준다는 것은 대부분 게임 데이터를 변경한다는 것을 의미함따라서 대부분 게임플레이 이펙트와 어트리뷰트는 함께 동작하도록 구성되어 있음GAS 시스템에서 가장 많은 기능을 제공하는 클래스세 가지 타입 존재Instant : 어트리뷰트에 즉각적으로 적용되는 게임플레이 이펙트. 한 프레임에 실행됨Duration : 지정한 시간 동안 동작하는 게임플레이 이펙트Infinite : 명시적으로 종료하지 않으면 계속 동작하는 게임플레이 이펙트 게임플레이 이펙트 모디파이어(Modifier)GE에서 어트리뷰트의 변경 방법을 지정한 설정을 모디파이어라고 함모디파이어의 사용 방법적용할 어트리뷰트의..
-
[UE5] 캐릭터 어트리뷰트 설정UE5 2025. 1. 6. 13:11
어트리뷰트 세트(Attribute Set)단일 어트리뷰트 데이터인 GameplayAttributeData의 묶음GameplayAttributeData는 하나의 값이 아닌 두 가지 값으로 구성되어 있음BaseValue : 기본 값. 영구히 적용되는 고정 스탯 값을 관리하는데 사용CurrentValue : 변동 값. 버프(Buff) 등으로 임시적으로 변동된 값을 관리하는데 사용어트리뷰트 세트의 주요 함수PreAttributeChange : 어트리뷰트 변경 전에 호출어트리뷰트 값 변경 가능PostAttributeChange : 어트리뷰트 변경 후에 호출어트리뷰트 값 변경 불가능. 읽기만 가능(로그용)PreGameplayEffectExecute : 게임플레이 이펙트 적용 전에 호출PostGameplayEffec..
-
[UE5] GAS를 활용한 캐릭터 공격UE5 2025. 1. 3. 14:17
캐릭터 콤보 공격 구현을 위한 기획공격 시작 후 유효 시간 내에 추가 공격 입력을 넣으면, 다음 공격 모션을 발동콤보 공격에 대한 정보는 ABComboActionData에서 불러들임AT를 발동하고 입력 점검 타이머도 함께 발동입력 점검 타이머가 발동되면 다음 공격 입력이 있는지 검사다음 공격 입력이 있으면 다음 공격 모션을 발동하고 다시 입력 점검 타이머를 발동// Fill out your copyright notice in the Description page of Project Settings.#include "GA/ABGA_Attack.h"#include "Character/ABCharacterBase.h"#include "Abilities/Tasks/AbilityTask_PlayMontageAnd..
-
[UE5] GAS를 활용한 캐릭터의 입력 처리UE5 2025. 1. 2. 12:30
플레이어 캐릭터의 ASC 설정분수대 액터와 같이 플레이어 캐릭터에 설정하는 것이 가능하지만 네트워크 멀티플레이를 감안했을 때, 서버에서 클라이언트로 배포되는 액터가 보다 적합이 때 많이 사용하는 액터가 주기적으로 플레이어 정보를 배포하는 PlayerState 액터따라서 Owner를 PlayerState로 설정하고, Avatar를 Character로 설정하는 것이 일반적인 방법// ABGASCharacterPlayer.cppAABGASPlayerState* GASPS = GetPlayerState();ASC = GASPS->GetAbilitySystemComponent();// Owner는 PlayerState, Avatar는 Character(this)ASC->InitAbilityActorInfo(GAS..
-
[UE5] GAS(GamePlay Ability System)의 시작UE5 2024. 12. 30. 14:40
게임플레이 어빌리티 시스템(GAS) 프레임 워크액터가 소유하고 발동할 수 있는 어빌리티 및 액터 간의 인터랙션 기능을 제공하는 프레임워크RPG, 액션 어드벤처, MOBA 장르의 제작을 쉽게하기 위한 도구. 대부분의 게임 제작에 활용 가능GAS 프레임워크의 장점유연성과 확장성 : 다양하고 복잡한 게임 제작에 대응할 수 있도록 범용적으로 설계모듈러 시스템 : 각 기능에 대한 의존성이 최소화되도록 설계네트워크 지원 : 네트워크 멀티플레이어 게임에서도 활용 가능하도록 설계데이터 기반 설계 : 데이터를 기반으로 동작하도록 설계완성도 : 포트나이트 게임 서비스를 통해 실효성 검증GAS 프레임워크의 단점배우는 학습 비용 : 구성 요소가 많아서 학습하는 비용이 꽤 큼오버헤드 : 작은 규모의 프로젝트에는 복잡한 구조가 ..