阿部諒が試してみた!『Titanium mobileのARマーカー検出モジュール」編 その1

どうも、おはようございます。こんにちわ。こんばんわ。
阿部です。

はい今日も、既に恒例となってきました、
「阿部諒の試してみた!」シリーズです。


んで、今回は、先日の記事で紹介したTitanium mobile用に
ARマーカー検出モジュールを作ったという記事(拡張現実感)を見つけましたのでそちらを試していこう思います。


そもそもARとは?

ARとはAugmented Realityの略で、「拡張現実感」または「拡張現実感」という意味です。
架空の世界に現実を再現する「バーチャル・リアリティ」とは違い、
現実の世界に架空の物体などを人工的に提示することを AR と呼びます。
AR マーカーとは、AR(拡張現実感)を実現するためのバーコードなどのパターンのことです。

  • anasonic 3D VIERA AR Greeting

こちらは、PanasonicVIERAのキャンペーンのために作ったARアプリですね

  • マーカーが印刷されたAR(現実拡張)名刺「AR Business Card」

これは、まさに僕が作ろうと思っているやつで名刺の裏にARマーカを印刷しておき
iPhoneのカメラやWebカメラから覗くとARが動くというものです。

AR Business Card from James Alliban on Vimeo.


では早速インストールしてみよう

こちらの記事を参考しながら進めていきます。

  • 1. サンプル動作用プロジェクト作成

予めサンプル動作用Titanium mobileのプロジェクトをTitanium Developperで作っておく。
僕は今回用に「ARsample」名前でプロジェクトを作成しました。

  • 2. 本モジュールのビルド
$ cd ~/works/                                                         // 任意のディレクトリ移動
$ git clone git://github.com/atsusy/tiarmarker.git // 本モジュールをgitからcloneする
Initialized empty Git repository in /Users/rabe/works/tiarmarker/.git/
remote: Counting objects: 291, done.
remote: Compressing objects: 100% (210/210), done.
remote: Total 291 (delta 95), reused 222 (delta 60)
Receiving objects: 100% (291/291), 18.57 MiB | 1.36 MiB/s, done.
Resolving deltas: 100% (95/95), done.
$ cd tiarmarker
$ ./build.py                                   // ビルド

本来なら、ここでスマートにビルドが終わり、
参考記事にあるようにcom.armarkerti-iphone-0.1.zipという
ファイルが生成されるのですが、
ビルド時にエラーが発生し、すんなりとは行きませんでした。

$ ./build.py
      :
/Users/rabe/works/tiarmarker/Classes/ComArmarkertiModule.h:7:21: error: TiModule.h: No such file or directory
      :

「ファイルがねぇぜ」って言ってます。

  • 原因

インストール済みのTitaniumとインストールしようとしたモジュールの定義バージョンが違かったため。

  • 対応

gitでcloneしたディレクトリ直下にxcodeの設定ファイル(titanium.xcconfig)があるので、
そこに記載されている、TitaniumのSDKのバージョンを書き換えてあげたところ正しくビルド出来ました。

$ vi titanium.xcconfig
----------------------------------------
//
//
// CHANGE THESE VALUES TO REFLECT THE VERSION (AND LOCATION IF DIFFERENT)
// OF YOUR TITANIUM SDK YOU'RE BUILDING FOR
//
//

// TITANIUM_SDK_VERSION = 1.6.0
TITANIUM_SDK_VERSION = 1.6.1  // 1.6.0から1.6.0修正

//
// THESE SHOULD BE OK GENERALLY AS-IS
//
TITANIUM_SDK = /Library/Application Support/Titanium/mobilesdk/osx/$(TITANIUM_SDK_VERSION)
TITANIUM_BASE_SDK = "$(TITANIUM_SDK)/iphone/include"
TITANIUM_BASE_SDK2 = "$(TITANIUM_SDK)/iphone/include/TiCore"
HEADER_SEARCH_PATHS= $(TITANIUM_BASE_SDK) $(TITANIUM_BASE_SDK2) $(TITANIUM_BASE_SDK3) // 修正
----------------------------------------

$ ./build.py
-------------------------------------------------------------------------------------
=== BUILD NATIVE TARGET tiarmarker OF PROJECT tiarmarker WITH CONFIGURATION Release ===
Check dependencies


** BUILD SUCCEEDED **

Build settings from command line:
    SDKROOT = iphonesimulator4.3

=== BUILD NATIVE TARGET tiarmarker OF PROJECT tiarmarker WITH CONFIGURATION Release ===
Check dependencies


** BUILD SUCCEEDED **
-------------------------------------------------------------------------------------

ビルドが完了し、めでたくcom.armarkerti-iphone-0.1.zipが生成されました。

  • 3. 生成されたファイルをコピー

「2.」で生成されたcom.armarkerti-iphone-0.1.zipをサンプル動作用プロジェクトのディレクトリ直下にコピーして下さい。

$ cp -p com.armarkerti-iphone-0.1.zip ~/iPhoneApp/ARsample/

これでインストールは完了です。つまづかなければ簡単ですね!


サンプル動かそうぜ!

cloneしたモジュールの直下にあるexample/app.jsでサンプル動作用のディレクトリにあるapp.jsを上書き

$ cp -p example/app.js ~/iPhoneApp/ARsample/Resources/app.js

サンプルアプリを実機へインストールし、実行したが、
ソッコーアプリが落ちてしまった。。。


なぬ。。。!?!?

さて、この後どうなる!?!?!?
つづく。






つづきは、こちら↓
阿部諒が試してみた!『Titanium mobileのARマーカー検出モジュール」編 その2(完結編)

TitaniumMobile iPhone/Androidアプリ開発入門

TitaniumMobile iPhone/Androidアプリ開発入門