GameplayAbility Tick기본적으로 GameplayAbility자체는 Tick을 제공하지 않기 때문에 GameplayAbility에서 Tick을 사용하기 위해서는 추가적인 설정이 필요합니다.Tick구현 - Ability Task.GameplayAbility에서 Tick을 사용하기 위해 Ability Task를 이용해 Tick을 구현해서 사용했습니다.C++로 구현했지만 조금만 수정하면 블루프린트에서도 사용가능합니다.Ability Task.h#pragma once#include "CoreMinimal.h"#include "Abilities/Tasks/AbilityTask.h"#include "AbilityTask_ExecuteTaskOnTick.generated.h"DECLARE_DYNAMIC_M..
Unreal SlowMotion언리얼에서 간단하게 슬로우모션을 구현해보았습니다.이때 사용한 함수는 게임의 전체 시간 흐름을 조절하는 SetGlobalTimeDilation함수입니다.이 함수는 게임 전체의 시간 흐름을 자유롭게 조절할 수 있습니다.코드2.0f: 시간의 흐름이 두배로 빨라집니다.1.0f: 기본 흐름. (정상 시간)0.5f: 시간의 흐름이 절반으로 느려집니다. (슬로우모션.)0.f: 시간이 완전히 정지됩니다.아래와 같은 코드를 작성하면 시간의 흐름을 0.5배로, 즉 2배 느리게 만드는 코드인겁니다.UGameplayStatics::SetGlobalTimeDilation(GetWorld(), 0.5f); 저는 이 기능을 NotifyState에 적용을 해서 애니메이션의 특정 부분만 느려지도록 사용했..
오류환경.최근 윈도우 11에서 언리얼 5.3을 사용하다가 해당 오류에 걸렸습니다.프로젝트를 빌드했을 때, 빌드가 완료되어도 "Asertion Failed: index== Typeindex ...." 라는 팝업창이 나오면서 프로젝트가 정상적으로 실행되지 않았습니다.오류 내용.아래의 메시지를 출력하며 프로젝트가 정상적으로 진행되지 않았습니다.Assertion failed: Index == TypeIndex [File:E:\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Misc\TVariant.h] [Line: 118] Crash in runnable thread Background Worker #3제가 해당 언리얼 프로젝트 파일 생성 후 만진것들입니다.1. 삼인..
The project currently uses the compatibility mode where the Render Graph API is Disabled.오랜만에 유니티를 사용하기 위해 Unity6을 설치해서 프로젝트를 하나 만들었습니다.이후 사용하다 보니 다음과 같은 경고 메시지가 나타났습니다."The project currently uses compatibility mode where the Render Graph API is disabled. Support for this mode will be removed in future Unity versions. Migrate existing ScriptableRenderPasses to the new RenderGraph API. After the ..
언리얼 게임 종료 구현하기 c++게임을 하다 보면 반드시 있어야 할 것 중 하나가 종료 버튼입니다.이 글에서는 모든 게임에서 필수적인 요소인 게임 종료를 언리얼엔진의 'UKismetSystemLibrary'에서 제공하는 'QuitGame'함수를 사용해 c++에서 게임 종료를 구현해 보겠습니다. UKismetSystemLibrary.'UKismetSystemLibrary'클래스는 게임 플레이, 하드웨어 정보, 월드 관리 등 다양한 시스템 관련 기능을 제공하는 유틸리티 클래스입니다. 이 클래스를 통해 언리얼 엔진에서 게임 종료(QuitGame), 타이머 설정(Delay), 객체 유효성 검사(IsValid), 디버그 메시지(PrintString) 등 여러 작업을 손쉽게 처리할 수 있습니다.이 클래스는 주로 블..
언리얼 카메라 시점 변경 c++언리얼에서 c++을 이용해 카메라 시점을 변경 하는 방법에 대해 보여주는 글입니다.이 글에서는 'SetViewTargetWithBlend'함수를 활용해 카메라 전환 시 부드러운 화면 전환을 구현하는 방법을 사용합니다.Pawn 구성.먼저 'Character' 클래스에 'CameraComponent'를 하나 추가합니다.그리고 플레이어가 지정한 키를 누를 때, 레벨에 배치된 'CameraActor'를 찾아 해당 'CameraActor'로 시점을 변경하도록 구현했습니다.헤더파일(.h) // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal..
Unreal 생성자에서 리소스 불러오기 C++이 글은 Unreal Engine에서 ConstructorHelpers를 사용해 생성자에서 특정 리소스를 불러오는 방법에 대한 글입니다.ConstructorHelpers에 대한 간단한 설명. ConstructorHelpers 클래스는 C++에서 객체를 생성할 때 리소스를 찾고 로드할 때 사용됩니다.객체를 생성할 때 사용되므로 생성자에서만 사용가능합니다.런타임에서 리소스를 로딩하기 위해서는 다른 방법을 사용해야 하고 이 글에서는 다루지 않습니다.https://dev.epicgames.com/documentation/ko-kr/unreal-engine/gameplay-classes-in-unreal-engineFClassFinder FClassFinder는 'Co..
언리얼 프로젝트 파일 용량관리이 글은 언리얼 프로젝트 파일 용량관리에 대한 글을 다루고 있습니다.C++이랑 Blueprint프로젝트는 지우면 안 되는 파일 등이 살짝 다르긴 해서 제목에 C++을 붙였습니다.지우면 안 되는 파일..uproject파일 : 언리얼 에디터를 구동시키는 연결파일.Source폴더 : C++전용, 소스코드 등이 들어있음.Config폴더 : 언리얼 프로젝트의 환경설정을 저장하는 파일.Content폴더 : 프로젝트에서 사용되는 모든 에셋을 포함하는 폴더.Plugins폴더 : 엔진에서 제공해 주는 플러그인이 아닌 다른 외부 플러그인.지워도 되는 파일.이부분은 프로젝트 파일을 다시 빌드하면 생성되므로 삭제해도 상관없음..sln파일 -> visual studio so..
Unreal에서 새로운 충돌 채널 추가이 글은 Unreal에서 새로운 충돌 채널을 추가하는 방법에 대한 글입니다.Unreal Editor에서 새로운 Trace Channel 추가Unreal Editor에서 Edit -> ProjectSettings로 들어갑니다.Project Settings에서 Engine/Collision으로 들어갑니다.Engine/Collision으로 들어왔다면 Trace Channels를 추가합니다.아래 사진은 예시입니다.저는 Test채널을 추가했습니다.(Default Response는 Ingnore로 설정했습니다만...이 부분은 필요에 맞게 설정하시면 됩니다. )추가후.새로 추가한 충돌 채널 사용 예시 C++Tick에서 SphereTraceSingle을 사용했습니다.void ATe..
Unreal 파쿠르(vault) c++이 글은 Unreal에서 파쿠르(vault)를 C++로 제가 이런식으로 구현했다 라는 것을 기록으로 남기기 위한 글입니다.해당글에서는 언리얼의 Motion Warping을 사용해 만들었습니다.모션워핑 활성화 및 애니메이션 구하기.언리얼에서 Motion Warping은 캐릭터의 루트 모션이 타겟과 일치하도록 동적으로 정렬하는 기능입니다.https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Plugins/MotionWarping/UMotionWarpingComponent?application_version=5.1 이 기능을 사용하기 위해서 모션워핑 플러그인을 활성화 해야되고, 애니메이션이 루트 모션이어야 합니다..
Unreal CameraShake Unreal에서 간단하게 CameraShake를 구현하겠습니다. "LegacyCameraShake" Class를 생성해줍니다. (5.1 이전버전에서 "MatineeCameraShake".) LegacyCameraShake Setting 걷고있을때와 달리고있을때 이렇게 두개를 만드려고합니다. Walk_LegacyCameraShake 생성자. bSingleInstance = true; OscillationDuration = 0.2; //진동지속시간 /*위치 회전*/ RotOscillation.Pitch.Amplitude = 0.3; //회전진동,진폭. RotOscillation.Pitch.Frequency = 12; RotOscillation.Yaw.Amplitude = 0..
Unreal Decal을 이용해 총알자국 생성하기. Unreal에서 Decal을 이용해서 총알자국을 생성하는 방법에 대한 글입니다. 간단한 예시지만 응용해서 텍스쳐를 바꾸면 혈흔, 화살표 등의 시각적 효과를 구현하는데 유용하게 사용할 수 있습니다. 현재 글에서 사용한 Bullet Hole Image는 아래 사이트에서 받았습니다. https://opengameart.org/content/bullet-decal Bullet Decal A simple bullet hole decals. I have used it in my first-person shooter. opengameart.org Texture 설정. 다운받은 Decal로 사용할 Texture을 설정합니다. 저는 아래의 사진처럼 Sprite Acti..