Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- winapi
- UnrealEngine5
- 1563
- softeer
- C
- Unreal Engine5
- directx
- 줄 세우기
- RVO
- Programmers
- 언리얼엔진5
- 2294
- UE5
- algorithm
- 티스토리챌린지
- RootMotion
- GeeksForGeeks
- NRVO
- 프로그래머스
- 백준
- UnrealEngine4
- TObjectPtr
- 팰린드롬 만들기
- Frustum
- IFileDialog
- baekjoon
- const
- DirectX11
- 오블완
- C++
Archives
- Today
- Total
Game Develop
[UE5] EnhancedInput에서 BindAction할 때 추가 매개변수 넘기기 가능하다. 본문
Enhanced Input을 이용해서 키입력을 받는것을 C++로 구현하면, 아래와 같이 BindAction을 호출 할 것이다.
EIC->BindAction(m_InAir_InputActions["NormalAttack_InAir"], ETriggerEvent::Triggered, skillComponent, &UMainPlayerSkillComponent::NormalAttack_InAir);
보통은 저렇게 매개변수가 없는 함수를 바인딩을 하고, 그렇게 해야되는줄만 알고있지만 사실 매개변수있는 함수도 바인딩이 가능하다.
다만, 모든 매개변수는 아니고 POD타입의 데이터만 매개변수로 가능하다.
여기서 POD란 Plain Old Data의 약자인데 쉽게 말하자면 단순한 데이터타입을 의미하고, 좀 더 정확히 말하면 비트수준의 연산이 가능한 bool이나 int형 따위를 의미한다.
그러니 만약 ActivateStrikeAttack이라는 int형을 매개변수로 가지는 함수가 있고, 이걸 바인딩하고싶으면 아래처럼 하면 된다.
EIC->BindAction(m_OnGround_InputActions["SetModifierKeyInput_StrikeAttack"], ETriggerEvent::Started, skillComponent, &UMainPlayerSkillComponent::ActivateStrikeAttack, 3);
나같은경우는 FName을 넘기고싶었는데... 이건 내부적으로 복잡한 언리얼의 데이터타입이기때문에 컴파일이 안됐다...
스킬 하나하나마다 일일이 함수만들고 바인딩하기 싫어서 어떻게든 우회하려했건만 쉽지않다.
그리고 참고로 원시타입인 int, bool 넘기기는 되는데 uint8같은 typedef로 사용자가 임의로설정한 값들은 안된다.
'UnrealEngine5 > 이것저것' 카테고리의 다른 글
[UE5] 로우포인터대신 TObjectPtr을 써야하는 이유? (0) | 2025.04.02 |
---|---|
[UE5] 몬스터 이동에 블렌드스페이스 + 행동트리 MoveTo 사용할 때 주의할 점. (0) | 2025.01.16 |
[UE5] USTRUCT를 Value로 하는 TMap을 사용할 때 주의할 점 (1) | 2024.12.02 |
[UE5] TObjectPtr은 강참조 아니다 (0) | 2024.11.18 |
[UE5] 월드방향벡터를 캐릭터의 로컬방향벡터로 변환시키고 어떤 방향인지 알아내기 (0) | 2024.11.08 |