Unity 플러그인
ProtoPie Connect를 사용하면 사용자는 커스텀 레이어 연동을 통해 Unity 레이어를 임베드할 수 있습니다. ProtoPie Unity 패키지는 ProtoPie와 Unity 레이어 간에 메시지를 주고받을 수 있도록 지원하는 Unity 플러그인으로, 두 플랫폼 간의 통합된 인터랙션을 가능하게 합니다.
이 Unity 플러그인은 무료로 다운로드하고 설치할 수 있습니다. 그러나 플러그인을 통해 Unity 인터랙티브 기능을 추가하는 것은 Connect Enterprise 사용자에게만 독점적으로 제공됩니다.
여기에서 ProtoPie Connect Unity 플러그인을 다운로드하려면 클릭하세요.
Unity와 ProtoPie 연동 워크플로우
ProtoPie와 Unity 간의 통합 인터랙션 프로토타입을 제작하려면 다음 워크플로우를 권장합니다.
Unity와의 통신에 사용할 메시지 세트(매핑 테이블)를 정의합니다. Pie는 보내기(Send)/받기(Receive) 기능을 통해 메시지를 사용하여 Unity와 인터랙션합니다.
ProtoPie에서 보내기(Send) 반응의 메시지는 Unity에서 이벤트를 트리거합니다. Unity가 ProtoPie로 메시지를 보낼 때, 받기(Receive) 트리거의 메시지는 ProtoPie에서 적절한 반응을 식별하는 식별자 역할을 합니다.
Unity 프로젝트용 Unity 플러그인을 설치합니다.
ProtoPie 메시지와 Unity 이벤트 간의 매핑을 정의합니다.
함께 테스트할 준비가 되면, Unity 씬을 WebGL 빌드로 내보내고 빌드 파일을 ProtoPie Connect의 Unity 레이어에 소스 파일로 추가합니다.
원하는 레이아웃에 따라 ProtoPie 및 Unity 레이어를 배치하고, ProtoPie Connect의 Stage View에서 인터랙션을 함께 테스트합니다.
Unity 플러그인 개요
이 플러그인은 Unity 프로젝트에 패키지로 설치되며 코드를 작성하지 않고도 ProtoPie 메시지를 Unity 이벤트와 매핑할 수 있게 해줍니다. 플러그인은 기존 Unity 프로젝트에 무해한 방식으로 추가될 수 있으며, 기존 Unity 컴포넌트를 방해하거나 손상시키지 않습니다.
이 플러그인은 Unity 씬 내에 ProtoPie 오브젝트를 생성하고 패키지에서 제공하는 스크립트 컴포넌트인 Message Interaction을 활용하여 작동합니다. ProtoPie 오브젝트는 ProtoPie 메시지를 Unity의 이벤트와 매핑하는 역할을 담당합니다. ProtoPie 오브젝트가 두 플랫폼 간의 모든 매핑을 처리하므로, 이 연동을 구현하기 위해 다른 곳에서 Unity 코드를 커스텀할 필요가 없습니다.
Message Interaction 스크립트 컴포넌트에서 사용자는 Unity 씬과 함께 사용할 매핑 테이블을 지정합니다. 매핑 테이블은 ProtoPie와 Unity 간에 사용될 메시지 목록입니다. 매핑 테이블이 지정되면 사용자는 Unity 씬에서 사용할 Event(Unity)-Message(ProtoPie) Mappings를 추가할 수 있습니다.
Event(Unity)-Message(ProtoPie) Mappings에서 사용자는 씬에서 사용할 메시지 매핑, 메시지 방향, Unity에서 원하는 동작, ProtoPie로 다시 보낼 값 등을 지정할 수 있습니다.
Unity 플러그인 설치 및 설정
Unity 프로젝트에서 ProtoPie Unity 플러그인을 설치합니다.
Unity 씬에서 빈 오브젝트를 생성하고 이름을 "ProtoPie"로 지정합니다.
이름은 반드시 대소문자를 구분하여 "ProtoPie"여야 합니다. ProtoPie Connect가 해당 이름을 사용하여 메시지 인터랙션을 위한 오브젝트를 감지하기 때문입니다.
ProtoPie 오브젝트에 "MessageInteraction.cs"(ProtoPie Unity 패키지 제공) 스크립트 컴포넌트를 추가합니다.
Add Component → Scripts → ProtoPie.Interaction → Message Interaction을 선택합니다.

Message Interaction 컴포넌트의 Message Data 필드에 MappingTable을 추가합니다.

기본적으로 MappingTable은 ProtoPie와 Unity 간에 통신할 메시지 세트를 정의합니다.
이는 Label, 전송할 메시지, 메시지 흐름 방향을 지정할 수 있는 YAML 형식의 구성 파일입니다.
매핑 테이블은 MappingTablet.asset이라는 패키지 폴더에 있습니다. 여기에서 메시지 매핑 목록의 항목을 추가/삭제/편집할 수 있습니다.
이제 Unity 씬을 ProtoPie Connect와 함께 사용할 준비가 되었습니다. Event(Unity)-Message(ProtoPie) Mappings 아래의 Add Mapping 버튼을 눌러 첫 번째 매핑을 추가하세요.
Unity 플러그인의 메시지 매핑

ProtoPie와 Unity 레이어는 메시지를 통해 통신하여 상호 간에 인터랙션을 추가합니다.
메시지 매핑을 추가하려면 Add Mapping을 선택하여 사용할 매핑을 정의합니다. 각 매핑에 대해 매핑 테이블(Message Data 필드에서 사용 중인 테이블)에 정의된 매핑 중 하나를 선택할 수 있습니다.
속성 정의
Mapping Label: 매핑 테이블에 정의된 매핑의 레이블 또는 인덱스입니다.
Message: ProtoPie와 Unity 간에 송수신할 메시지(socket.IO 용어로는 messageID)입니다. 이는 ProtoPie의 보내기(Send) 반응 및 받기(Receive) 트리거의 메시지에 대응합니다.
Message Direction: 메시지 통신 방향입니다 (ProtoPie to Unity, Unity to ProtoPie, Both Ways, None).
Desired Action (String): ProtoPie가 상응하는 메시지를 Unity로 보낼 때 Unity에서 실행되어야 하는 액션(메서드/함수)입니다 (메시지 방향이 ProtoPie to Unity 및 Both Ways인 경우에만 해당).

사용자는 소스 오브젝트와 액션을 실행할 메서드를 선택해야 합니다.
ProtoPie가 메시지와 함께 값을 보내는 경우, 해당 값은 액션(메서드/함수)에 String 매개변수로 함께 전달될 수 있습니다.
주의: 'Static Parameters' 아래의 'addCube(string)' 옵션은 런타임에 구성할 수 없습니다. 대신 프로젝트를 빌드하기 전에 Unity 에디터 내에서 string 값을 미리 정의해야 합니다.
Event Object & Event to trigger message: Unity가 ProtoPie로 메시지를 보내도록 트리거하는 Unity 오브젝트 및 이벤트입니다 (메시지 방향이 Unity to ProtoPie 및 Both Ways인 경우에만 해당).
Value Source Object & Value to Send: (선택 사항) Unity에서 ProtoPie로 메시지를 보낼 때, 메시지의 값을 통해 추가 데이터를 ProtoPie에 보낼 수 있습니다. Value Source Object 및 Value to Send 속성은 ProtoPie로 다시 보낼 데이터의 종류를 정의합니다.
주의: 플러그인은 소스 오브젝트에 연결된 public string 변수를 인식합니다.