目指せ100万円!「第1回察知人間コンテスト」優勝への道~ARアプリ開発キット「SATCH SDK」入門~

第7回 「SATCH SDK」応用編(2):サンプルを使いこなす

この記事を読むのに必要な時間:およそ 3 分

SATCH Developersサイトのサンプルページには,すぐにEclipseへ読み込んでビルドできるサンプルアプリが多数用意されています。前回はこの中から,実践編で作成したチュートリアルと同じものをEclipseのプロジェクトに読み込み,Android搭載端末の実機で動作させてみました。今回は応用編の2回目として,どのようなサンプルアプリが用意されているのかをご紹介していきます。サンプルを試していくことで,イメージしているARアプリを作成する大きなヒントとなることでしょう。

サンプルページには,⁠PLAYER」⁠INPUTS」⁠RECORDINPUTS」⁠VIEWS」⁠TESTS」⁠VIDEOFILEANDSTREAMING」⁠VIEW FLIPPER」⁠TOUCH ME」の8種類のサンプルが用意されており,特に「TESTS」には26種類ものテスト用サンプルアプリがあります。サンプルは,それぞれ必要なファイルを一括ダウンロードできるようになっているため,そのまま「SATCH Studio」やEclipseのプロジェクトに読み込んで開発できるようになっています。具体的な手順については,前回の内容を参照してください。なお,⁠TESTS」サンプルは26種類のサンプルアプリがひとつのファイルにまとめられています。

サンプルで使用している機能の一覧は,⁠サンプルで使用している機能」のページで確認できる

サンプルで使用している機能の一覧は,「サンプルで使用している機能」のページで確認できる

モバイル端末のセンサーから数値を取得する

PLAYERサンプルは,すでに紹介している初歩的なアプリケーションです。月面の画像が検出されると,黄色いロボットが表示されます。スクリーンをダブルタップするとロボットが動き出し ,効果音も再生されるというものです。

INPUTSサンプルは,Luaスクリプトを使ってモバイル端末から各種センサーの値を取得するというものです。実行すると画面上に4つのアイコンが表示され,それぞれのボタンをタップすることでセンサーの値を取得,表示します。表示される数値は,上段に3D(GL)ビューのD'Fusionによって出力される情報,下段にはD'Fusionのコールバック関数より,アプリケーション(Java やObjC コード)へ送信される情報がテキストで表示されます。

1つ目のアイコンはタッチスクリーンとなっており,D'Fusionビューをタッチすると3Dビュー内に緑の丸が表示されます。また,同じ場所を2回以上タップすると赤い丸が表示されます。デバイスがマルチタッチ対応の場合は,同時に複数の丸が表示されることになります。テキストで表示されるのは,タップした位置情報になります。

2つ目のアイコンは加速度センサーとなっており,センサーから取得した数値を3Dフレームにスケールとして表示します。テキストで表示されるのは,3軸のセンサーから送られたそれぞれの方向の加速値になります。

3つ目のアイコンはGPSセンサーとなっており,テキストで表示される数値はGPSセンサーから取得した数値となります。

4つ目のアイコンはコンパスとなっており,アイコンをタップするとコンパスが表示され,赤い矢印が北を指します。

INPUTSサンプルでは,INPUTSサンプルでは,モバイル端末のセンサーから数値を取得し可視化する

INPUTSサンプルでは,モバイル端末のセンサーから数値を取得し可視化する

RECORDINPUTSサンプルは,Luaスクリプトを使ってモバイルのセンサーの値をXMLファイル内のLuaスクリプトへ記録するものです。メニューボタンで記録の開始・停止を行い,取得した数値はデバイス別にXMLファイルへ記録されます。記録するたびに連番のファイル名がつけられていきます。このファイルは,D'Fusion Studio上でモバイル端末のセンサーをエミュレートすることに活用できます。

VIEWSサンプルは,PLAYERサンプルを基本に複数の機能を搭載したものです。画面上に3つのタブが表示されます。1つ目のタブ「D'Fusion View」はPLAYERサンプルと基本的に同様のもので,月面の画像を検出すると黄色いロボットが表示され,アニメーションと音声が再生されます。2つ目のタブは「Webビュー」となっており,切り替えるとGoogleで「yellow robot」を検索した結果が表示されます。3つ目のタブは「Google Maps」となっており,デフォルトではフランスの位置に黄色いロボットが表示されます。

D'Fusion Viewで再度,月面の画像を検出すると,今度は青いロボットが表示されます。タブをWebビューに切替えると,Googleで「blue robot」を検索した結果が表示され,Mapsビューに切替えると青いロボットがアメリカのどこかに表示されます。なお,GoogleMapsを利用する際には「Maps API Key」の取得と,res/layout/map_activity.xmlへの設定が必要です。

このサンプルを使用することで,ARによって検出した情報に対し,Web検索結果やGoogle Mapsの表示が可能になります。ガイドを表示するようなARアプリなどに応用できます。

VIEWSサンプルでは,検出した対象のWeb検索結果やGoogle Mapsの表示を可能にする

VIEWSサンプルでは,検出した対象のWeb検索結果やGoogle Mapsの表示を可能にする

コメント

コメントの記入