언리얼 엔진/C++

언리얼 엔진/C++

[언리얼엔진/C++] FVector::Parallel (두 벡터가 평행한지 여부 확인)

FVector::Parallel 함수 사용법언리얼 엔진(UE4)의 FVector 클래스는 3D 벡터를 다루기 위한 다양한 기능을 제공합니다. 그 중 FVector::Parallel 함수는 두 벡터가 평행한지 여부를 확인하는 데 사용됩니다.함수 정의static bool Parallel(const FVector& Normal1, const FVector& Normal2, float ParallelCosineThreshold = THRESH_NORMALS_ARE_PARALLEL);// #define UE_THRESH_NORMALS_ARE_PARALLEL (0.999845f) /* Two unit vectors are parallel if abs(A dot B) is greater th..

언리얼 엔진/C++

[언리얼엔진/UE] 프로그램 인스턴스 체크

인사말 안녕하세요. 이번 포스트에서는 언리얼엔진에서 패키징한 프로그램(.exe)가 윈도우상에서 1개만 존재하는지 체크하고 2개 이상의 프로그램이 중복으로 실행되지 않도록 하는 것에 대해 작성하겠습니다. 사용법 아래의 코드를 참고해서 GameInstace 의 초기화 부분에 함수 또는 코드블럭을 작성해서 넣어주면 게임(프로그램)이 실행될 때 인스턴스를 체크해서 프로그램이 1개만 실행되도록 합니다. 코드 const UGeneralProjectSettings& ProjectSettings = *GetDefault(); const FString LockFilePath = FPlatformProcess::UserTempDir() + ProjectSettings.ProjectID.ToString(); if (!IFi..

언리얼 엔진/C++

[언리얼엔진] Editor Subsystem

Unreal Engine 에서 Editor Subsystem 사용하기 Unreal Engine 에서는 다양한 시스템과 기능을 통해 게임 개발의 효율성을 높일 수 있습니다. 그중 하나인 Editor Subsystem은 Unreal Engine 에디터 내에서 커스텀 기능을 구현하고 관리할 때 유용한 도구입니다. 이 글에서는 Unreal Engine 5 프로젝트에서 Editor Subsystem을 사용하기 위해 필요한 설정 방법을 설명합니다. Editor Subsystem이란? Editor Subsystem은 Unreal Engine 에디터에서 작동하는 서브시스템으로, 개발자가 에디터 내에서 커스텀 기능을 쉽게 추가하고 관리할 수 있게 해줍니다. 예를 들어, 자주 사용하는 작업을 자동화하거나, 에디터의 UI를..

언리얼 엔진/C++

[언리얼엔진 5] C++ Camera Shake 사용법

언리얼엔진 5 C++ Camera Shake 사용법 1. Build.cs 추가 Build.cs 에 "GameplayCameras" 를 추가한다. 2. ULegacyCameraShake 사용 UE4 에서 사용중이던 MatineeCameraShake 가 ULegacyCameraShake 로 변경 그에 따라 클래스만 다르게 기존 CameraShake 를 이용하던 방식대로 해주면 된다. https://docs.unrealengine.com/5.3/en-US/API/Plugins/GameplayCameras/ULegacyCameraShake/ 3. 예제 코드 if(APlayerController* PC = UGameplayStatics::GetPlayerController(GetWorld(),0)) { if(Fi..

언리얼 엔진/C++

[언리얼엔진] C++ 에디터 툴바 버튼으로 에디터 유틸리티 위젯 블루프린트 열기

목표 - 언리얼엔진 C++ 코드를 이용해서 에디터 툴바 버튼을 이용한 에디터 유틸리티 위젯 블루프린트 열기 방법 - C++ 코드로 만들어진 에디터 툴바 버튼의 클릭 이벤트 함수 내에 구현한다. - Path 는 에디터상에 있는 에디터 위젯 블루프린트의 레퍼런스 주소를 넣어준다. 코드 const FString Path(TEXT("Reference Path")); if(UObject* Blueprint = UEditorAssetLibrary::LoadAsset(Path); IsValid(Blueprint)) { if (UEditorUtilityWidgetBlueprint* EditorWidget = Cast(Blueprint); IsValid(EditorWidget)) { UEditorUtilitySubsys..

언리얼 엔진/C++

[언리얼엔진] C++ 커스텀 구조체를 데이터테이블에서 사용하기

커스텀 구조체를 에디터상에서 데이터테이블로 만들기 - 예시 코드 #include "Engine/DataTable.h" /** 레벨 업 표 항목을 정의하는 구조체 */ USTRUCT(BlueprintType) struct FLevelUpData : public FTableRowBase { GENERATED_USTRUCT_BODY() public: FLevelUpData() : XPtoLvl(0) , AdditionalHP(0) {} /** 'Name' 열은 XP Level 과 같습니다. */ /** 이전 레벨에서 해당 레벨로 가기 위해 필요한 XP 입니다. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp) int32 XPtoLvl; /** ..

mane
'언리얼 엔진/C++' 카테고리의 글 목록