カテゴリー別アーカイブ: iPhone

Metaio CreatorによるモバイルAR

先のエントリーで記したように、Appleが買収したモバイルAR(拡張現実)関連会社Metaioは、すでに既存のユーザのサポートのみに移行していて、その製品やサービスを伺い知ることは難しい。ただし、iOSアプリはまだダウンロード可能なので、ARブラウザであるJunaioや、物体認識ツールであるMetaio Toolboxを試すことができる。また、今年の初めにMetaio関連のワークショップを行ったので、その際のレジュメも公開しておくね。この資料やiOSアプリには、Appleが目指すARの一端が含まれているかもしれない(含まれていないかもしれない)からね。

ダウンロード:「なんちゃってAR制作ワークショップ」レジュメ

さて、このワークショップでは、Metaio Creatorなる簡易AR制作ツールを利用した。以下の図のようなオーサリング環境で、認識するターゲットと対応するリソースを指定するだけでOK、プログラム・コードを書く必要はない。これはMacの内蔵カメラで即座にプレビューすることができ、アップロードすればJunaioアプリによってiPhoneで動作する。あっけないほど簡単であり、アイディア次第で多種多様なARを素早く実現できるようになっている。

Metaio Creator Composite

Metaio Creatorが備えるターゲットのトラッキング(認識)方法は、図のように6種類もある。これだけの認識方法をひとつのエンジンで統合しているのは立派。やや水増し感もあるけどね(笑)。

Metaio Creator Trackings

このうち、3次元物体を認識するObject Trackingや建造物を認識するEnvironment Trackingでは、そのデータをiOSアプリのMetaio Toolboxを使って制作する。iPhoneをかざして物体や建物の周囲を回ってスキャニングすれば、3次元位置として特徴点が蓄積されていくことになる。

Metaio-Toolbox-3D-Map

ターゲットが認識された時にトリガーされるリソースも15種類と豊富。静止画や動画、3Dモデルなどを表示したり、WEBサイトの閲覧やツイートの投稿、カレンダーの作成などもできる。必要であればタイムラインによるアニメーションや、簡単なスクリプトの実行も可能。こちらも水増し感がちらほら(苦笑)。

Metaio Creator Resouces

このように見ていくと、Metaio CreatorはARのFlashを目指していたように思える。しかし、Flashがそうであったように、誰でも簡単に作れるものの、最大公約数的な大雑把なコンテンツしか作れないという危惧も強かった。実際にも作例のモナリザは、ARARATのほうが遥かに認識の精度と安定感が良く、イメージの表示もARARTのほうが自然で違和感がなかった。自画自賛のようだけど、これはワークショップの参加者も同意していたよ。

ただし、MetaioにはMetaio SDKなど高度な開発環境も提供されていたので、コード・レベルでチューニングすれば効果的な結果が得られるかもしれない。MetaioはIKEAやAudiなど大手企業のアプリに採用された実績を持つので、それは単なる営業努力だけではないよね。ISMARなど学術会議でのコンテストも勝ち得ている。だから、技術的な基盤は堅牢で性能は高いハズ。AppleがMetaioの何に魅力を見出し、モバイルARをどのように活用するのか、それこそが重要だよね。

ところで、MetaioとはメタI/Oのこと?

アップルはモバイルARの夢を見るか?

「アンドロイドは〜」のほうが収まりは良いけど、ここはアップルです、Apple Inc.です。と言うのも、AppleがAR(拡張現実)界のリーディング・カンパニーのひとつMetaioを買収したから。すでにMetaio社のWEBサイトでは製品の販売や関連する情報は取り下げられている。これまでARには正面切って取り組んでいなかったAppleが、Metaioを得て何をするのか、興味津々です。

Metaio Web Site

ここ数ヶ月を振り返ってみると、Googleは謎に包まれたARスタートアップMagic Leap社に巨額出資を行い、Microsoftは自社開発のARゴーグルHoloLensを発表したよね。Facebookに買収されたHMDの革新者Oculus社も、さらにSurreal Vision社を買収してARに接近中。といったようにIT界の主要プレーヤがARを重要視していることが分かる。そこへAppleも参入するというわけ。

