そのうちやろうと思っていたUnity3DとArduinoの連動。UNIDUINOというプラグインを使ったら手軽でした。
UNIDUINO

Windowsでは.NETの機能を使ってシリアル通信できるのですが、MacのUnity3Dからはできませんでした。UNIDUINOは外部のライブラリに中継して、うまいことやってるみたいです(適当)。
Firmata
Firmata(フェルマータ)というシリアル通信の汎用的なプロトコルを利用しています。Arduinoにファームウェアを入れておけば、UNIDUINOだけでなく、Processing、openFrameworks、PureDataなどからも、値の読み書きができます。

Arduinoのセットアップ
Arduino IDEのメニュー
[File]-[Examples]-[Firmata]-[StandardFirmata]を開き、Arduinoに書き込みます。

ブレッドボードのセットアップ
Arduinoがコントロールできているか確認するために、LED、可変抵抗、タクトスイッチをブレッドボードに以下のように配線します。


UNIDUINOのセットアップ
Asset Storeから購入して、新規プロジェクトにインポート。

Asset/Uniduino/UniduinoTestPanel/UniduinoTestPanel を読み込みます。実行すると初回のみSerialPort supportのインストールを要求されます。完了したらUnity3Dを再起動します。

再度、/Uniduino/UniduinoTestPanel/UniduinoTestPanel を実行すると、デジタル0〜13ピン、アナログ0〜5ピンの状態が表示される。D11のLow/Highボタンを押すと、ブレッドボード上のLEDが制御される事を確認できます。

また、A0のModes-INPUT、Reporting-Analogを選択すると、可変抵抗の回転を読み取る事ができます。

動画のチュートリアル
実は公式な動画のチュートリアルをみた方が分かりやすいのでした。
AnalogRead
Asset/Uniduino/Tutorials/Analog Read/AnalogRead を読み込みます。可変抵抗の操作で、3Dオブジェクトを回転できます。
UNIDUINO

Windowsでは.NETの機能を使ってシリアル通信できるのですが、MacのUnity3Dからはできませんでした。UNIDUINOは外部のライブラリに中継して、うまいことやってるみたいです(適当)。
Firmata
Firmata(フェルマータ)というシリアル通信の汎用的なプロトコルを利用しています。Arduinoにファームウェアを入れておけば、UNIDUINOだけでなく、Processing、openFrameworks、PureDataなどからも、値の読み書きができます。

Arduinoのセットアップ
Arduino IDEのメニュー
[File]-[Examples]-[Firmata]-[StandardFirmata]を開き、Arduinoに書き込みます。

ブレッドボードのセットアップ
Arduinoがコントロールできているか確認するために、LED、可変抵抗、タクトスイッチをブレッドボードに以下のように配線します。


UNIDUINOのセットアップ
Asset Storeから購入して、新規プロジェクトにインポート。

Asset/Uniduino/UniduinoTestPanel/UniduinoTestPanel を読み込みます。実行すると初回のみSerialPort supportのインストールを要求されます。完了したらUnity3Dを再起動します。

再度、/Uniduino/UniduinoTestPanel/UniduinoTestPanel を実行すると、デジタル0〜13ピン、アナログ0〜5ピンの状態が表示される。D11のLow/Highボタンを押すと、ブレッドボード上のLEDが制御される事を確認できます。

また、A0のModes-INPUT、Reporting-Analogを選択すると、可変抵抗の回転を読み取る事ができます。

動画のチュートリアル
実は公式な動画のチュートリアルをみた方が分かりやすいのでした。
AnalogRead
Asset/Uniduino/Tutorials/Analog Read/AnalogRead を読み込みます。可変抵抗の操作で、3Dオブジェクトを回転できます。