메시지
오브젝트는 메시지를 주고받아 상호작용하는 경험을 만들 수 있습니다.
Last updated
오브젝트는 메시지를 주고받아 상호작용하는 경험을 만들 수 있습니다.
Last updated
메시지는 액션이 발생했음을 알리는 데 이용됩니다. 경험 내 다른 오브젝트들이 이러한 메시지를 받아 해당 오브젝트에 포함된 비헤이비어와 컴포넌트에 따라 특정 결과가 나타납니다.
로직이 액션에서 결과로 이어지는 절차의 집합이라 본다면, 트리거는 로직을 시작하는 초기 액션, 태그는 액션에 포함된 오브젝트를 식별하는 도구, 메시지는 액션을 결과와 연결짓는 매개체라 할 수 있습니다. 마치 스위치로부터 전류가 흘러 전등에 빛이 들어오도록 하는 것과 같은 원리죠.
메시지는 한 곳에서 다른 곳으로 신호를 운반하여 트리거가 발생했음을 확인하고 결과를 도출하도록 합니다.
메시지 시스템은 보기보다 어렵지 않습니다. 한 번 이해하고 나면 경험에 한 층 더 깊이를 더해줄 것입니다.
일부 비헤이비어와 컴포넌트는 하나 이상의 메시지를 '전송'할 수 있습니다 (보통 이를 'Broadcasters(브로드캐스터)'라 합니다).
일부 비헤이비어와 컴포넌트는 하나 이상의 메시지 수신을 대기합니다 (보통 이를 'Listeners(리스너)'라 합니다).
일부 비헤이비어와 컴포넌트는 다른 컴포넌트와 비헤이비어와 함께 작동하는 사전 정의된 특정 메시지를 이용합니다. 즉, 언제든 이러한 프리셋 메시지를 내가 원하는 대로 수정할 수 있다는 의미입니다.
예를 들어 'Interact (상호작용)' 메시지가 있습니다. 이는 오브젝트와 상호작용하기 위해 E 키를 눌렀을 때 아바타가 전송하는 기본 메시지입니다.
'Interact'는 플레이어가 E 키를 누를 때 '전송'되며, 기본적으로 일부 비헤이비어와 컴포넌트가 수신할 메시지로 이미 설정되어 있습니다.
버튼, 문 비헤이비어와 스피커 컴포넌트는 'Interact' 메시지를 '듣기' 위해 'Message Required (메시지 필요)' 파라미터가 사전 설정되어 있습니다.
Door(문) 비헤이비어를 살펴보면, 몇 번의 클릭만으로 내 경험에 상호작용적으로 작동하는 문을 설치할 수 있습니다. 연관 오브젝트에서 E 키를 누르면 아바타가 액션을 트리거하여 'Interact' 메시지를 전송하고 Door 비헤이비어 파라미터가 'Message Required (메시지 필요)' 메시지를 수신한 다음 문이 열리는 애니메이션이 플레이됩니다.
기본 메시지를 사용하고 싶지 않다면, 내가 원하는대로 메시지를 커스텀할 수 있습니다.
메시지 생성에는 두 가지 옵션이 있습니다. 두 가지 옵션 모두 변경할 비헤이비어 또는 컴포넌트 메시지 파라미터를 살펴보아야 합니다. 여기에서 'ADD +'를 클릭하여 새 메시지를 추가하거나, 이미 설정된 메시지를 덮어쓰고 싶다면 현재 메시키를 클릭합니다.
두 가지 경우 모두 사용 가능한 기존 메시지의 드롭 다운 메뉴가 표시되나 이를 클릭하지 말고 필드에 메시지를 입력합니다. 그러면 'ADD + 입력한 텍스트'라는 초록색 옵션이 나타나게 됩니다. 이를 클릭하면 필수 메시지로 설정됩니다.
기존 메시지를 이용하려면 관련 컴포넌트나 비헤이비어로 이동하여 'Message Required'에 입력된 내용을 찾아 사용할 메시지의 이름을 입력합니다. 목록에는 기존의 모든 관련 메시지가 포함되어 있습니다. 그런 다음 원하는 내용과 가장 잘 맞는 옵션을 선택합니다.
이 섹션에서는 두 가지 유형의 메시지 삭제에 대해 살펴보겠습니다. 하나는 오브젝트에서, 다른 하나는 게임 메이커 전체에서 삭제하는 방법입니다.
비헤이비어 또는 컴포넌트에서 메시지를 삭제하기 위해서는 관련 메시지의 오른편에 표시된 'X' 마크를 클릭합니다. 그러면 특정 오브젝트에서 메시지가 삭제됩니다.
특정 메시지를 사용 중인 메시지 목록에서 삭제하려는 경우, 메시지가 '사용 중'인 것으로 감지되지 않으면 자동으로 삭제되는 것을 확인할 수 있습니다.
즉, 수동으로 목록에서 메시지를 삭제할 수 없으며 경험에서 사용하지 않으면 자동으로 삭제된다는 의미입니다. 컴포넌트 또는 비헤이비어 파라미터에서 전송되거나 수신된 메시지로 나타나지 않으면 메시지는 목록에 포함되어 있지 않습니다.
기본적으로 메시지를 'none (해당 없음)'으로 설정하는 것은 메시지를 비워두는 것과 같지 않습니다.
이제 게임 메이커에서 몇 가지 비헤이비어와 컴포넌트를 적용하고 서로 '대화를 나누게' 하여 메시지를 이용해 보세요.