2017-07-27 7 views
0

私はUnityを使ってゲームを作っています。私はPythonスクリプトからゲームをコントロールしたいと思っています。私はWindowsでゲームを開発していますが、ビルドターゲットはLinuxです。Unity/C#とPython Communication on Ubuntu

私はつまり、これにはいくつかの方法をチェックアウトした

  1. ファイルシステム上のファイルへの書き込み
  2. zeromq
  3. pythonnet
  4. socket.io IronPythonの
  5. C#からのPythonプロセスの開始

オプション4,5,6は、さまざまな理由(主に速度と互換性)で除外されました。私は、信頼性が高く、高速で、Windowsでの開発/テストやLinuxでの実行/デバッグのための頭痛にならないように、これを行う方法があるかどうか疑問に思っています。

これを行う機会があれば誰でも聞いてください。

乾杯!

答えて

1

これらの使用をお勧めしません。また、TCP/IPを使用することをお勧めします。これは非常に高速で、Windows、Mac、Linuxと互換性があります。実際には、どのネットワーク対応デバイスでも動作するはずです。

UnityアプリケーションでTCPサーバーを作成し、Python側からクライアントを作成して接続します。それでおしまい。

UDPを使用してUnityアプリケーションのポート番号をブロードキャストすることで、PythonからUnityアプリケーションに自動的に検出して接続する機能を追加することもできます。

+0

Hey!返信いただきありがとうございます:) zeromqは通常のTCP/IPより高速ではありませんか? また、共有メモリを使用してこれを達成する方法はありませんか? –

+0

あなたの質問* "ほとんどのスピードと比較可能性" *。以前はzeromqを使用していませんでしたが、それに答えることはできませんが、すべてのプラットフォームで動作するようにするにはラッパーが必要と思われます。私はそのライセンスについても確信していません。 C#TCPソケットが使用されている場合、これらについて心配する必要はありません。 – Programmer