Comments
Description
Transcript
妄想リアリティ
NyARToolkitのれきし? NyARToolkit プロジェクト 2010.08.29 nyatla 自己紹介 NyARToolkitプロジェクトの主催やってます。 所属はありません。 神奈川県に住んでます。 猫が大好きです。 エビが食べれません。 その1:NyARToolkitのれきし編 きっかけ れきし- 友達に、この辺の動画を勧められて ARToolKitが普及した世界を、見てみたいなと思いました。 (2008年3月) 妄想したこと れきし- マーカのあるところには、何かがあることを、 (金をかけないで)常識にしよう。 妄想を実現する計画 れきし- 株式会社ARToolkit(のようなもの) を作ればいい! ● 誰でも使えるように、開発環境を整備。 →開発者の多いプラットフォームへ移植。 ● 作ったライブラリ持って、本家とライセンス契約。 →普及活動の為の根拠作り。 ● 国内代理店を設置して、安全に使えるように。 →商品化しやすい流通網を作る。(商用ライセンス) ● 様々な人が様々な目的で開発に参加して、製品を作る。 →有償/無償,ピンからキリまで、色々なものが作られるはず。 →モノが溢れれば、それが常識になる。 ● ついでに名前が売れれば、仕事見つかるかも。 →※2008年末で仕事がなくなる予定だったので。 それから色々ありました れきし- 2008年 ○作り始めの時代 ・にゃーつーるきっとははずかしいので、エヌワイエーアールツールキットということにします。 ・作り始めたのは、当時は研究者や少数の開発者の玩具にしておくのは惜しいなと考えるなど。 ・インターネットにつなぎやすい環境に持っていくことで、革命が起こるかも? ・アプリ部分のネタを出し続けるのは困難だし、競争が激しそう。 ・ARToolKitをきちんと商品化すれば、使える人もう減るはず。ならば、基礎部分を立て直そう。 ・巻き込む人を増やしたいなと。特にパワーのあるクリエイターの人。 ○目標設定の時代 ・論文よく分からない。移植しながら覚えよう。ついでに英語は大変苦手。言語のバランスを考えてJavaを選定。 ・移植はほぼ写経。関数のIN/OUTが変わらないように、1関数づつProxy/Stubを作って移植。今から考えると大変間抜けな話。 ・3Dやカメラパラメータは特によくわからない。(今もあまり分かってない。) ・Javaを始めたのは実はこの時。 2009年 ○Java版開発の時代 ・当初の性能目標は静止画に画像を構成する程度だったが、想像以上に早く、動画もいけそうである。 ・ここから論文を無視した地道な高速化が始まる。 ・しのぶさんが動作確認してくれる。完成。 ○公開・そして移植祭りの時代 ・FLARToolKitが現れる。正直ちょっといじけてた。 ・仕方ないのでNyARToolKitCSを作った。 ・C#を始めたのは実はこの時 ○売込の時代 ・日本で商用利用が普及しないのは、ライセンス流通に問題があるためなので、改善を開始。 ・ARToolWorksに売り込み開始。目標は日本に代理店を作ること! ・NyARToolKitを売り込んだのに、なぜかFLARToolKitについてのライセンスについて、ARTWと交渉を始める。 ・FLARToolkitのライセンスが世界で売れるようになる。 ○流通拡大の時代 ・ライセンス販売代理店の話を持って、国内の会社に勝手に営業にまわる。 ・交渉中にARTWから「お前の英語は判らん」と言われ、加藤先生を紹介してもらう。 ・結局MSOFTにお願いして、代理店完成。日本でARToolworksの製品が売れるようになる。 2010年 ○個人的移植祭り ・NyARToolkit for processingができてしまう。 ・NyARToolkit for C++ができてしまう。 ・FLARToolKitの移植が大変そうなので、コア部分をNyARToolKitAS3としてリリースするようになる。大変不評。 ○なう ・NyARToolKit for Androidプロジェクトの開始。主催はいがらしさん。Android端末で実用的な速度で動作するようになる。 ・SLARToolKitの開発の開始。主催はReneさん(ドイツの人)。 ・本体の開発は停滞中。 ・商用ルートは丸投げで稼働中。 ・GPL版の管理を時々している。 そして今 れきし- 妄想ほぼ達成 但し仕事以外 開発環境の拡大 れきしARToolKit NyARToolkit NyARToolkit for Processing NyARToolkitCPP NyARToolkit for Android NyARToolkitCS SLARToolKit FLARToolKit FLARManager NyARToolkitAS3 FLARToolKit for wonderfl 対応プラットフォームの種類 れきし言語 対応ライブラリ プラットフォーム C ARToolKit,NyARToolkitCPP いろいろ C++ NyARToolkitCPP いろいろ C# NyARToolkitCS PC/スマートフォン Java NyARToolkit JavaVM/ 携帯電話 Android NyARToolkit for Android Android端末 ActionScript3 FLARToolKit, FLARManager ブラウザ Silverlight4 SLARToolKit Processing NyARToolkit for processing Processing ブラウザ れきし- 流通網 NyARToolkit FLARToolKit 他派生ライブラリ 商用許可 販売委託 商用ライセンス 代理店契約 M・SOFT 商用ライセンス 日本以外 れきし- 実用例 でも問題もある れきし● NyAR/FLARからの利益還元が不完全 開発に参加している方に、利益還元体制が完全にできていない。特にタロタローグの人と かに。 ● ぼちぼちセンシング技術が行き詰まり ARToolKitからの技術発掘が主なので、そろそろ技術が枯渇&開発もスピード低下。(他で がんばろうとはしているけども。) ● よく無かったことにされる NyARToolkitの存在感が薄くて、よく忘れられる。 →最近だとITmediaに忘れられた。 ● 開発(生活?)費切れ ほぼ日経平均頼み。 →働けという意見もある。 まとめ れきし- 妄想は実現可能。 ※但し、運、タイミングが合えば。 おしまい その2:今の妄想編 今の妄想- ● 作りたいものとか 現実感制御システム ARシステムは、複数の現実感の演算装置。これのモデル化 ○○現実感 + △△現実感 何故? 1.Reality-OS(仮)を作るため 2.AR(笑)とARを区別するため。 = ××現実感 今の妄想- ● ● ● ● RealityOSって何 Reality(現実感)を管理するOS。 今のARアプリケーション開発は、OS無しでコンピュータを動か しているようなもの。アプリが直接デバイスを叩いている状況。 複数のARアプリケーションが同時に動く状況を想像できます か? その為には、ARシステムの一般化と、OSの構築が必要。 DOS(Disk Operating System) ROS(Reality Operating System) 今の妄想- 現実って何だろう ● 現実は、物理法則で支配された巨大なデータベース ● センサデバイスで値を読みだすことができる。 ● エネルギを加えると、値を変えられる。 現実 = データベース 今の妄想- ● 現実感って何だろう 極端な表現をすれば、現実感は現実のサンプリング値。データベー スの代表値である。(と思う。) 現実感 = データベース の代表値 サンプリング 変換 抽出 現実 = データベース 今の妄想- 仮想現実感(VR)って何だろう ● VRデータのサンプリング値から生成した、現実感。 ● VRの現実は、数式で支配されたVRデータベースの値 仮想現実感 = データベース の代表値 サンプリング 変換 抽出 VRデータ = データベース 今の妄想- ● 拡張現実感(AR)って何だろう 現実感で得られたキーで編集したDBから得られた仮想現実感と、 現実感を加算したもの(と思う。) 拡張現実感 現実感 仮想現実感 サンプリング サンプリング 現実 抽出値 3D-DB 今の妄想- ● 現実感OSのデータモデル ARシステムは、2つのデータベース間の同期シス テムと似たようなもの。 現実感 = サンプリング 現実 データベース の代表値 = 抽出 = データベース 仮想現実感 サンプリング = VRデータ 今の妄想Application1 現実感OSの構造考えてみた Application2 Augmented -Reality Random Access API Reality – Unit 現実感IO(Read) ド ラ イ バ ド ラ イ バ ド ラ イ バ ド ラ イ バ 現実感IO(Write) ド ラ イ バ ド ラ イ バ ド ラ イ バ レンダラ Reality -OS 拡張現実感 現実感交換 モジュール ド ラ イ バ RealityData Virtual Reality – Unit 仮想現実感IO(Read) 仮想現実感IO(Write) ド ラ イ バ ド ラ イ バ ド ラ イ バ ド ラ イ バ ド ラ イ バ ド ラ イ バ サンプルデータ 現実Sampler(Read) 現実Driver(Write) ド ラ イ バ ド ラ イ バ ド ラ イ バ 仮想現実感 サンプルデータ ド ラ イ バ ド ラ イ バ RealityData 現実感交換 モジュール 現実感 ド ラ イ バ ド ラ イ バ ド ラ イ バ ド ラ イ バ 操作 サンプリング 現実 ド ラ イ バ DBクエリ(Read) 同期失敗 予測 ド ラ イ バ ド ラ イ バ ド ラ イ バ DBクエリ(Write) ド ラ イ バ ド ラ イ バ サンプリング ド ラ イ バ ド ラ イ バ 操作 データベース ド ラ イ バ 今の妄想- ● 現実感OSで出来ること 現実感の絶対値に基づく、仮想現実感DBの編集 -AR構成要素☆☆☆ ● 現実感と仮想現実感の加算 -AR構成要素☆☆☆ ● 仮想現実感の現実への反映 -仮想空間に従って現実の情報を書き換える。 ● 現実感の一方的な編集 -機器を操作して現実環境を変える。 ● 仮想現実感の一方的な拡張 -単純な3Dモデルアニメーション等 今の妄想- ● ● ● ARとAR(笑)の見分け方 そのシステムに、仮想現実感が存在するか? 仮想現実感の元となるデータ(データベース)が、 現実感の絶対値に影響を受けているか? 仮想現実感と現実感が加算されているか? 怪しいARは、大体1番目か2番目が抜けている。 と、思う。 今の妄想- 判定 → AR → AR → AR → AR(笑) 理由:仮想現実感DBの更新キーが、現実感の絶対値でない。 おしまい。 おまけ:アクセス解析(nyatla.jp) おまけ:アクセス解析(nyatla.jp) おまけ:究極のAR(俺らの現実感) (c)2002-2010 SQUARE ENIX