Unity 플러그인
ProtoPie Connect는 사용자들이 Custom Layer Integration을 통해 Unity 레이어를 삽입할 수 있도록 지원합니다. ProtoPie Unity Package는 Unity 플러그인으로, ProtoPie와 Unity 레이어 간에 메시지를 주고받을 수 있게 해줍니다. 이를 통해 두 플랫폼 간의 통합된 상호작용을 가능하게 합니다.
이 Unity 플러그인은 무료로 다운로드하고 설치할 수 있습니다. 그러나 이 플러그인을 통한 Unity 상호작용 기능은 Connect Enterprise 사용자에게만 제공됩니다.
ProtoPie Connect Unity 플러그인을 다운로드 받으세요.
Unity와 ProtoPie 통합을 위한 워크플로우
ProtoPie와 Unity 간의 통합된 인터랙션을 프로토타이핑하려면 다음 워크플로우를 따라해주세요:
1. Unity와 통신하기 위한 메시지 세트(매핑 테이블)를 정의합니다. Pie는 Send/Receive 기능을 사용하여 Unity와 메시지를 통해 상호작용합니다.
- ProtoPie에서는 Send 리스폰스의 메시지가 Unity에서 이벤트를 트리거합니다. Unity가 ProtoPie로 메시지를 보낼 때, Receive 트리거의 메시지가 적절한 응답을 식별하는 역할을 합니다.
2. Unity 프로젝트를 위한 Unity 플러그인을 설치합니다.
3. ProtoPie 메시지와 Unity 이벤트 간의 매핑을 Unity 씬에서 정의합니다.
4. 테스트 준비가 완료되면 Unity 씬을 WebGL 빌드로 내보내기하고, 빌드 파일을 ProtoPie Connect의 Unity 레이어에 소스 파일로 추가합니다.
5. 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 씬에서 사용할 이벤트(Unity)-메시지(ProtoPie) 매핑을 추가할 수 있습니다.
- 이벤트(Unity)-메시지(ProtoPie) 매핑에서는 씬에서 사용할 메시지 매핑, 메시지 방향, Unity에서의 원하는 동작, ProtoPie로 다시 보낼 값 등을 지정할 수 있습니다.
Unity 플러그인 설치 및 설정
1. Unity 프로젝트에서 ProtoPie Connect Unity 플러그인을 설치합니다.
2. Unity 씬에서 빈 객체를 생성하고 이름을 "ProtoPie"로 설정합니다.
- 이름은 대소문자를 구분하므로 반드시 "ProtoPie"로 설정해야 합니다. ProtoPie Connect가 이 이름을 통해 메시지 상호작용을 감지합니다.
3. ProtoPie 객체에 MessageInteraction.cs (ProtoPie Unity Package에서 제공) 스크립트 컴포넌트를 추가합니다.
- Add Component → Scripts → ProtoPie.Interaction → Message Interaction을 선택합니다.
4. Message Interaction 컴포넌트의 Message Data 필드에 MappingTable을 추가합니다.
- MappingTable은 ProtoPie와 Unity 간에 통신할 메시지 세트를 정의합니다.
- 이는 YAML 형식의 구성 파일로, 레이블, 전송할 메시지, 메시지 흐름 방향을 지정할 수 있습니다.
- 매핑 테이블은 MappingTablet.asset이라는 패키지 폴더에 위치해 있으며, 메시지 매핑 목록의 항목을 추가/삭제/편집할 수 있습니다.
5. 이제 Unity 씬이 ProtoPie Connect에서 사용할 준비가 되었습니다. Event(Unity)-Message(ProtoPie) Mappings 아래에 있는 Add Mapping 버튼을 눌러 첫 번째 매핑을 추가하세요.
Unity 플러그인에서 메시지 매핑 정의
ProtoPie와 Unity 레이어는 상호작용을 추가하기 위해 메시지를 통해 통신합니다. 메시지 매핑을 추가하려면 Add Mapping을 선택해 사용할 매핑을 정의합니다. 각 매핑에서, 메시지 데이터 필드에 사용된 매핑 테이블에 정의된 매핑 중 하나를 선택할 수 있습니다.
속성 정의
- Mapping Label: 매핑 테이블에 정의된 매핑의 레이블 또는 인덱스.
- Message: ProtoPie와 Unity 간에 송수신되는 메시지 (또는 socket.IO 용어로 messageID). 이는 ProtoPie의 Send Response와 Receive Trigger에 해당하는 메시지입니다.
- Message Direction: 메시지 통신 방향 (ProtoPie → Unity, Unity → ProtoPie, 양방향, 없음)
- Desired Action (String): ProtoPie에서 Unity로 메시지가 전송될 때 Unity에서 실행되어야 하는 동작(메서드/함수) (메시지 방향이 ProtoPie → Unity 또는 양방향일 때만 해당).
- 사용자는 동작을 실행할 소스 객체와 메서드를 선택해야 합니다.
- ProtoPie가 메시지와 함께 값을 보내는 경우, 그 값은 메서드/함수의 문자열 매개변수로 전달될 수 있습니다.
- 참고: 'Static Parameters'의 'addCube(string)' 옵션은 런타임에 설정할 수 없으며, Unity 에디터에서 미리 정의해야 합니다.
- Event Object & Event to trigger message: Unity 객체와 이벤트로, 해당 이벤트가 발생하면 Unity가 ProtoPie로 메시지를 보냅니다. (메시지 방향이 Unity → ProtoPie 또는 양방향일 때만 해당)
- Value Source Object & Value to Send: (선택 사항) Unity에서 ProtoPie로 메시지를 보낼 때, 메시지의 값과 함께 추가 데이터를 ProtoPie로 보낼 수 있습니다. Value Source Object와 Value to Send 속성은 ProtoPie로 보낼 데이터 종류를 정의합니다.
- 참고: 플러그인은 소스 객체에 연결된 공개 문자열 변수를 인식합니다.