Unreal Engine

C++에서 참조 인자를 가진 함수를 만들어 블루프린트에서 해당 함수를 호출을 하게 되면 다음과 같이 인자의 입력이 아닌 출력을 하는 함수가 만들어진다. UFUNCTION(BlueprintCallable, Category = "Category") void FunctionNameRef(float& ParameterFloat); C++ 함수에서 참조 인자를 받아 함수를 실행한 후 참조 인자를 블루프린트에서 활용을 하겠다면 문제가 없다. 하지만 블루프린트에서 함수를 호출하고 참조 인자를 입력할 때는 문제가 생긴다. 이 때 참조 인자를 const로 받게 되면 문제는 해결된다. UFUNCTION(BlueprintCallable, Category = "Category") void FunctionNameConst(co..
UENUM(BlueprintType) enum EEnumName { EnumName_ZeroUMETA(DisplayName = "Zero"), EnumName_OneUMETA(DisplayName = "One"), EnumName_TwoUMETA(DisplayName = "Two") }; USTRUCT(Atomic, BlueprintType) struct FStructName { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "USTRUCT") TEnumAsByte EnumName; }; 사용하려는 Enum에 TEnumAsByte를 사용합니다. 혹은 enum 뒤에 uint8을 추가합니다. UENUM(Bluep..
블루프린트에서 사용하는 Delay 노드를 C++에서 SetTimer를 활용하여 구현하겠습니다. SetTimer를 활용하여 Delay를 구현하는 2 가지 방법이 있습니다. Lambda를 사용하는 방법과 딜레이 후 함수를 호출하는 방법입니다. 1. Lambda 사용 float DelayTime;// 딜레이 시간 FTimerHandle TimerHandle; GetWorld()->GetTimerManager().SetTimer(TimerHandle, FTimerDelegate::CreateLambda([&]() { // 딜레이 후 동작 구현 }), DelayTime, false); 2. 딜레이 후 함수 호출 - 함수에 매개변수가 있는 경우 float DelayTime;// 딜레이 시간 FTimerHandle ..
UFUNCTION(BlueprintCallable, Category = "PRMovementSystem|DistanceMatching") bool PredictStopLocation(FVector& OutStopLocation, const FVector& CurrentLocation, const FVector& Velocity, const FVector& Acceleration, float Friction, float BrakingDeceleration, const float TimeStep, const int MaxSimulationIterations = 100); 위의 함수는 MovementSystem이라는 ActorComponent에 구현된 static을 사용하지 않은 일반 함수입니다. 일반 함수를..
https://midason.tistory.com/423
입력 장치가 키보드/마우스인지 게임패드인지 구분하는 기능을 구현하겠습니다. 블루프린트로는 매우 간단하게 구현할 수 있습니다만 코드로도 구현하겠습니다. /** * 입력 장치를 나타내는 열거형입니다. */ UENUM(BlueprintType) enum class EPRInputDevice : uint8 { InputDevice_KeyboardMouseUMETA(DisplayName = "KeyboardMouse"), InputDevice_GamepadUMETA(DisplayName = "Gamepad") }; 입력 장치를 구분하는 열거형 변수를 만듭니다. 이 부분은 블루프린트 변수로 만들어도 됩니다. 또는 bool 형으로 '입력장치가 게임패드인지 아닌지'로 만들어도 됩니다. 블루프린트 블루프린트는 플레이어 ..
ESlateVisibility 공용체의 Enumerator로 Visible, Collapsed, Hidden, HitTestInvisible, SelfHitTestInvisible 로 5가지가 있다. 각각의 차이점을 정리하자면, * Visibile : 기본적으로 화면에 보이면서 마우스 클릭(터치) 등의 인터랙션 발생. 이 때, 해당 레이어 밖에서의 인터랙션은 통하지 않음. (예 : 인벤토리 패널, 우편함 패널 등 화면 전체를 가리는 레이어를 쓸 때) * Collapsed : 화면에 보이지 않게 하면서 공간을 차지하지 않게 하고 싶을 때 사용 (보이지 않을 때 공간을 차지하면 어색한 위젯에 사용) * Hidden : 화면에 보이지 않지만 공간은 차지하는 경우 (공간 차지해도 상관 없는 경우 사용) * Hi..
한돌이
'Unreal Engine' 카테고리의 글 목록 (3 Page)