未知数のMagic Leapはさて置くとしても、HoloLensもOculusも頭部に装着するディスプレイが主役。対するMetaioはあくまでもスマートフォンで動作するソフトウェアでしかない。順当に考えれば、Appleが取り込もうとしているのは、その延長線上にあり、いわゆるモバイルAR、つまりセカイカメラARARTがOSレベルでサポートされることになる。数年間の苦節(笑)を経て、モバイルARが桧舞台に躍り出るや否や、これは楽しみですね。

Appleはもっとも革新的なITカンパニーと評されるほど未来志向だけど、その未来は安っぽいSF映画に描かれるようなキラキラのハイテクじゃない。それは日常生活に違和感なく溶け込み、歴史や文化に支えられ、ある意味で古典的(Classic)ですらあるような未来だと思う。それを端的に表すのがCMフィルムで、来年あたりには何気ない日常生活の場面場面でiPhoneをかざす様子が描かれているかもしれない。あるはメガネかもしれない。それはモバイルARの最後の1マイルね。

Apple Watch TV Film

Monacaなる超絶開発環境

WEB系の表現にウトいこともあって気づいていなかったけど、アシアル株式会社のMonacaという開発環境が素晴らしい機能を持っていた。このMonacaはHTML5(とCSS3とJavaScript)で記述して、iOSやAndroidなど複数のプラットフォーム向けのネイティブ・アプリを出力できる。つまり、大昔ならFlashアプリがそうであったように、各プラットフォームの特性を無視した大味なアプリがワン・ソースで作れるわけ。また、クラウド型IDEによってWEBブラウザ(とインターネット)だけで開発ができる。自分のマシンであろうが他人様のマシンであろが、いつでもどこでもログインさえすればセットアップ要らずでWEBベースの緩慢かつ低機能なエディタで作業が続けられる。このあたりがMonacaの大きなメリット(とデメリット)みたい。

Monaca

もっとも、そのようなメリットは個人的には響かない。XcodeでiOS SDKを駆使したSwiftコードを書くほうが遥かに快感だし、マルチ・プラットフォーム対応は砂糖をまぶした悪夢だからね。ところが、Monacaは現在のXcodeでは絶対にできない領域に君臨している。それは開発中のアプリを複数のiPhoneで同時に動作させること。もちろんXcodeでもiPhoneのアプリを動作させられるけど、それは1台に限られるよね。それがMonacaでは何台でも同時に動くわけ(驚愕)。

実際の動作状況は以下のムービーでどうぞ。これはSnowflakesの基本処理をHTML5化してMonacaで動作させている。MacBookではSafariでMonaca IDEを開き、iPhoneではMonacaデバッガーなるアプリを開く。いずれも自分のアカウントでMonacaにログインしておけば、すべてのiPhoneでHTML5で記述したアプリが起動する。途中でコードを修正して保存すれば、それだけで修正したファイルが再同期されてアプリが再起動する。ムービーでは途中で背景色を変えている。ね、恐ろしく簡単で快適でしょ?

このデモでは、Monacaとして動作するアプリをProcessingのJavaScript版であるp5.jsで書いている。JavaScriptは簡単だけど、p5.jsはもっと簡単で、しかもJavaScriptとの親和性も高い。サーバはMacBookで動いていて、これはnode.jssocket.ioで記述。クライアント(iPhone)での通信もsocket.ioを利用している。このようなJavaScript(およびCSS)のライブラリはMonaca IDEで管理できるし、手動で追加・変更しても構わない。

さて、一般には同時に何台も動いても嬉しくないけど、それはデンタクのようなアプリだからだよね。Snowflakesと同様にincubatorOkeanos Buoyなど、複数のデバイスが相互に関連しながら総体としての表象表現を目指している者には、これは喉から手が出るほど欲しい機能に他ならない。これまでも独自の動作環境を作っていたけど、それはパラメータ調整程度に留まっていた。それがMonacaでは言語レベルで構築できるから、感涙なわけです。作業効率は当社比100倍ね。後はこれで作品作れって話だけど、もちろんそれが一番難しい(笑)。

3月27日より名古屋で展示

現実を拡張し現実を変容させるARARTプロジェクトの展覧会が3月27日より名古屋で開催されます。「ウロボロスのトーチ」や「Moments of Bloom」などお馴染み(?)の作品に、ロンドンで好評を博した「屋久島」や、従来とは異なる鑑賞体験となる新作「パノラミックな風景」が加わり、これまででもっとも規模の大きな展覧会となります。会期も1ヵ月半と長めですが、お早めのご来場をお待ちしています。

