언리얼 엔진/C++

언리얼 엔진/C++

[언리얼엔진] C++ TEnumAsByte<EPhysicalSurface> 사용할 때 확인할 것

문제점 - 아래와 비슷하게 컴파일이 실패할 경우 "__declspec(dllimport) class UEnum * __cdecl Z_Construct_UEnum_PhysicsCore_EPhysicalSurface(void)" (__imp_?Z_Construct_UEnum_PhysicsCore_EPhysicalSurface@@YAPEAVUEnum@@XZ)"void __cdecl `dynamic initializer for 'public: static struct UECodeGen_Private::FBytePropertyParams const Z_Construct_UScriptStruct_FFootStepProperty_Statics::NewProp_SurfaceType''(void)" (??__E?NewP..

언리얼 엔진/C++

[언리얼엔진] C++ 현재 맵 이름 가져오기

설명 언리얼엔진에서 C++ 코드를 통해서 현재 맵 이름을 가져오는 방법이다. StreamingLevelPrefix 를 통해서 에디터에서 플레이할 때 나오는 'UEDPIE_Num_' 을 제거해준다. 코드 FString LevelName = GetWorld()->GetMapName(); LevelName.RemoveFromStart(GetWorld()->StreamingLevelPrefix);

언리얼 엔진/C++

[언리얼엔진] TArray 와 TSet 의 장단점

언리얼엔진의 TArray 와 TSet 장단점에 대한 글입니다. 우선 언리얼 엔진에서 TArray 와 TSet 은 모두 요소 컬렉션을 저장하는 데 사용되는 데이터 구조입니다. 아래는 TArray 와 TSet 에 대한 설명글입니다. TArray 란? TArray 는 인접한 메모리 위치에 요소를 저장하는 동적 배열입니다. 장점 더 빠른 반복 및 인덱스 기반 액세스를 제공합니다. 중복을 허용합니다. 즉, 동일한 요소를 여러 번 저장할 수 있습니다. 요소 정렬, 검색 및 조작을 위한 다양한 기능이 있습니다. 요소를 인덱스로 자주 접근해야 하는 경우나 중복이 필요한 경우에 적합합니다. 단점 인접한 메모리를 유지하기 위해 요소를 이동해야 하는 경우 요소 삽입 또는 제거가 느려질 수 있습니다. 요소 검색은 모든 요소를..

언리얼 엔진/C++

언리얼엔진 C++ 에디터 뷰포트에서 월드에 있는 액터 Focus

.h static void FocusActor(AActor* Actor) .cpp UWorld* World = GEditor->GetEditorWorldContext().World()->GetWorld(); if(World) { if(!Actor->IsSelectedInEditor()) { GEditor->GetSelectedActors()->DeselectAll(); GEditor->SelectActor(Actor, true, false); GEditor->Exec(World, TEXT("Camera Align")); } } .Bulid.cs // "LevelEditor", "UnrealEd" 추가

언리얼 엔진/C++

언리얼엔진 C++ Thread 만들기 (FRunnable)

언리얼엔진에서 Thread 를 만드는 방법은 여러 가지 있는 걸로 알고 있다. 해당 글은 FRunnable 을 이용한 Thread 생성 방법을 설명한다. 참고사이트 :UE5 Multithreading With FRunnable And Thread Workflow – Unreal C++ API [ FRunnable ] class CORE_API FRunnable { public: virtual void Init(); virtual uint32 Run = 0; virtual void Exit() {} virtual void Stop() {} virtual ~FRunnable() {} } Init() Game Thread 에서 실행된다. - Blocking Thread 초기화 및 생성자이다. false 를 반..

언리얼 엔진/C++

언리얼엔진 C++ Enum to String(static template)

문제점 Enum을 String으로 바꿀 때마다 새로 함수를 작성하고 새로운 enum을 파라미터로 생성해야 하기 때문에 쓸 때마다 코드가 늘어난다. 해결 static template function을 만들어서 헤더만 추가하면 쓸 수 있도록 한다. 추가 typeid.name()을 하면 'enum EnumValue'으로 만들어지기 때문에 RemoveFromStart()를 이용하여 'enum '을 잘라준다. enum은 BlueprintType 이여야 한다. 코드 template static FString GetEnumDisplayNameToString(T EnumValue) { FString EnumString = FString::Printf(TEXT("%hs"),typeid(T).name()); EnumStr..

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