GameObject에 추가된 Component |
아두니티도 이와 마찬가지로 GameObject에 아두니티 활용을 위한 Component를 추가해야 합니다.
ARDUnity Component Menu |
추가된 아두니티 Component는 서로 연결되어 상호 작용을 해야 하는데, 이를 위해 Wiring이라는 작업을 해야 합니다.
아두니티의 Wire Editor는 이것을 쉽게 할 수 있도록 제공되는 편집기입니다.
이 창을 띄우고 마우스 오른쪽 버튼을 누르면 컴포넌트를 추가할 수 있는 메뉴가 나타납니다.
아두니티 컴포넌트는 크게 2종류로 구분되는데, 아두이노 보드를 위한 것과 유니티를 위한 것으로 나뉩니다.
유니티 Scene에서 제일 먼저 해야 할 일은 아두이노 스케치를 생성하는 것이므로 아두이노 관련 컴포넌트를 추가해야 합니다.
Wire Editor에서 컴포넌트 추가 메뉴가 비활성화되어 있다면 다음 중 하나의 경우입니다.
- 컴포넌트를 추가할 GameObject가 선택되지 않은 경우
- 해당 컴포넌트를 추가하려면 특정 컴포넌트가 있어야 하는 경우
컴포넌트를 추가하면 Wire Editor상에 Block이 표현되고, 선택한 GameObject에도 나타납니다.
Wire Editor에 나타난 Block |
GameObject에 컴포넌트가 추가된 모습 |
가급적이면 하나의 GameObject에 여러 컴포넌트를 추가하는 것보다 여러 GameObject에 이름을 매겨 분산시키는 것이 관리하기 좋습니다.
회로 부품 명칭으로 GameObject 구조를 잡은 예 |
Wire Editor상에서 각 Block을 클릭하면 해당 컴포넌트가 포함된 GameObject가 자동으로 선택됩니다.
Block이 선택된 상황에서 오른쪽 버튼을 클릭하면 삭제 메뉴가 나타나서 원하지 않는 Block은 쉽게 지울 수 있습니다.
Block을 클릭한 상태로 Drag & Drop을 하면 Block의 위치를 이동시킬 수 있습니다.
각 Block에는 Wiring을 할 수 있는 노드(Node)가 존재합니다.
Bold(굵은 글씨) 체로 표현된 노드는 마우스로 클릭하여 Drag할 수 있습니다.
각 노드에 있는 기호는 다음과 같은 의미를 갖고 있습니다.
각 노드에 마우스를 놓으면 툴팁(Tooltip)이 표기됩니다.
표시되는 툴팁 중 데이터 전송과 관련된 노드(←, → 표시)의 툴팁은 다음과 같은 형식으로 표현됩니다.
각 Block에는 Wiring을 할 수 있는 노드(Node)가 존재합니다.
Bold(굵은 글씨) 체로 표현된 노드는 마우스로 클릭하여 Drag할 수 있습니다.
연결되기 전에는 붉은색으로 표현됩니다. |
Drag 중 연결 가능한 노드는 흰색으로 표현됩니다. |
연결이 완료된 다음은 검은색으로 표현됩니다. |
각 노드에 있는 기호는 다음과 같은 의미를 갖고 있습니다.
- ● : 참조(Reference)가 필요한 항목
- ○ : 참조(Reference) 대상
- ← → : 데이터 전송 시작 지점
- → ← : 데이터 전송 종료 지점
각 노드에 마우스를 놓으면 툴팁(Tooltip)이 표기됩니다.
표시되는 툴팁 중 데이터 전송과 관련된 노드(←, → 표시)의 툴팁은 다음과 같은 형식으로 표현됩니다.
- Input<Format> : 아두이노에서 유니티로 해당 Format으로 데이터 전송됨
- Output<Format> : 유니티에서 아두이노로 해당 Format으로 데이터 전송됨
따라서, 이 노드들은 다음의 규칙으로 연결됩니다.
- Input은 Input끼리 Output은 Output끼리만 연결 가능
- 두 노드의 Format이 같아야 연결 가능
아두니티 컴포넌트의 종류는 다음과 같습니다.
- ArdunityApp : 아두이노 보드를 의미하는 것으로 반드시 있어야 함.
- Controller : 아두이노 보드에서 작동되는 제어 기능
- CommSocket : 아두이노 보드와 유니티를 연결하는 통신 기능
- Bridge : Controller와 연결되어 데이터를 가공하는 기능
- Reactor : 프로그래밍없이 바로 유니티의 기능을 제어할 수 있는 유틸리티
댓글 없음:
댓글 쓰기