15AR_A4_ura

展覧会「ARアートミュージアム」〜動き出す不思議な絵〜

会期:2015年3月27日(金)〜5月10日(日) 会期中無休
   11:00〜17:00(最終入場 16:30)
会場:テレピアホール 【地図】
料金:中学生以上 1,200円(前売り 1,000円)
   小学生以下 600円(前売り 500円)
チケット:T-Ticketチケットぴあローソンチケットe+(イープラス)

2月19日より大垣で展示

2月19日よりIAMASのいわゆる卒展でアート・オブ・ライフなるプロジェクトの展示を行います。ノーマルおよびカスタム・バージョンの雰囲気メガネも体験していただけますし、関連する研究成果の展示も行います。

ArtOfLife-IAMAS2015

IAMAS 2015
情報科学芸術大学院大学 第13期生修了研究発表会・プロジェクト研究発表会

日時:2015年2月19日(木)〜2月22日(日) 10:00〜18:00 (初日のみ13:00から)
会場 :ソフトピアジャパン・センタービル 3Fソフィア・ホール他
料金 :無料

また、同じ建物の1FロビーではARARTの展示も始ります。こちらはお馴染み?の名画シリーズに新作としてゴヤの「着衣のマハ」が加わりました。こちらも是非ご覧になってください。

ARART-Softopia

ARART〜拡張現実・変容現実による芸術表現
会期:2015年2月19日(木)〜3月21日(土)
会場 :ソフトピアジャパン・センタービル 1Fロビー
料金 :無料

IFTTTで雰囲気メガネをコントロール

電話着信時やメール受信時に雰囲気メガネが光るのはANCS (Apple Notification Center Service) を利用しています。ザックりと言えば、ANCSはローカル通知やプッシュ通知(正確にはAPNS=Apple Push Notification Service)を外部のBluetooth LEデバイス(雰囲気メガネ)へ横流しにする仕組みですね。なので、何らかの通知を行うアプリやサービスであれば、何でも雰囲気メガネで利用可能。そこで今回はIFTTTによる雰囲気メガネのコントロールを紹介します。

IFTTT(イフト)は複数のWEBサービスを連携させるサービスで、名称の元となった「IF This Then That」が示すように、何らかのトリガー(This)が起これば何らかのアクション(That)を行います。このようなトリガーとアクションの組み合わせをレシピと呼び、ユーザはいくつでもレシピを定義して実行可能です。

雰囲気メガネはWEBサービスではないものの、IFTTTがプッシュ通知に対応しているので、他のサービスと連携できるわけです。ここではシンプルな例として、毎時ゼロ分に雰囲気メガネを光らせてみます。IFTTTのiOSアプリを使ったレシピの作成手順は以下のようになります。

・IFTTTを起動してログイン。未登録であればアカウントを作成。
・トップ画面右上の鉢と棒のアイコンをタップしてレシピを表示。
・右上の+ボタンをタップして新しいレシピを作成。
・ifの次の+ボタンをタップしてトリガーを作成。

Funiki-IFTTT-1

・上部をスクロールして時計アイコンのDate & Timeを選択し、
 Every hout atの横の+ボタンをタップ。
・毎時何分にトリガーするかを選択し、Nextボタンをタップ。
・thenの後の+ボタンをタップしてアクションを作成。

Funiki-IFTTT-2

・上部をスクロールして鐘アイコンのiOS Notificationsを選択し、
 Send a notificationの横の+ボタンをタップ。
・レシピが完成したのでFinishボタンをタップ。
・作成されたレシピが表示される。スイッチがオンであれば実行される。

Funiki-IFTTT-3

以上でIFTTTの雰囲気メガネ制御レシピができました。正確には毎時ゼロ分にプッシュ通知をするレシピですね。IFTTTの通知は「その他」のカテゴリーとして扱われます。雰囲気メガネではトップ画面上部の一番右のアイコンが「その他」カテゴリーの設定です。初期状態でも「その他」カテゴリーの通知は有効なので、特に何もしなくても大丈夫ですけどね。

Funiki-IFTTT-4

