Unreal Engine/C++

Interface 함수를 C++에서 구현할 때 해당 함수를 C++에서만 사용하는 방법과 블루프린트에서도 사용하는 방법 2가지로 만들 수 있다. C++ 에서만 사용할 경우 // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreEngine.h" #include "UObject/Interface.h" #include "Interface_Character.generated.h" UINTERFACE(MinimalAPI) class UInterface_Character : public UInterface { GENERATED_BODY() }; class PROJECTCE_API I..
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..
www.youtube.com/channel/UCTW417yEUiVHXtlI9XyFFIw
블루프린트에서 입력 파라미터와 출력 파라미터는 2개 이상 만들 수 있습니다. 블루프린트에서 만든 함수를 C++로 작성할 때 입력 파라미터는 2개 이상 만드는 것은 쉽지만 출력 파라미터. 즉, 반환값을 2개 이상으로 만들 때는 구조체를 이용해야 하나 싶었습니다. 그러나 반환하는 것 때문에 일일이 구조체를 만들기에는 효율성이 떨어지는것 같아 찾아보니 튜플이라는 자료형을 알게 되었습니다. 참고로 TTuple은 UObject 클래스가 아니기 때문에 UFUNCTION과 UPROPERTY를 사용할 수 없습니다. TTuple FixDiagonalGamepadValues(float ForwardAxis, float RightAxis) const; UFUNCTION(BlueprintCallable, Category = ..
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[] ..
블랙보드와 비헤이비어 트리 애셋을 AIController가 사용하기 위해선 Build.cs 파일에 AIModule 모듈을 추가해야합니다. // 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[] { "Core", "CoreUObject", "Engine", "InputCore",..
Unreal Engine4 C++에서 내비게이션을 사용하기 위해서는 프로젝트의 Build.cs 파일에 NavigationSystem 모듈을 추가하고 사용할 구현부에 NavigationSystem.g 헤더파일을 추가로 선언해야합니다. // 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 str..
한돌이
'Unreal Engine/C++' 카테고리의 글 목록 (4 Page)