sunarit’s blog

Unity開発の備忘録

Web API Kit: Core

ここのところ、レベル作成やキャラクターアニメーションにかかりっきりで、全然新しいアセットを試していなかったのですが、2/22の24時間セールになっていた「Web API Kit: Core」を購入し、使ってみました。

前からやりたかったこととして、
・Webサーバーに置いたテキスト、および画像をリアルタイムでUnity側に取り込んで表示というのがありました。
Unity自身にもWWWというクラスがありますので、それを使えば実現できていたのですが、残念なことにネットワークというものは常に繋がっているとは限らないため、タイムアウト等の異常系に対してのエラー処理を書かないといけません。ちょっと考えてみたのですが、面倒そうなので棚上げにしていました。
この辺を簡単にしてくれるのが、「Web API Kit: Core」です。
似たようなことが可能なアセットとしては、「BestHTTP」という、ユーザー評価が高いアセットがありますが、価格が55USDとなかなかのお値段ですし、以前のセール時にスキップしていたこともあり、また、とりあえず上記のやりたかったことができればいいや、的な考えもありましたので「Web API Kit: Core」を選択しました。

実際にテストしてみた結果が以下の画像です。
下の画像は画像URLが未設定状態のものです。
f:id:sunarit:20160223084118p:plain

次の下の画像は、googleで「写真 フリー」で検索した結果の画像URLを設定したものです。
f:id:sunarit:20160223084136p:plain

最後の下の画像も、上の画像同様、画像URLを設定したものです。
f:id:sunarit:20160223084152p:plain

具体的な実装としては、あらかじめ複数の画像URLをstringでスクリプトに記述しておき、Unityの実行時にランダムで指定してWebから取得させるようにしています。画像はあくまでWeb上にのみに存在し、スクリプトには画像のURLパスのみが記述されています。
他にもJSONやOAuthにも対応しているので、使い方次第ではゲーム内で色々なことができる便利なアセットです。が、ちょっと気になった点として、入っているサンプルが分かりづらいという部分があります。というのも、サンプルのスクリプトがnamespace(名前空間)を多用しているため、読み解く際に、あっちのファイルを開いて、次はこっちのファイルを開いてと、オリジナルのカスタムクラスを作成するまでに数時間を費やしてしまいました。
一度、構造さえ理解してしまえば、ほぼ同じ手法で画像やテキストだけでなく、様々なデータをWebサーバーから取得できるようになります。当初やりたかった事はテキストや画像のWebサーバーからの取得&エラー処理なので、少々オーバースペックとも言えますが、今後、何かの役に立ちそうな気もします。むしろ、ただ単にテキストや画像を取得するだけのために購入する方が少ないのでしょう。

購入時はセール価格でしたので、15USDでしたが、通常は30USDです。
あくまでドキュメントを読んだ限りですが、「BestHTTP」の方が簡単に使えそうに見えました。「Web API Kit: Core」の購入を検討されている方は、一度、ドキュメント等に目を通すといいと思います。

Asset Store