毎時ゼロ分に雰囲気メガネを光らせるだけでは面白くないかもしれませんが、アクションには選ぶのが大変なくらい沢山のサービスがあるので、何をするのかはアイディア次第といったところでしょうか。GitHubで新しいイシューが発行されたら、とか、Instagramでお気に入りのユーザが写真を投稿したら、とか…また、WEBサービスだけでなく、FuelbandWeMoのようなセンサーも利用可能です。

ただし、IFTTTには即時性は期待できません。毎時ゼロ分という単純なトリガーでも平気で何分も遅れますから。でも、それも雰囲気メガネに相応しいユルさかもしれませんね。雰囲気メガネは大量の情報を精緻に扱うことを目指していません。だって単に光るメガネですからね!

雰囲気メガネのMIDI/OSCプロトコル

間もなく(おそらく)出荷される雰囲気メガネでは、独自のアプリケーション開発のためにSDKが提供されます。これはObjective-CまたはSwiftというプログラミング言語を用いる本格的なものなので、もう少しお手軽な方法としてMIDIとOSCを用意しています。OSC(OpenSound Control)はMaxなどで簡単に扱えますし、MIDIなら鍵盤を弾いたり、ツマミをグリグリするだけです。

MIDIやOSCをサポートしているウェアラブル・デバイスやモノのインターネットと呼ばれる製品は珍しいと思いますが、これこそが雰囲気メガネの特徴のひとつですね。そこで、ここでは一足早く雰囲気メガネのMIDIとOSCのプロトコル【暫定版】を説明します。正式なドキュメントは開発者向けサイトで公開されるはずです。

雰囲気メガネでのMIDI/OSC

MIDIもOSCも雰囲気メガネのiOSアプリに対してデータを送り、アプリは雰囲気メガネとリンクされている必要があります。つまり、雰囲気メガネ・アプリがMIDIやOSCと雰囲気メガネとの中継役になるわけです。雰囲気メガネ・アプリでは設定ボタンからMIDI/OSC画面を開いて設定を行い、この画面でのみMIDIやOSCを受け取るようになっています。

Fun-iki-MIDI-OSC

雰囲気メガネのMIDIプロトコル

MIDIに関しては、MIDI/OSC画面でMIDIスイッチをオンにするだけで、それ以外の設定はありません。MIDIのすべての経路を受け入れて、すべてのMIDIチャンネルを受け付けます。CoreMIDIに対応していればネットワークMIDIでもバーチャルMIDIでも構わないし、物理的なMIDIインターフェースでも構いません。最近登場したMIDI Over Bluetooth LEも制約があるようですが一応動作しました。何らかのMIDIメッセージを受け取ると、MIDIスイッチの左横にある小さな丸が点滅します。

Network MIDI

MIDIメッセージでは、まず、もっともポピュラーなノート・オンおよびノート・オフ・メッセージに対応しています。MIDI鍵盤を弾けば雰囲気メガネがピカピカと色とりどりに光るわけです。雰囲気メガネの紹介ビデオでもグランド・ピアノを弾いているシーンがありましたね(気分はディスクラビア)。この場合は、ノート・ナンバーを色相として扱い、どのオクターブでもド(C)が赤色で12半音で色環を一周する割当になります。ベロシティは明度の指定で、最大値である127なら最も明るく光り、数値が小さいと弱い光りとなり、0なら光りが消えます。強く(速く)鍵盤を叩くほど明るく光り、鍵盤から指を離せば光りが消えるわけですね。ノート・オフ・メッセージはどのような値でも光りが消えます。

MIDIノート・オン・メッセージ
ノート・ナンバー:色相(図参照)
ベロシティ:明度(0:消灯〜127:最も明るい)

Fun-iki-midi-note
MIDIノート・オフ・メッセージ
消灯

ノート・オンとノート・オフでは色相と明度しか指定できないので、彩度はコントロール・チェンジの1番で指定します。これはモジュレーションなので、多くのMIDIキーボードでは鍵盤の左横にあるホイールやレバーを動かせば彩度が変わります。ただし、コントロール値がゼロの時に彩度が最大で色がはっきりし、値が大きくなるにつれて彩度が下がって白っぽくなります。モジュレーションを上げて「白熱」した演奏になるわけです。

MIDIコントロール・チェンジ
コントロール・ナンバー1(モジュレーション):彩度(0:彩度最大〜127:彩度最小)

