728x90
1. Input Config Data Asset의 필요성
Input Config Data Asset은 입력 태그와 입력 액션 간의 매핑을 정의하는 역할을 합니다. 이를 통해 입력 태그를 코드와 에디터에서 효율적으로 사용할 수 있습니다.
2. Input Config Data Asset 생성
1) 데이터 자산 클래스 생성
- C++ 클래스 생성
- C++ 클래스 → All Classes → Data Asset 검색 후 선택
- 클래스 이름: Data_InputConfig
- 프로젝트 구조 관리를 위해 Datasets/Input 폴더를 생성하고 해당 폴더에 클래스를 저장합니다.
- 헤더 파일 수정
// Data_InputConfig.h
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "GameplayTagContainer.h"
#include "Data\_InputConfig.generated.h"
USTRUCT(BlueprintType)
struct FWarriorInputActionConfig
{
GENERATED_BODY()
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Input")
FGameplayTag InputTag;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Input")
TObjectPtr InputAction;
};
UCLASS(BlueprintType, Blueprintable)
class YOURPROJECT_API UData_InputConfig : public UDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Input")
TObjectPtr DefaultMappingContext;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Input")
TArray NativeInputActions;
const UInputAction* FindNativeInputActionByTag(const FGameplayTag& InputTag) const;
};
- CPP 파일 작성
// Data_InputConfig.cpp
#include "Data_InputConfig.h"
#include "InputAction.h"
const UInputAction* UData_InputConfig::FindNativeInputActionByTag(const FGameplayTag& InputTag) const
{
for (const FWarriorInputActionConfig& ActionConfig : NativeInputActions)
{
if (ActionConfig.InputTag == InputTag && ActionConfig.InputAction)
{
return ActionConfig.InputAction;
}
}
return nullptr;
}
- 모듈 추가
Build.cs 파일에 필요한 모듈 추가PublicDependencyModuleNames.AddRange(new string[] { "GameplayTags", "EnhancedInput" });
3. DataAsset 생성 및 설정
- 에디터에서 데이터 자산 생성
- 우클릭 → Miscellaneous → Data Asset
- Data_InputConfig를 선택하여 생성
- 생성한 Data Asset 이름: DA_InputConfig
- 기본 매핑 컨텍스트 설정
- 프로젝트에 기본 제공되는 Default Input Mapping Context를 사용하거나 새로 생성
- 이동과 시점을 담당하는 Move, Look 입력 액션을 설정
- 입력 태그와 액션 매핑
- NativeInputActions 배열에 새로운 요소 추가
- 입력 태그와 입력 액션을 각각 설정:
- InputTag.Move → IA_Move
- InputTag.Look → IA_Look
4. 결론
이번 글에서는 Input Config Data Asset 생성 및 설정 방법을 단계별로 알아보았습니다. 이 Data Asset은 입력 태그와 입력 액션을 연결해 대규모 프로젝트에서도 입력 시스템을 효율적으로 관리할 수 있도록 돕습니다. 다음 글에서는 Custom Input Component를 생성하고 입력을 바인딩하는 방법을 다룰 예정입니다.
728x90
'Unreal Engine' 카테고리의 다른 글
Lyra Gameplay Ability System & Enhanced Input 4 (0) | 2024.11.15 |
---|---|
Lyra Gameplay Ability System & Enhanced Input 3 (0) | 2024.11.14 |
Lyra Gameplay Ability System & Enhanced Input 1 (0) | 2024.11.13 |
언리얼 프로젝트 빌드 구성 (0) | 2020.12.12 |
ERROR: UnrealBuildTool Exception: Windows SDK v8.1 must be installed in order to build this target. (0) | 2020.12.11 |