UnityOSC と呼ばれる Unity 用のライブラリを利用しようとしています。これにより、おそらく他のアプリケーションから OSC メッセージを受信できます。次のアドレスで UDP 経由でデータを送信するアプリケーションがあります。
ホスト: 127.0.0.1 ポート: 33433
次に、そのデータをリッスンするように UnityOSC を構成する必要があります。ライブラリには OSCHandler.cs というスクリプトがあり、init 関数でクライアントとサーバーをセットアップできます。これを設定する方法がわかりません。
現在、私はこれを試みています:
public void Init()
{
CreateClient("FaceClient", IPAddress.Parse("127.0.0.1"), 33433);
CreateServer("FaceServer", 6666);
}
クライアントのパラメーターをデータを送信するアプリケーションのパラメーターと一致させました。サーバーはランダムです-しかし、正直なところ、これらのいずれかに何を入れればよいかわかりません。理論的には、クライアント/サーバーを適切に設定すれば、次のように更新機能に情報を登録できるはずです。
void Update() {
OSCHandler.Instance.UpdateLogs();
//clients = OSCHandler.Instance.Clients;
servers = OSCHandler.Instance.Servers;
foreach(KeyValuePair<string, ServerLog> item in servers)
{
// If we have received at least one packet,
// show the last received from the log in the Debug console
if(item.Value.log.Count > 0)
{
int lastPacketIndex = item.Value.packets.Count - 1;
UnityEngine.Debug.Log(String.Format("SERVER: {0} ADDRESS: {1} VALUE 0: {2}",
item.Key, // Server name
item.Value.packets[lastPacketIndex].Address, // OSC address
item.Value.packets[lastPacketIndex].Data[0].ToString())); //First data value
}
}
}
しかし、これまでのところ、デバッガーには何も登録されていません。私が間違っていることは何か分かりますか?