指定した色に変化する遷移時間はコントロール・チェンジの5番と56番で設定できます。コントロール・チェンジの5番はポルタメント・タイム、同じく65番はポルタメント・スイッチですから、それっぽいですよね。コントロール・チェンジ5番の値が0であれば遷移時間は0秒、127であれば4秒とリニアに変化します。コントロール・チェンジ65番の値が0から63までなら遷移は無効、64から127までなら遷移が有効になります。

MIDIコントロール・チェンジ
コントロール・ナンバー5(ポルタメント・タイム):遷移時間(0:0.0秒〜127:4.0秒)
コントロール・ナンバー65(ポルタメント・スイッチ):遷移設定(0〜63:有効、64〜127:無効)

さらに、コントロール・チェンジの16番、17番、18番を使ってHSB形式で光りを設定することもできます。これらは汎用操作子の1番から3番で、汎用だから何でも良いでしょうってことです。

MIDIコントロール・チェンジ
コントロール・ナンバー16(汎用操作子1):色相(0:最小〜127:最大)
コントロール・ナンバー17(汎用操作子2):彩度(0:最小〜127:最大)
コントロール・ナンバー18(汎用操作子3):明度(0:最小〜127:最大)

遷移時間の設定以外は、どのMIDIメッセージを受け取っても、ただちに雰囲気メガネの色が変わります。これは、できるだけ簡単に、まさに演奏するように雰囲気メガネをコントロールしたいとの意図です。しかし、逆に言えば効率的ではありませんし、MIDIでは左右個別に色を設定することはできません。より柔軟なコントロールにはOSCをお勧めします。

雰囲気メガネのOSCプロトコル

OSCを利用する場合は、送信するMacやiPhoneと雰囲気メガネ・アプリが動作しているiPhoneとを同じWi-Fiネットワークに繋ぎます。OSCの受信ポート番号はデフォルトで2061で、どこかで聞いたような数値ですが、任意のポート番号に変更しても構いません。雰囲気メガネ・アプリが動作しているiPhoneのIPアドレスが表示されているので、送信元からはこのIPアドレスに対して設定したポート番号でOSCパケットを送ります。OSCのスイッチをオンし、何らかのOSCパケットを受信すれば、スイッチの左横の小さな丸が点滅するはずです。

OSCパケットのフォーマットは以下の通りで、/fun-iki/performというアドレスに続けて7つの数値を与えます。最初の3つの数値は左側レンズの色をHSB形式で指定し、いずれも0.0から1.0までの範囲の実数です。続く3つの数値は右側レンズの色です。最後の数値は指定した色に変化する遷移時間を秒数で指定します。遷移時間として指定できる有効な数値の範囲は0.0秒から655.34秒で、分解能は0.01秒です。

/fun-iki/perform <左色相> <左彩度> <左明度> <右色相> <右彩度> <右明度> <遷移時間>

例えば、次のパケットを送ると、左側は明るい赤色に、右側は暗めの青色にすぐに変わります。

/fun-iki/perform 0.0 1.0 1.0 0.666 1.0 0.5 0.0

そして、次のパケットと送ると、両側のレンズの光りが2秒かけてゆっくり消えます。

/fun-iki/perform 0.0 0.0 0.0 0.0 0.0 0.0 2.0

ちなみに、OSCでは実数を使って細かく制御できるように思えますが、しかし、高い精度は期待しないでください。iPhoneなどのディスプレイに比べると、雰囲気メガネのカラーLEDの色域や精度は広くないですからね。また、データを送ってから色の変化が始るまでの時間的な遅れや、単位時間あたりに送れるデータ量の制限もあります。演奏するように雰囲気メガネをコントロールしたいものの、大量のデータを送ればパケ詰まりになります。このような制限はMIDIでも同じで、実際にデータを送って光り方を確かめながら制作していただけると良いかと思います。

雰囲気メガネのシミュレータ

雰囲気メガネはMIDIやOSCによって光り方をコントロールできるようになっています。そこで製品より一足先にMaxで作成した雰囲気メガネ《非公式》シミュレータを公開します。これで雰囲気メガネへどのようにMIDIメッセージやOSCパケットを送れば良いかが分ると思います。

OSC-Fun'iki 1.0

