toio SDK for Unity ドキュメント
開発概要
【 1 】セットアップ
- 開発環境を整える →「事前準備」
- Unity で新規プロジェクトを作り、 toio SDK for Unity を読み込む →「toio SDK for Unity インストール」
- オプション機能の導入
【 2 】開発
- 開発前に確認する →「シミュレータの操作方法(マットやキューブの設定等)」
- Assets フォルダの下に開発用フォルダを作成する →「スクリプトの依存関係」
- 新しいシーンを作って、シミュレータの Prefab を読み込む →「シーン作成」
- プログラムを作っていく
【 3 】Unity Editor で動作確認(シミュレータまたは実機に接続)
- 再生ボタンを押してシミュレータで動作確認する
- ConnectType を Real (実機)に設定し、再生ボタンを押して実機と接続して動作確認する
- Macの場合はBLEプラグインの導入が必要
- ConnectType の仕様と設定方法についてはサンプル ConnectType を参照
- 開発とUnity Editorでの動作確認を繰り返し、効率良くプログラムを仕上げていく
【 4 】ビルド
- スマートデバイス向けにビルドしてアプリを作り、端末で動作確認
-
「 iOS ビルド」 「 Android ビルド」 「 WebGL ビルド」 - Mac と Windows 10 のビルドはUnity公式ドキュメントを参照してください
-
チュートリアル
基本
- 1. 概要
- 2. シーン作成
- 3. 移動する
- 4. 音を鳴らす
- 5. LED を発光する
- 6. toio IDの読み取り(Position ID & Standard ID)
- 7. センサーのイベントを検知
- 8. 複数のキューブを動かす
- 9. CubeManagerクラスを用いたソースコードの簡略化
- 10. 途中接続/途中切断
- 11. UI の作成
- 12. Unity Visual Scriptingでの利用方法
キューブの移動操作を簡単に制御 - CubeHandle
集団制御 - Navigator
テンプレート集
サンプル
基礎
-
接続設定の違いによって、シミュレータとリアルで接続設定が変わるか確認するサンプルです。
-
指定した Local Name のキューブと接続するサンプル集です。
-
CubeNavigator のモードの違いによって、多数台のキューブの挙動がどのように変わるか確認するサンプルです。
-
CubeNavigator を使って多台数のキューブが衝突回避しながら移動をするサンプルです。
-
キューブの各センサ値を検出し、UIに表示するサンプルです。
-
Cube.TargetMove、Cube.AccelerationMove を使ってキューブを動かすサンプルです。
-
CubeNavigator の HLAvoid 計算結果と定義されたすべての Wall を可視化するサンプルです。
応用
-
複数のマットを併せて一枚の大きいマットとして使うサンプルです。
-
低レベルモジュールである BLE インタフェースを直接利用してキューブと通信するサンプルです。
-
ブラウザで動作するウェブアプリのサンプル集です。
-
リアルのキューブとの接続・シミュレータ上のキューブと相関インスタンスを維持したままに、シーン遷移を扱うサンプルです。
-
リアルキューブの動きをシミュレーターのキューブにリアルタイムに反映する、いわゆる「ディジタルツイン」を実現したサンプルです。
技術ドキュメント
システム全体の構成図
ローレベル(左)からハイレベル(右)に説明して行きます。
- Simulator:Unity Editor で実行できるシミュレータ
- BLE:スマートデバイスやウェブで、リアルのキューブとブルートゥース通信するモジュール
- Cube:シミュレータとリアルの両方を統一し、キューブを扱うクラス
- CubeHandle:便利な移動機能をまとめたクラス
- Navigator:高度な集団制御を実現したクラス
- CubeManager:複数のキューブと各種の機能を便利に管理するクラス