
InputActionAsset은 Unity의 새로운 입력 시스템에서 사용되는 클래스로, 여러 InputAction을 그룹화하는 데 사용된다.
public InputActionAsset actionAsset;
private InputAction spaceAction;
void Start()
{
// actionAsset에서 Space 액션을 찾고 활성화합니다.
spaceAction = actionAsset.FindAction("Space");
}
actionAsset.FindAction("Space") 코드는 InputActionAsset에서 "Space"라는 이름의 InputAction을 찾는다.
그러나 이 코드만으로는 InputAction이 활성화 되지 않는다. InputAction을 활성화하려면 Enable 메서드를 호출해야 한다.
void Start()
{
// actionAsset에서 Space 액션을 찾고 활성화합니다.
spaceAction = actionAsset.FindAction("Space");
if (spaceAction != null)
{
spaceAction.Enable();
}
}
InputAction의 ApplyBindingOverride 메서드를 사용하여 기존 바인딩을 새 키로 재바인딩 할 수 있다. 이 메서드에는 바인딩의 ID와 새로운 바인딩을 나타내는 문자열이 인수로 필요하다.
아래와 같은 코드로 Space 키의 바인딩을 Escape 키로 재바인딩 할 수 있다.
public void RebindSpaceToEscape()
{
if (spaceAction == null)
return;
// 기존 바인딩을 비활성화하고 새 키로 재바인딩
spaceAction.ApplyBindingOverride("<Keyboard>/escape");
}