micro:bitからUnityで作ったコンテンツを操作する手順です。
通信はシリアルになりますがmicro:bitを2台使って無線での操作にします。
bluetoothはよくわからなかったのでこの方法にしました。
↓完成形
micro:bitとUnityのシリアル通信 pic.twitter.com/p4J9cWtob9
— atsonic (@atsonic) 2018年5月14日
micro:bit(操作側)
micro:bitのエディターにアクセスして、
下記スクリーンショットの様にグループの指定(なんでもいいです)と通信の際のトリガーを指定します。
アイコン表示は無くてもいいです。
送信する文字列も、文字じゃ無くてもなんでもいいです。
micro:bit(受信側)
受信側も最初にグループの指定をします。
グループ番号は送信側と合わせます。
送信側からのデータを受信したら、今度はシリアル通信で文字列を書き出す様にします。
Unity
今回はParticle SystemをPlayしてるので下記の様になります。
SerialPortの引数はmicro:bitを接続しているポート名とボーレート(115200)を指定します。
ボーレートは他の記事を参考にこの値を入れています。
※以下のコードではシリアル通信の文字列の判定はしていません。
using UnityEngine;
using System.Collections;
using System.IO.Ports;
using UnityEngine;
using System.Collections;
using System.IO.Ports;
public class Serial : MonoBehaviour
{
SerialPort stream = new SerialPort("/dev/cu.usbmodem1422", 115200);
public ParticleSystem p;
// Use this for initialization
void Start()
{
stream.ReadTimeout = 10;
stream.Open();
stream.DiscardInBuffer();
}
// Update is called once per frame
void Update()
{
try
{
p.Play();
}
catch (System.Exception)
{
}
}
}