UnityとArduinoのUDP通信がうまくいかない
Windows10上のUnity(2019.1.3f1)とArduino ESP32間をUDP通信しようとしたところ,Processingなど他のアプリケーションで動作したものの,Unityのみ通信できませんでした。
結果,Windowsファイアウォール設定で接続拒否されていたことが原因でした。
以下の手順で,Unity上での通信が許可できました。
① コントロールパネル→システムとセキュリティ→WindowsDefender ファイアウォール設定→詳細設定より,インストールしたUnityのバージョンとファイアウォールの状態を確認。

② 接続がブロックされていたら,「接続を許可する」を選択してOK。

(特にファイアウォール設定を変更していないので,Unityを最新に更新したときに自動的にブロックされていたようです。)
・Processingによる動作確認
UDPポート(8888番)の受信のみを確認l。
import oscP5.*;
import netP5.*;
OscP5 oscP5;
int receivePort = 8888;
void setup() {
size(100, 100);
frameRate(60);
oscP5 = new OscP5(this, receivePort);
}
void draw() {
background(0);
}
void oscEvent(OscMessage theOscMessage) {
print(" addrpattern: "+theOscMessage.addrPattern());
println(" typetag: "+theOscMessage.typetag());
theOscMessage.print();
}


コメント