2017-11-15 9 views
0

私はサンプルゲームの研究と構築に取り組んでいます。私は、クライアントがREST APIをUnity RESTサーバーに呼びたいと思っています。次に、サーバーはREST APIに従っていくつかの関数を実行します。例えば、クライアントがゲーム内のオブジェクトを動かそうとする場合、クライアントは単体サーバーに対してREST APIを単に呼び出すことができ、サーバはそのオブジェクトを移動するために関数を実行する。UnityでRESTfulなサーバーを構築することは可能ですか?

私の理解から、Unityは我々がUnity.NetworkでUnityWebRequestを使用して、既存のRESTサーバーにGETとPOSTを送信できるRESTクライアントになることができます。しかし、Unity内にRESTサーバーを構築することが可能かどうかを知りたいですか?またはこれをサポートするサードパーティのパッケージがありますか?

可能であれば、私に教えてください。

答えて

1

私の理解から、あなたは1つの内部にRESTサーバーを構築したいと思っています。

OWIN/Katana Projectは、インターネットから検索した後に.net 4.0をサポートしていますが、現在のところ.net 3.5をサポートしていますが、もちろん、ネット4.6を使用できるユニティの実験機能はありますOWINのほかに実験的な機能)

、私はここにあなたがユニティでのREST APIサーバーを作成する能力を持ってこの方法をhttps://github.com/NVentimiglia/SignalR-Unity3d

を発見したネット2.0 対象SignalIRクライアントがあります。 しかし、なぜこれを団結させるのですか?

あなたが団結からREST APIを呼び出したい場合は、すでに取得したりさえする方法を投稿して団結からのWeb要求を行うWWWクラスを使用して、その能力を、持っています。 これにより、その要求からテキスト、画像、さらにはバイトデータを受け取ることができます。あなたはRESTがowinホストされているいくつかの自己にOWINで書かれている場合の例については

。 あなたはサーバーが望むものに基づいてプレーヤーを移動したいと思っています。

あなたがして読んだりするVector3にキャストできることを、APIをコールして、JSONオブジェクトとして保存された3つの浮動小数点のいくつかの情報を受け取ることができます。

多分あなたは団結でRESTを構築したい理由は、あなたが何かをするためのUnityEngine機能が必要です。

ので、はい団結は、WWWやUnityWebRequestを使用してRESTクライアントをすることができます。 でも、サーバーは一体何であっても私には疑問が残る。

この私が最善の方法は、このためのバックエンドを持っているとあなたがクライアントとの持続接続を持っているので、WebSocketを、より速くていると思うCMIIW

+0

ありがとうございました。それは私のために非常に役立ちます。 –

0

団結

IEnumerator GetUserInfo (int id) 
{ 
    //the Form Post 
    WWWForm form = new WWWForm(); 
    form.AddField("frameCount", Time.frameCount.ToString()); 
    //the GET 
    WWW www = new WWW ("http://myapi.com:33/user/" + id, form) 

    //the request 
    yield return wwww; 

    if (!string.IsNullOrEmpty(www.error)) { 
     print(www.error); 
    } 
    else { 
     print("Get reply : " + www.text); 
    } 
} 

から私のAPIを呼び出すいくつかの例(これはリアルタイムゲームにとってもっと便利です)。

など、 https://assetstore.unity.com/packages/tools/network/rest-client-for-unity-102501

そして、あなたは、Web APIを使用して、最新の機能を備えたNodeJSやC#のような他の技術とあなたのバックエンドを持つことができます

敬具:しかし、あなたはユニティの次のパッケージを使用することができますHTTPリクエストを使用したい場合

関連する問題