언리얼 엔진/C++

언리얼 엔진/C++

언리얼엔진 C++ Enum DisplayName 받아오는 법

.h FString GetEnumDisplayNameToString(ETestEnum EnumValue) const; .cpp FString Test::GetEnumDisplayNameToString(ETestEnum EnumValue) const { const UEnum* EnumPtr = FindObject(ANY_PACKAGE, TEXT("ETestEnum"), true); if (EnumPtr == nullptr) { return FString("Invalid"); } return EnumPtr->GetDisplayNameTextByIndex(static_cast(EnumValue)).ToString(); }

언리얼 엔진/C++

언리얼엔진 C++ Enum Blackboard에서 사용하는 법

https://forums.unrealengine.com/t/can-i-use-the-c-enum-in-ai-bt-blackboard/339672 Can I use the C++ Enum in AI BT Blackboard? I have an ENUM definded in C++'s code and it’s usable in Blueprints UENUM(BlueprintType) enum class NPCState : uint8{ Patrolling UMETA(DisplayName = "Patrolling"), Alerted UMETA(DisplayName = "Alerted"), }; I am able to use it in blueprints with no probl forums.unrealengi..

언리얼 엔진/C++

언리얼엔진 C++ UClass

UClass에 대해 자세히 설명시 별도의 문서 작성 수준이기에, 일단 간단히 설명해 보면 다음과 같다. 헤더 파일에 UObject를 적법하게 선언하면 UHT(Unreal Header Tool)가 헤더 파일을 분석하는 과정이 진행되며, 이 과정이 완료되면 Intermediate 폴더에 UObject의 정보를 담은 메타 파일이 생성된다. 이 메타 정보는 UClass 라는 특별한 클래스를 통해 보관되며, UObject의 다음의 정보들을 모두 기록하고 있다. 클래스 계층 구조 정보 멤버 변수 멤버 함수 이를 통해, 언리얼 엔진은 C++ 언어 자체가 지원하지 못하는 Reflection을 지원할 수 있다. 컴파일 단계에서는 개별 UObject의 UClass가 생성(Not instance, just declarati..

언리얼 엔진/C++

언리얼엔진 C++ 가비지컬렉션

프로그래밍을 하다 보면 동적으로 할당해준 메모리에 대한 관리를 계속해서 해줘야 한다. 우리의 컴퓨터는 일정한 메모리를 갖고 있고, 정해진 메모리를 초과하게 되면 동작하는 프로그램이 정상적으로 작동하지 않을 수가 있기 때문이다. 메모리 관리에 도움 되는 기법 중 하나로 가비지 컬렉터(grabage Collection)가 있고, 해당 기법은 프로그램이 동적으로 할당했던 메모리 영역 중에 필요 없게 된 영역을 해제하는 기능이다. 가비지 컬렉션의 장점과 단점 다음과 같은 버그를 줄이거나 막을 수 있다. 장점 1. 유효하지 않은 포인터 접근을 방지한다. 2. 이중 해제로 이미 해제된 메모리를 또다시 해제하려고 하면 문제가 생길 수도 있다. 3. 메모리 누수로 더 이상 필요하지 않은 메모가 해제되지 않고 남아 있게..

언리얼 엔진/C++

언리얼엔진 C++ 반환 값이 2개 이상일 경우에 사용하는 TTuple

블루프린트에서 입력 파라미터와 출력 파라미터는 2개 이상 만들 수 있습니다. 블루프린트에서 만든 함수를 C++로 작성할 때 입력 파라미터는 2개 이상 만드는 것은 쉽지만 출력 파라미터. 즉, 반환값을 2개 이상으로 만들 때는 구조체를 이용해야 하나 싶었습니다. 그러나 반환하는 것 때문에 일일이 구조체를 만들기에는 효율성이 떨어지는것 같아 찾아보니 튜플이라는 자료형을 알게 되었습니다. 참고로 TTuple은 UObject 클래스가 아니기 때문에 UFUNCTION과 UPROPERTY를 사용할 수 없습니다. TTuple FixDiagonalGamepadValues(float ForwardAxis, float RightAxis) const; UFUNCTION(BlueprintCallable, Category = ..

언리얼 엔진/C++

언리얼엔진 C++ Foot IK

언리얼엔진 C++ Foot IK 입니다. 애님인스턴스에 작성 후 애님블루프린트에서 사진처럼 설정해주시면 됩니다. DeltaTime(Tick)이 작동하는 함수에 넣어주시면 됩니다. (단, 기본 마네킹 스켈레탈메시와 크기, 본이 같을 경우 정상 작동합니다.) Unreal Engine C++ IK. You can fill it out on AnimInstance and set it up like a picture in AnimBlueprint. And You can put it in the function that Delta Time (Tick) works. (However, if the size is the same as the basic mannequin skeleton mesh, it works norm..

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