GetOwner() 같은 함수로 액터를 받아올 경우 해당 액터의 클래스 타입이 무엇인지 확인하는 방법으로 2가지 방법이 있다. OnwerPCECharacter = GetOwner(); if (OwnerPCECharacter->IsA(APCEPlayerCharacter::StaticClass())) { OwnerType = EOwnerType::OwnerType_Player; } else if (OwnerPCECharacter->IsA(APCEEnemyCharacter::StaticClass())) { OwnerType = EOwnerType::OwnerType_Enemy; } else { return; } IsA() 함수를 사용한 방법과 OwnerPCECharacter = GetOwner(); if (O..
전체 글
GameProgramer 취업준비 중 onestone3647@gmail.com애니메이션 블루프린트의 트랜지션 룰을 설정할 때 위와 같이 ThreadSafe 관련 경고가 뜬다면 아래와 같이 해결하면 됩니다. 해당 값을 애니메이션 블루프린트 내에서 변수로 저장하여 사용하면 됩니다.
www.youtube.com/channel/UCTW417yEUiVHXtlI9XyFFIw
블루프린트에서 입력 파라미터와 출력 파라미터는 2개 이상 만들 수 있습니다. 블루프린트에서 만든 함수를 C++로 작성할 때 입력 파라미터는 2개 이상 만드는 것은 쉽지만 출력 파라미터. 즉, 반환값을 2개 이상으로 만들 때는 구조체를 이용해야 하나 싶었습니다. 그러나 반환하는 것 때문에 일일이 구조체를 만들기에는 효율성이 떨어지는것 같아 찾아보니 튜플이라는 자료형을 알게 되었습니다. 참고로 TTuple은 UObject 클래스가 아니기 때문에 UFUNCTION과 UPROPERTY를 사용할 수 없습니다. TTuple FixDiagonalGamepadValues(float ForwardAxis, float RightAxis) const; UFUNCTION(BlueprintCallable, Category = ..
위젯을 SetFocus 함수로 Focus를 잡을 때 Delay를 최소 0.02정도를 주지 않으면 작동하지 않을때가 있습니다.
UCLASS() class PROJECTCE_API UMenuWidgetBase : public UUserWidget { GENERATED_BODY() public: UMenuWidgetBase(); }; UMenuWidgetBase::UMenuWidgetBase() { } 평소에 생성자를 정의할 때 위의 코드처럼 정의할 것이다. 그러나 UserWidget을 C++로 구현 할때 위의 코드처럼 생성자를 정의하면 UUserWidget의 기본 생성자가 없다고 오류를 나타낸다. 이 오류를 해결하기 위해서 다음과 같이 정의하면 된다. UCLASS() class PROJECTCE_API UMenuWidgetBase : public UUserWidget { GENERATED_BODY() public: UMenuWid..
BTTaskNode를 부모 클래스로 하는 C++ 클래스를 생성할 때 컴파일하면 에러가 발생합니다. 이 때 관련된 모듈을 참조할 수 있도록 프로젝트명의 Build.cs 파일에 GameplayTasks 모듈을 추가해야합니다. // Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class ProjectAI : ModuleRules { public ProjectAI(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string[] ..