THETA Sついに発売されましたね
PTPからHTTP通信になったので、かなり触りやすいですね。
さっそくWifiでのライブストリーミングを使ってみましたvine.co
ライブストリーミングの処理はごちゃっとしているので、今回は撮影に絞って紹介します。
THETA v2 APIリファレンス
https://developers.theta360.com/ja/docs/v2/api_reference/
API呼び出しは基本的にはWWWクラスで問題ありませんが、_getLivePreviewに関してはストリーミングになるので別のクラスを使用した方がいい感じです。
とりあえず公式にもある撮影の流れをメモります
(※これは前のTHETAでもできましたが、手法が変わったのでメモっときます)
公式の説明はこちら
1. セッション開始API実行
API:/osc/commands/execute
name:camera.startSession
APIの呼び出しはWWWクラスで、Jsonは今回LitJsonを使用しました。
基本的にこんな感じで呼び出します。
(jsonは外で作ってます)
// set header Dictionary<string, string> header = new Dictionary<string, string> (); header.Add ("Content-Type", "application/json;charset=utf-8"); // set url and data string url = httpHead + ipAddress + ":" + httpPort + "/osc/commands/execute"; byte[] postBytes = Encoding.Default.GetBytes (json); Debug.Log (url); // 送信開始 WWW www = new WWW (url, postBytes, header);
4. CheckForUpdatesAPI実行
API:/osc/checkForUpdates
レスポンスのFingerprintが更新されないかチェック
更新されていないなら4.を繰り返し実行
7. 下記コードな感じでテクスチャ作成
Texture2D texture = new Texture2D(2048, 1024); texture.LoadImage(www.bytes);