memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

ArduinoとUnityは直接繋げるのか。。。ありがたい

センサーの値をパソコンに取り込むのにArduinoは欠かせません。そしてリッチなUIを作る手段としてUnityも欠かせない存在になってきました。両方ともプロトタイプを手早く作るのに強力なツールです。

Arduinoで取得したデータをUnityに接続したい場合は。。。やったことがありませんでした。

Arduinoと相性のよいProcessingでセンサー値を受け取り、そこからUnityにTCPUDPで通信する。。。という感じに考えていました。

ぐぐってみると以下のありがたい記事が!

Unityで(というか.NETで)シリアル通信できるんですね。。。当然といえば当然。といいつつも頭にはありませんでした。

qiita.com

今後、使う機会がありそうなので試してみました。

とりあえず結果が以下です。

youtu.be

Cdsセンサーで明るさを取り込み、その値を上記の記事のソースにちょっとだけ加えて作ってみました。明るさに応じて、Unity内のライトの強度を0から1の間で変化させました。

Cdsセンサーの回路はこちらを参考に、そして、Arduino nano互換機のSierra用ドライバを入れるのにこちらを参考にしました。

Unityを数ヶ月ぶりに触ったので。。。かなり忘れていましたが、何とか思い出しました。gameobjectをコード内からどうやって参照するんだっけな。。。とか。クラス内でpublic変数を作ってそこにオブジェクトを投下すればよかったんですね。。。忘れてた。

ほんと、いい時代です。