opukopuのメモ帳

コンピュータを使わないでいたらいろんなことを忘れてしまったので思い出しながらメモする。

JavaScriptでARに js-aruco

やってみました。
大学で学祭に展示するためのゲームを作れと言われたけど、クソゲーを量産することしかできないので、ゲームとしての面白さより奇抜さで勝負することに。
それでARを使う、はずだった。

JavaScriptでARができるjs-arucoというのがあるらしいのでせっかくなのでJSで挑戦。
どんなOSでも動くし(ブラウザ?Chromeでしょう皆)


まあ、ChromeFirefoxで動けば十分。いまはIEでも動くの…かなぁ
でもどうせならだれでもいつでも遊べるようなものが作りたいのでJSでできるなら理想的でした。

入手方法

https://code.google.com/p/js-aruco/
ここのProject HomeというタブをSourceに変えます。
そうするとSubversionを使ってDLする方法があります。
私はGitしか使ったことがないので調べたところ、svn checkoutコマンドのところはカレントディレクトリにjs-arco-read-onlyというディレクトリを作り、そのなかにURLの中身をコピーするということらしい。#の行はコメントです。
gitでいうところのcloneみたいなものでしょうか。

使ってみる

さっきのProject Homeにいろいろ書いてあるようですが、さっぱり使い方がわかりません。
サンプルのソースがあればいいんですが動画ばかりでみつからない…となやんでいたところ最初のベージの上のところのDemosを見逃していただけというしょうもないオチでした。あれ動画だと思いこんでいて、動画は下にあるんだから違うはずなのに気が付きませんでした。4時間位探してたんだけどな…半分はjs-arucoのソースを読んで使ってやろうと読んでいた時間でしたが。

というわけでDemosの3D-Earthを見てみましょう。サンプルコードはページのソースを見ればわかります。
なんか4つ枠が出て左上にWebカメの映像が写っています。ピースピース
さてマーカーを用意しましょう。手書きで。えんぴつで。
マーカーはProjectHomeのMarkersに作り方が書いてありますが、とりあえず動画のものと同じマーカーを書きました。

ではカメラに写してみましょう。

あれ、反応しない…

いろいろ角度を変えてみる

なんかとぎれとぎれに認識されています。

結果

どうも認識が上手く行きませんね。
これはちょっときついです。
手書きだから行けなかったのかもしれませんが、ゲームを作るとなると結構マーカーも動くので読めない恐れがあります。
まあ遊ぶくらいならいいんでしょうけど、ちょいと忙しいので今回はこれでもう手を引くことにします。

おまけ

あまりに内容がない記事なのでおまけ知識を。
js-arucoとはなにか。
私はARをやったのはこれが初めてだったので詳しくなかったのですが、ArUcoというARのC++ライブラリがあるようです。そのJavaScript版ってことですね。ArUcoのArはARのことUcoはUniversidad de Cordoba、スペイン語でコルドバ大学という意味らしい。
コルドバ大学で作られたということでしょうか。


というわけで苦し紛れに意味をもたせました。JSはあきらめてC++でまたやります。