🤍
Unityからtoioの傾き(姿勢)を検出する
はじめに
toio-SDK-for-Unityの導入等は公式のgithubを参考にしました.
この記事では,
- Unityからtoioへ接続する
- Unityからtoioの傾きを検知する
の2点について書きます.
Unityからtoioへ接続する
私はMacを使用しているので公式ドキュメントにあるようにこのプラグインを導入.
このプラグインによってエディターモードでもtoioとBluetooth接続することが可能.
toioへの接続は,toio-sdk/Samples/Sample_Bluetooth/Sample_ConnectType.csを参考にした.
接続するだけだと,このコードをコピペするだけで十分.
インスペクターでConnect TypeをRealに設定すると,toioと接続可能になる.
toioが急に回転し出したら接続完了.
Unityからtoioの傾き(姿勢)を検出する
cubeの姿勢検出のドキュメントは以下.
cube.pose
で姿勢を検出できる.
具体的には以下のようなコードになると思う.
Bluetooth.cs
public class Bluetooth : MonoBehaviour
{
public ConnectType connectType;
CubeManager cm;
Cube cube;
async void Start()
{
cm = new CubeManager(connectType);
await cm.MultiConnect(1);
}
void Update()
{
foreach (var cube in cm.syncCubes)
{
Debug.Log(cube.pose);
}
}
}
出力される内容は以下のようになる.
FrontとBackの違いなど,少しだけややこしいので,括弧内に面の特徴をメモ.
出力 | キューブの姿勢(どの面が上か) |
---|---|
Up | 上面 (凸凹) |
Down | 下面(タイヤ) |
Front | 背面(前面の逆) |
Back | 前面(toioという文字) |
Right | 右 |
Left | 左 |
Discussion