未踏作業日誌――余計なもの作るよ!

未踏の作業日誌的なものを書きましょうということで書くことにしました.余計なことばっかりしています.

Unity,Javascript,ローカルサーバ,S3の順番で連携させる

こんにちは,UnityからWWWを使ってPOSTメソッドを投げるのは,デバッグだとうまく行ったのですがWebPlayerにしたら動きませんでした.原因がわからないのでWebPlayerからブラウザのJSに渡して,そこからローカルサーバに投げる方針に変えました.

 

まずは,UnityからJSに投げるコードです.WWWを消したのでスリムになりました.

スクリーンショットを撮ってJSに投げる

JSONを扱おうと思ったのですが,C#だとJSONの扱いが不得意らしく,Unityだとさらに顕著な感じに見えたので,区切り文字をパスの表現として絶対に使ってはいけない「!」を使うことで,必要な情報を全部投げるようにしてみました.

WebPlayerからJSに文字列を投げるのは,Application.ExternalCall関数で行けます.

 

Ajaxの非同期通信を使ってローカルサーバに接続する

JavascriptのコードではAjaxを使ってます.先ほどの文字列を「!」でパースして各種変数に格納してます.その後すぐにAjax呼び出して非同期通信を行っています.

 

最後にサーバ側の実装ですが,このままアップロードするとEveryoneに閲覧権限がないため,object.write関数を呼び出すときに,引数に誰でも閲覧できるよう権限の設定をしました.

ローカルサーバからS3へキャプチャされた画像をアップロードする

 

とりあえず,これでTweetボタンを設置する準備が整った感じです.あとはツイートする何かのサイトへ飛ばすか,もしくは動的にTweetボタンを出現させるか,たぶんいろいろな方法があると思います.

これの後は,サーバ側の実装をEC2に設置する感じです.あまりLinuxは得意ではないので,サーバを立てるのが一番の難関になりそうですね…….今回は以上です.