2011年9月17日土曜日

狭い部屋でKinectを使えるようにするZOOM for Xbox 360

Xbox 360 Kinect センサーを使うためにはそれなりの広さが必要(Kinectから1人だと1.8m、2人だと2.5m離れないと正しく認識されない)なため、買ったは良いけど部屋が狭くお蔵入りとなっていた。しかし、この距離の問題を解決してくれるZOOM for Xbox 360が発売されたので早速購入してみた。パッケージや商品のデザインは、純正品っぽい感じを出している。




仕組みとしては、焦点距離の短いレンズを本体に被せる形で装着して識別出来る範囲を近くするようだ。商品説明では40%程度近づくことが可能とある。装着もワンタッチで簡単に装着できる。装着した感じもあまり違和感がない感じに仕上がっている。


装着後、早速Kinectの設定を行ってみると、1.4mほどの位置で無事認識することができた。40%ちかづけるというのもホントだった。



とりあえず、ゲーム(ユアシェイプ フィットネス・エボルブ)をやってみた。他のレビューなどを見ると認識率が悪くなるようなことも書かれているのでちょっと気になるところもあるが、とりあえず遊べそうだ。ゲーム画面の右側に映っているのが自分なんだけど、Kinectって着ているものも含め結構細かく認識するんだな~と改めて関心。



Kinect SDKも公開されたし、これでKinectで色々と遊べそう。



2011年9月4日日曜日

getResourceAsStream()でリソースが読み込めない

getResource(),getResourceAsStream()でちょっとはまったので忘れないうちにメモっとく。
まずは動作の基本から、クラスローダ(ClassLoader)に対するgetResource(),getResourceAsStream()は、クラスパスのルートのパスを検索するようになっており、引数で渡した文字列でそのままクラスパスのルートから検索する。なので、文字列の頭に基本的に"/"は付けない。
一方、クラス(Class)に対するgetResource(),getResourceAsStream()は、引き数の文字列の頭に"/"が付いてる場合は"/"を以降の文字列で、引数の文字列の頭に"/"がついていない場合はパッケージ名の"."を"/"に置き換え引数の文字列と"/"とで連結した文字列を、クラスパスのルートから検索する。
例えば、foo.bar.TestMainというクラスがあり、同じパッケージのフォルダ内にTestMain.propertiesというリソースがあった場合、以下の3つの方法でアクセスが出来る(すべて同じ動作)。


TestMain.class.getClassLoader()
    .getResource("foo/bar/test.properties"));

TestMain.class
    .getResource("/foo/bar/test.properties"));

TestMain.class
    .getResource("test.properties"));

ここまでは、位置に依存しない方法でのリソースへのアクセスの仕様を見ればわかるのだけれど、実行時にクラスがjarファイルなどに格納されている場合、実行環境によりなぜかgetResourceAsStream()でリソースが読み込めない場合があるようだ。どうやら、内部的にファイルとしてアクセスしようとして、zip内のファイルを読み取ることが出来ずに例外が発生しているらしい。ちなみにgetResource()でURLはちゃんと戻るからファイルの存在は認識しているようなので不思議だ。
今回、Windowsで開発していたときは問題なかったのだが、LinuxのWebLogic上で実行した際に、リソースにアクセス出来ないという現象が発生していた(WebLogicはwarをデプロイすると/WEB-INF/classesがjarにまとめられる)。


結局のところ実行環境によらずにリソースにアクセスするための解決方法としては、下記のようにするのが良いようだ。
URL resource
    = new URL(TestMain.class.getResource("."),
              "test.properties");

InputStream in 
    = resource
      .openConnection().getInputStream();
:


※2014/02/09 ソースコードの表示方法を変えました。




2011年3月10日木曜日

LifeTouch NOTEを使ってみる

以前モバイルギアを使用していたこともあり、モバイルギアの後継とも思えるLifeTouchノートを早速購入したので使用感などを報告しようと思う。

まず、本体の色だが、購入する前は黒または赤にしようと考えていた。しかし、実物を見ると黒はツヤがありすぎて指紋が目立ちそうだし、赤はちょっとイメージしていた感じと違っていた。意外にチョコレートブラウンの色がいい感じだったのでチョコレートブラウンを選択することにした。

モバイルギアと比較するために、並べて写真を撮ってみた。横幅が少し短くなっているが大きさはほぼ同じくらいで薄くなっている。

初回起動時にネットワークの設定が必須(ウィザードに従うとネットワーク有効にならないと先に進めない)のようなので注意が必要かも。。。


起動は、30秒ちょっとと思ったより時間がかかる感じ(動画参照)。ただ、スリープからの復帰は瞬時なので普段は気にならないと思う。文字の入力する際のキータッチはモバイルギアよりちょっと浅めでちょっとちゃちな感じするが、それほど悪くはない?少なくともASUSのeeePC901よりは入力しやすいと思う。。また、モバイルギア同様に、IMEとしてATOKが入っているのがうれしい。難点をあげると、_(アンダーバー)キーの位置か、なにゆえにカーソルを挟んでしまったかな。。。。

ついでにモバイルギアのスタイラスとLifeTouch NOTEのスタイラスも比べてみた。やっぱり、スタイラスはモバイルギアのほうが大きくて使いやすいと思うが、本体の厚みがちがうので仕方が無いところか。。


ちなみに、Andoroid OSのバージョンは2.2。バージョンアップが提供されるかが気になるところ。しかし、Android Marketがインストールされているところが良い点。また、Android Marketの他に、NECのAndronaviもインストールされているので、追加でアプリケーションをインストールしたいときに困ることはなさそう。

早速ツイッターなどのアプリを入れてみた。動作は軽快だがちょっとフォントが見づらいかも。。。

まだ、触ったばかりなのでもう少し慣れてから続報をお届けしたいと思う(いつになるかは不明)



2011.09.17 更新
今更なのだが、、_(アンダーバー)キーの位置とかをカスタマイズ出来るアップデートが公開されている。「Insert」・「カタカナ」・「←」・「↑」(矢印キー)「ろ」の5つのキーで配置パターンを選べるみたい。ついでにキートップもなんとかなると更に良いのだけどね。。。
「個人向けスマートブック「LifeTouch NOTE」無償アップデートを開始 」
http://121ware.com/navigate/support/ltn/info/20110627/