728x90
반응형
이번 포스트에서는 Player Input 컴포넌트를 통해 Input System을 사용하는 4가지 방법 중에서
두번째인 Broadcast Messages를 알아보겠습니다.
Broadcast Messages의 경우, 동작하는 방식이 Send Message와는 크게 차이가 없지만
수행하는 콜백 함수가 Player Input 컴포넌트를 가진 오브젝트가 아닌
Player Input 컴포넌트를 가진 오브젝트의 자식 오브젝트의 것이라는 차이가 있습니다.
즉, 정리하자면 Broadcast Messages 방식은
자식 오브젝트의 함수를 호출하는 것에서 Send Messages와 큰 차이가 존재합니다.
이제 예제를 통해 사용하는 방법을 알아 보도록 하겠습니다.
1) PlayerInput 컴포넌트 - Broadcast Messages
우선, 기존의 Input Asset에 Input Action을 추가하도록 하겠습니다.
사용하는 코드는 다음과 같습니다.
public class BroadcastMessages : MonoBehaviour
{
private void OnBroadcastExample()
{
Debug.Log($"{gameObject.transform.name} : OnBroadcastExmaple by Broadcast Messages");
}
}
이제 위의 코드를 컴포넌트로서 동작하도록 설정하겠습니다.
우선, Player Input 컴포넌트가 수식된 부모 오브젝트입니다.
다음으로 Player Input 컴포넌트를 가진 오브젝트의 자식 오브젝트입니다.
최종적으로 shift 키를 눌렀을 때의 실행 결과는 다음과 같습니다.
마지막으로 정리하면, 다음과 같이 정리할 수 있습니다.
Send Messages의 경우, Player Input Component가 부착된 오브젝트에서만 동작하지만,
Broadcast Messages의 경우, Player Input Component가 없는 오브젝트에서도 동작합니다.
728x90
반응형
'유니티 > 유니티 C#' 카테고리의 다른 글
유니티 입력 처리 심화 - (11) Player Input 컴포넌트 - Invoke C# Events (0) | 2025.01.05 |
---|---|
유니티 입력 처리 심화 - (10) Player Input 컴포넌트 - Invoke Unity Events (0) | 2025.01.04 |
유니티 입력 처리 심화 - (8) Player Input 컴포넌트 - Send Messages (0) | 2025.01.02 |
유니티 입력 처리 심화 - (7) Player Input 컴포넌트를 통한 입력 처리 (0) | 2025.01.01 |
유니티 입력 처리 심화 - (6) Action에 대한 추가적인 정보 (0) | 2024.12.26 |