본문 바로가기
반응형

Unreal176

Unreal UDamageType 구현 [Unreal/C++] UDamageType 구현 언리얼 엔진에서는 데미지를 주고 받을 수 있도록 기능을 제공한다.  기본적으로 데미지를 주는 것은 Apply Damage 함수들을 사용하고Apply DamageHurts the specified actor with generic damage. Target is Gameplay StaticsApply Point DamageHurts the specified actor with the specified impact. Target is Gameplay StaticsApply Radial DamageHurt locally authoritative actors within the radius. Will only hit components that block the.. 2024. 1. 2.
Unreal Did you leave off a prefix? [Unreal/C++] Did you leave off a prefix? Unreal Engine C++ 컴파일시 발생하는 에러,정리할 필요는 느끼지 못했지만, 언리얼 엔진에 대한 자료가 너무 적어서 고생하는 사람들을 위해 정리합니다. When compiling class definition for '', attempting to strip prefix results in an empty name. Did you leave off a prefix? 언리얼 엔진에는 접두사 시스템이 있습니다.Actor는 A, UObject 는 U 등 클래스 이름 앞에 접두사가 붙어다닙니다. 예를 들어 Actor - > Pawn -> Character를 차례로 상속받아 만든 클래스는 Actor의 접두사인 'A'가 앞에 붙습니.. 2023. 12. 29.
Unreal 적 사망 상태 유지, Animation 상태 유지 [Unreal] 적 사망 상태 유지, Animation 상태 유지 언리얼 엔진에서 적 체력이 0이되면 사망 애니메이션을 재생한다.이 때 사망 애니메이션이 다 재생된 후에 Animation Blueprint에 의해 Walk상태로 되돌아가거나 특정 Animation이 재생된다. 이러한 문제는 ABP에서 자동으로 Blend를 설정해왔기 때문이다.Bone별로 레이어를 구분하거나 FullBody Slot을 이용해 재생할 것이다. 여러가지 정지하는 방법이 있겠지만 유용하게 사용할 수 있는 옵션이 있다. 애니메이션 몽타주에서 Auto Blend Out 기능을 비활성화 해주면 된다. 2023. 12. 28.
Unreal 게임이 실행중인지 에디터에서 편집중인지 확인하기 [Unreal/C++] 게임이 실행중인지 에디터에서 편집중인지 확인하기 Unreal 엔진에서 작업하다보면 현재 상태가 궁금한 적이 있을 것이다.실행중이 아닌데 Unreal Editor가 Fatal Error를 내며 꺼진다거나 Montage 실행 중 Notify에 의해 null을 만나 종료된 적도 있을 것이다. 이러한 현상은 언리얼 엔진의 실행 프로세스가 꽤나 복잡하기 때문이다.에디터에서는 실행중이 아니지만 엔진 내부에서 여러가지 프로세스가 실행된다.초기화는 물론 생성자, 애니메이션, Preview 등 여러가지 기능들을 계속 감시하고 있는데 Editor에서 실행중이 아님에도 에러가 나는 현상은 꽤나 번거롭다.매번 다시 키는 일도 쌓이면 한숨만 나오기 쉽다. 이러한 현상을 조금은 줄여줄 수 있는 방법이 있다.. 2023. 12. 28.
Unreal Editor Preview에서 Notify 실행 중지 방법 [Unreal/C++] Editor Preview에서 Notify 실행 중지 방법언리얼 엔진에서 Animation Montage를 작업하다보면 Notify를 반 필수적으로 사용하게 된다.AnimNotify나 AnimNotifyState를 사용하다 보면 에디터 프리뷰에서 실행시 에러가 나는 것을 쉽게 경험할 수 있다. 이는 단순하게 에디터상에서 플레이중인지 체크를 하면 된다.쉬운 예외처리 방법은 EWorldType의 Preview인지 확인하는 것이다. if (MeshComp->GetWorld()->WorldType == EWorldType::Type::EditorPreview) return;   EWorldType::TypeSpecifies the goal/source of a [UWorld](API\R.. 2023. 12. 28.
Unreal Widget Component TextBlock 사용하기 [Unreal/C++] Widget Component TextBlock 사용하기 Unreal Engine (UE) TextBlock Widget Change Text WidgetComponent 이 글에서는 언리얼 엔진에서 텍스트박스를 적 위에 두고 이름을 표시합니다.  먼저 위젯 블루프린트를 만들어 줍니다.SizeBox와 TextBlock를 차례로 추가합니다.SizeBox는 너비와 높이를 오버라이드 하여 크기를 설정해줍니다.TextBlock는 이름을 설정해 줍니다. 이 이름은 C++ 코드에서 변수의 이름으로 사용할 예정이기 때문에 변수 여부에 체크해주고 적절한 이름으로 정합니다.가운데 정렬을 해주고 필요시 컬러와 폰트 크기를 설정해줍니다.   클래스가 만들어지면 위젯 블루프린트에서 부모 클래스를 생성한.. 2023. 12. 28.
Unreal Pure virtual function being called [Unreal/C++] Pure virtual function being called virtual 함수가 실행되고 있습니다.먼저 이 정보는 온갖 구글링에서 해결 방법이 나오지 않았습니다.단순히 UE_LOG에서 Fatal 을 Warning으로 바꿔 경고로 바꾸는 것 정도의 기능은 할 수 있습니다. 엔진 내부에서 일어나는 버그이므로 해결되기 전까지 저장을 잘 하는 방법으로 사용해야 할 것 같습니다.Pure virtual function being called while application was running (GIsRunning == 1).Fatal error: [File:F:\UnrealEngine-5.0\Engine\Source\Runtime\Core\Private\Windows\WindowsPla.. 2023. 12. 28.
Unreal ApplyDamage, TakeDamage 데미지 전달 [Unreal/C++] ApplyDamage, TakeDamage 데미지 전달 Unreal Engine 5 언리얼 엔진에서 데미지를 주고 받는 기본적인 형식입니다. UGameplayStatics::ApplyDamage()AActor::TakeDamage() ApplyDamage를 사용하기 위해서 헤더파일을 필요로합니다.#include "Kismet/GameplayStatics.h"데미지를 가할 경우 보통 BeginOverlap 등 충돌과 연관되는 것이 많기에 BeginOverlap 안에 정의했습니다.void MyActor::OnBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* Othe.. 2023. 12. 27.
Unreal WidgetComponent가 활성화 되지 않음 [Unreal] WidgetComponent가 활성화 되지 않음 Unreal Engine5 WidgetComponent hide in Screen 언리얼 엔진에서 위젯 컴포넌트가 보이지 않는 현상EWidgetSpace::Screen 에서 보이지 않으며, World에서 위치가 업데이트 되지 않음EWidgetSpace::World에서는 보이지만 Screen 모드에서는 보이지 않는다. HPWidget = CreateDefaultSubobject(TEXT("HelthWidget")); HPWidget->SetupAttachment(GetMesh()); ConstructorHelpers::FClassFinder hpWidget(L"WidgetBlueprint'/Game/Enemies/Widgets/WB_Enemy.. 2023. 12. 27.
Unreal WidgetComponent ProgressBar 추가, 적 체력 UI [Unreal/C++] WidgetComponent ProgressBar 추가, 적 체력 UI 언리얼 엔진에서 Actor 위에 UI를 띄우고 싶은 경우 사용할 수 있는 컴포넌트입니다.아래 이미지와 같이 UI를 띄우려면 위젯 블루프린트를 생성하여 위젯 컴포넌트에 연결해야합니다.WidgetComponent를 추가하여 사용할 수 있습니다.위치를 조정하고 Space 모드를 Screen으로 설정해야 합니다.World는 3D UI를 보여줄 때 용이하고 Screen모드는 카메라를 정면으로 바라봐야할 때 유용합니다.위젯 클래스를 생성한 위젯 블루프린트로 설정해줄 수 있습니다.위젯 블루프린트를 생성하고 사이즈 박스와 ProgressBar를 차례로 생성합니다.SizeBox는 Width 와 Height를 Override하여.. 2023. 12. 27.
Unreal 몽타주 슬롯 변경시 애니메이션 재생 [Unreal] 몽타주 슬롯 변경시 애니메이션 재생 언리얼 엔진Animation Montage Slot Change애니메이션 몽타주 슬롯 변경시 애니메이션이 재생되지 않는 현상이 있습니다.이는 프리뷰 대상이 DefaultSlot으로 설정되어 있기 때문입니다. 슬롯 그룹이나 이름(UpperBody, FullBody 등)을 변경했을 때 프리뷰 슬롯 버튼을 한 번 더 눌러주면 재생이 됩니다.    Animation SlotsInsert entry-points within your Anim Graph to play animation from using Slots.docs.unrealengine.com 2023. 12. 21.
Unreal AnimMontage Slot 추가하기 [Unreal] AnimMontage Slot 추가하기 언리얼 엔진 5 애니메이션 슬롯 DefaultGroup.SlotName 추가 방법 애니메이션 스켈레톤에 저장된 애니메이션 슬롯 이름이 많은 애니메이션들이 있습니다. 하지만 에셋들 중 슬롯 이름이 없는 경우가 있는데, 이 슬롯은 추가가 가능합니다. 애니메이션 몽타주 화면에서 Window->Anim Slot Manager 슬롯 추가가 가능합니다.      Animation SlotsInsert entry-points within your Anim Graph to play animation from using Slots.docs.unrealengine.com 2023. 12. 21.
반응형