SATCHのtestUpdateAndLoadZipを使って、トラッキングデータをサーバーから取得してみる
これは、別途作成したトラッキングファイルをZIPファイルにしておいて、これをWebサイトからダウンロードし、 Luaスクリプトを使ってシナリオを更新する....という風に使います。
表示する3Dオブジェクトはそのままで、トラッキングデータのみ更新する...って感じかな。
まずは、SATCH Developer siteの解説が、理解しにくかったので、自分なりに理解したことをメモっておきました。
ご参考までに....。
ご紹介
今回のサンプルを実際に使用するには、php実行可能なサーバーが必要です。
このサーバーのドメイン名が、「http://example.com」だとしておきます。
ダウンロード用ファイルなどは、「http://example.com/SampleTests/testUpdateAndLoadZip」に置かれるものとします。
SATCH Dveloper siteでの解説はこちら
まず作業は3つ。
クライアント側のシナリオを再作成(Export)するのと、ダウンロード用ファイルの設定をすること、サーバーにアップロード後ダウンロードを実行してみる...です。
サンプルは
このページ
からダウンロード。
解凍して、testUpdateAndLoadZipフォルダーをSATCH Studioで読むための作業場所に移動しておきます。
このフォルダーには、トラッキング用のファイルは何も入っていません。
【クライアント側のシナリオを再作成(Export)する】
まず、SATCH Studioを起動して、testUpdateAndLoadZipを読み込みます。
Outlinerから以下の2つのluascriptを開きます。
luancher0(testUpdateAndLoadZip.lua)
luancher(testUpdateAndLoadZip_URI.lua)
testUpdateAndLoadZip_URI.lua内の、
URI = "<your address here>"
を
URI = "http://example.com"に変更。
次に、testUpdateAndLoadZip.lua内のコードについて。
このスクリプト内の
"<your address here>"
は変更しないでください。
ここを変更すると、永遠に実行できなくなります(^^)。
以下の部分に変更をかけておきます。
local targetDistant = URI .. "/SampleTests/testUpdateAndLoadZip/pkg_flyerMarsZip/"
↓
local targetDistant = URI .. "/SampleTests/testUpdateAndLoadZip/"
このシナリオをアプリID=com.kddi.satch.sampletestsでExportして、署名ファイルを正式なものに更新しておきます。
【ダウンロード用ファイルの設定をする】
ここでの作業は2つです。
1:トラキングデータのZIPファイル作成
2:アップデート用のxmlファイル作成
まず、作業用の場所を作成。
例:C:\SampleTestsフォルダーを作っておきます。
以下から、サーバー用データをダウンロードしておく。
http://satch.jp/jp/sample/sample_6_index.html#serverdata
直リンクはこちら
解凍すると複数のフォルダーがありますが、今回はZIPのアップデート・ダウンロードなので以下のフォルダーを使います。
Scenario.serverdata.exported-packaged/testUpdateAndLoadZip
Scenario.serverdata.orig/testUpdateAndLoadZip
ただし、実際必要なのは、Scenario.serverdata.orig/testUpdateAndLoadZipフォルダーです。
Scenario.serverdata.exported-packaged/testUpdateAndLoadZipの方は、今回の作業で再作成されるファイルのサンプルです。
C:\SampleTestsフォルダーにコピー。
C:\SampleTests\testUpdateAndLoadZip\pkg_flyerMarsZip\flyerMars
今回の作業では、Scenario.serverdata.exported-packaged/testUpdateAndLoadZipフォルダーにある、flyerMars.zipと.update.xmlを再作成します。
再作成に必要なツールを準備しておきます。
tiProtectorAR2Satch.exe
PrepareFolderForUpdate.exe
この2つは、SATCH Studioをインストールしたフォルダーの中のDeployment/Toolsにあります。
直リンクはこちら
2つのツールを、C:\SampleTestsフォルダー内にコピーしておきます。
flyerMars.zipの作成
まず、署名ファイルを作成します。
DOS窓を開いて、以下のコマンドを実行。
>cd C:\SampleTests
>tiProtectorAR2Satch.exe testUpdateAndLoadZip\pkg_flyerMarsZip\flyerMars\flyerMars.export-config.xml flyerMars -slave
flyerMars.export-config.xmlにはapplicationidが記述されています。
実行すると、C:\SampleTestsフォルダー内に新しいフォルダーflyerMarsが作成されます。
C:\SampleTests\flyerMars\flyerMars.dfk <--これが署名ファイルです
C:\SampleTests\flyerMars\mars.bmp
C:\SampleTests\flyerMars\object1.0.bin
C:\SampleTests\flyerMars\tracker.xml
これらは、C:\SampleTests\testUpdateAndLoadZip\pkg_flyerMarsZip\flyerMarsから再作成された、署名ファイルを持ったトラキング用ファイル群です。
SATCH Developer siteのマイページで、この署名ファイルを登録して、正式署名ファイルを取得します。
正式署名ファイルで元の署名ファイルを上書きします。
zipファイル作成します。
C:\SampleTests\flyerMarsをフォルダーごとzipにして、flyerMars.zipを作成します。
.update.xmlの作成
C:\SampleTestsにあるtestUpdateAndLoadZipフォルダーを削除しておきます。
新しいフォルダー(例:pkg_flyerMars)を作成して、ここに先に作った、flyerMars.zipを置きます。フォルダー名は実は何でも良いんですけど。
DOS窓を開いて、以下のコマンドを実行。
>cd C:\SampleTests
>PrepareFolderForUpdate.exe -i pkg_flyerMars -o testUpdateAndLoadZip
C:\SampleTestsに新しいtestUpdateAndLoadZipフォルダーが作成されます。
このフォルダーには、flyerMars.zipと.update.xmlの2つのファイルがあります。
.update.xmlの中身は、ファイル名やファイルサイズと、何かのチェック用文字列...。
どうも、ファイルが置かれているディレクトリー(フォルダー)名に関連したもののような感じですね。
暗号化されたものかもしれない...。
【サーバーにアップロード後ダウンロードを実行してみる】
サーバーのドキュメントルートにSampleTestsフォルダーを作って、そこにtestUpdateAndLoadZipフォルダーごと アップロードします。
先に再作成したシナリオをSATCH Studioで読み込みます。
Play sceneボタンをクリックするとダウンロードが開始され、ダウンロード終了後、ZIPアーカイブからファイルが抽出され、トラッキング設定が更新されます。
PCの場合、ダウンロード場所は、C:\Documents and Settings\<ユーザー名>\Application Data\updateAndLoadZipです。
updateAndLoadZipフォルダーは無ければ、自動で作成されます。
ただ問題なのは.....、
Download started, in progress...というメッセージが表示されて、new trackingというメッセージに変わるまで4分ほどかかります!!。
その間、SATCHのプロセスがCPUを占有してしまうので、他の作業はほぼ何もできません。
どうもZIPアーカイブからデータを抽出してトラッキングの設定をするのに、どえらく時間がかかっているみたい。
こんなんでええのかしら?
こんな感じ。
トラッキング対象でなければ何もでません。
MoonではなくMarsの画像が対象になります。
Marsの画像はここにあります(PDF)
トラッキングするとこんな感じ。
TOP
トップページ| サイトマップ|