エドさんのAndroid AR講座 https://ameblo.jp/edyksa105/ Android端末にAR(拡張現実感)アプリを実装してみよう! ja-jp 第8回 「ネイティブコードの利用」 https://ameblo.jp/edyksa105/entry-10952261848.html 前回はズーム機能を実装しましたが、Javaでの画像処理には限界もあり、十分な秒間フレーム数が出せませんでした。今回は、それを補うために一部をCのコードに置き換えることによって速度を改善する方法を紹介します。手順は次のとおりです:【準備】  (1) Cygwin をインストールする  (2) Android NDK をインストールする  (3) Eclipse の設定、ツールのインストールを行う【ビルド】  (4) Eclipse 上でプロジェクトの一部を C/C++ に書き換える  (5) Cy 2011-07-13T17:52:15+09:00 第7回 「ズーム機能の導入」 https://ameblo.jp/edyksa105/entry-10950568910.html 今回はカメラのプレビューコールバック機能を使って、ズーム機能を実装します。本講座の最初にも書いたとおり、第 8 回までの内容では、カメラ画像を解析してオブジェクトを認識するなどの要素が入っていないため、カメラ画面と、アニメーションを描画するAR画面とはまったく独立です。したがって、今回のズーム機能も、アニメーションとは切り離して実装することができます。つまり、第 7 回のコードはほとんど変更せず、そこへの追加だけで大部分は済ませることができるというわけです。今回追加する機能は次の 3 つです。( 2011-07-12T13:28:16+09:00 第6回 「複数の目標の扱い」 https://ameblo.jp/edyksa105/entry-10948428638.html 前回のアニメーションのアプリを拡張して、今回は複数のターゲットを同時に攻撃できるようにします。修正点は次の 3 つです: (1) ターゲットに ID を付与し、複数のターゲットを互いに区別可能にする。 (2) 複数のターゲットを指定できる U/I を実装する。 (3) 複数のターゲットのそれぞれに対するライフサイクルを描画する。まず (1) の ID の付与に関して、ターゲットクラスの変更を見てみましょう。Target.javapackage com.artiscc.aimnshoot;impo 2011-07-10T15:59:55+09:00 第5回 「複雑なアニメーションの表示」 https://ameblo.jp/edyksa105/entry-10946238332.html 前回のコードの中で、若干説明不足のところがあったので、補足しておきたいと思います。ARView.java の中に setCoordReticle(new Point(tar.x, tar.y)); int bombX = tar.tick * tar.x / 10; int bombY = tar.tick * tar.y / 10;というコードがありましたが、これは本来ならばターゲットクラスの変数 tar の属性値を getTick() や getX()、getY() などで 2011-07-09T14:58:26+09:00 第4回 「アニメーションの表示」 https://ameblo.jp/edyksa105/entry-10945833660.html アニメーションを表示するには、GIFアニメやフラッシュ(swf)を利用するなど、いくつかの方法が考えられます。ただ、ミサイルの飛ぶ軌跡に従って各フレームを表示し、指定されたターゲットの場所で爆発させるなどの細かいコントロールを行いたい場合には、出来合いのツールを使う方法ではかえって処理が重くなってしまう恐れがあります。また、画像の各フレームを同じ大きさで作る必要があるなど、かえって画像リソースが大きくなってしまう場合もあります。そこで、ここではタイマーを使って 1 フレームずつ画像を表示するとい 2011-07-07T04:04:07+09:00 第3回 「ジェスチャの認識」 https://ameblo.jp/edyksa105/entry-10944020304.html 前回は、カメラ画面の上にAR画面を載せて画像を表示するプログラムを作成しました。メインの AimnShoot クラスはビューを追加する数行が増えただけで、画像表示は ARView クラスが担当するという機能分担でした。なお、カメラからプレビュー画面を送ってくれる CamView クラスは第1回から何の変更もありませんでしたが、これは今後の講義の中でも一切変更はないので、とりあえず忘れてしまってもかまいません。以上をまとめると、・AimnShoot初期化、全体制御、情報交換を行う・CamView表 2011-07-05T11:45:54+09:00 第2回 「AR画面の表示」 https://ameblo.jp/edyksa105/entry-10943776505.html 前回はブログの立ち上げに集中したあまり、Androidアプリの開発環境について何も書かないまま終わってしまったので、一言補足しておきたいと思います。私の環境はEclipse上でAndroid-SDKを動かすという標準的なものです。インストール手順について、ここに詳細を書く余裕はありませんが、ウェブ上には多くの優れた解説があるので、それらを参考にしてください。たとえば、「Android SDK Eclipse インストール」などで検索し、なるべく新しい日付の解説を参照するとよいと思います。また、英 2011-07-04T23:43:42+09:00 第1回 「カメラ画面の表示」 https://ameblo.jp/edyksa105/entry-10943295480.html AR (Augmented Reality = 拡張現実感) が現在はやりだといわれています。特に、市場を席巻しつつあるスマートフォン上で動くARが大人気のようです。そこで、この講座では、Android携帯で動くARゲームの作成を通じて、Androidアプリの開発技法やARアプリを支える技術についていろいろお勉強していきたいと考えています。講座の前半は、ARだけに限らずAndroidアプリの開発に用いるいくつかの技法を紹介しますので、さまざまな目的を持つ初心者の皆さんの役に立つのではないかと思い 2011-07-04T19:20:04+09:00