MIDI-Fun'iki 1.0 SimFun'iki 1.0

雰囲気メガネ《非公式》シミュレータ(Maxパッチ)をダウンロード

ダウンロードしたアーカイブには3つのファイルが含まれていて、そのうちSimFun’ikiがシミュレータ本体で、MIDI-Fun’ikiはMIDIメッセージ送信のサンプル、OSC-Fun’ikiはOSCパケット送信のサンプルとなっています。Maxでプログラミングされる方はMIDI-Fun’ikiやOSC-Fun’ikiを改造すれば良いですね。Maxを使わない場合も同等のMIDIメッセージやOSCパケットをSimFun’iki(を開いているMaxアプリケーション)に送ればOKです。SimFun’ikiは雰囲気メガネのように光る(色が変わる)はずです。実際に雰囲気メガネを使う場合は、ペアリングしたiOSデバイスに対してMIDIメッセージやOSCパケットを送信するだけです。

もっとも、シミュレータは雰囲気メガネの挙動を忠実に表しているわけではありません。雰囲気メガネはディスプレイのように色域が広いわけでも、応答が速いわけでもないからです。応答速度などは出荷直前まで調整が続けられますので、現時点では具体的な数値を挙げられません。ただ、高速に光が点滅するようなコントロールは無理だと考えたほうが良いですね。そのような制限もありますが、ご自身のアイディアで雰囲気メガネを制御する楽しさと可能性にご期待いただければ嬉しいです。よろしくお願いします〜!

雰囲気メガネの出荷予定

雰囲気メガネは2015年1月15日より出荷を開始し、1月中には支援者様全員への出荷を完了する予定となりました。当初は2014年12月中旬に配送予定としていましたので、1ヵ月ほど遅れることになります。お待ちいただいている皆さまには大変申し訳なく、お詫び申し上げます。

FUNIKI-1

少し事情を書かせていただくと、まず、眼鏡のフレームの調整に時間がかかりました。国内外でデモをしていたプロトタイプ(試作品)は3Dプリンタの出力ですが、製品は金型による射出成形になります。この金型の調整は切削や研削と放電加工を繰り返して行い、僅かに変更するだけでも何日もかかります。快適な使用感が得られるように、何度か微調整を行うことが必要でした。

また、ハードウェアとソフトウェアに関しては一般的な状況で問題なく使用できる状態になり、これまでのプロトタイプに比べて、安定性も利便性も向上しています。ただ、特殊な状況では各種の通知(ANCS)やペアリング(ボンディング)が失われることがあり、原因が解明できずにいました。

この問題はハードウェアの根幹部分での対処が必要であり、チップ・メーカーと連絡を取りながら検証を進めていたところ、最近になって改善の目処が見えてきました。これを反映するとなると全体の行程が遅れますが、特殊とは言え存在する問題に取り組むために時間をかけるのが望ましいと判断しました。

そこで、一旦は決定していた生産ラインを組み直し、スケジュールを再調整しました。少しの変更が全体へと大きく波及します。当然のことながら、この時期はクリスマスや年末年始の休暇があるために、何日もの停滞が生じます。一日でも日程を短縮できるように関係者の協力をいただきながら、ようやく最終的な出荷予定を確定できた次第です。

以上の事情により、出荷が遅れることを重ねてお詫びします。ご理解いただき、これまで通りご支援いただければ幸いです。なお、これまでもこれからも、開発スタッフが最大限の情熱を傾けて奮闘していることを最後に申し添えさせてください。1月には最高の雰囲気メガネをお届けできると思います。どうぞ、よろしくお願いします。

FUNIKI-2

10月25日より東京で展示

現実を拡張し現実を変容させるARARTプロジェクトが、写真、CG、動画の制作やストックフォト販売などを手掛けるamana(株式会社アマナ)と共同制作しARART作品を東京で展示します。これは9月にロンドンのTENT LONDONで好評を博した新作5点を、よりブラシュアップしてTOKYO DESIGNERS WEEKに出展するものです。お近くにお越しの際は是非ご覧ください。

amana-x-ARART-TENT

TOKYO DESIGNERS WEEK 2014 / amana x ARART

会期:2014年10月25日〜11月3日 
会場:明治神宮外苑絵画館前
   クリエイティブライフ展 CL114
   要入場料