これが・・・俺の異能vationだ!
「あんどうさん最近おっぱいが足りないんじゃないですか?」
Androidの偉い人にそんなことを言われたのは確か今年のはじめくらいでしたか。それを聞いた私は「いきなり何を言ってるんだこの人は」と思うより先に「あぁ、そうかもしれないな・・・」と思ってしまったわけで。
で、まぁそんなこんなでやっとそれなりに動くようになったので成果発表。
- アプリ: http://technohippy.github.io/oppai/
- コントローラ: http://technohippy.github.io/oppai/hand.html
- ソースコード: https://github.com/technohippy/oppai
操作方法は以下のとおり。
画面の操作 | 動作 |
---|---|
マウスドラッグ | 触る |
カーソルキー | 視点を変更する |
スペースキー | ボールをぶつける |
enterキー | 上下に揺らす |
wキー | ワイヤフレームと肌色を切り替える |
![]() |
メニューを開閉する |
![]() |
スマホコントローラを開始/停止する |
![]() |
スマホコントローラの画像認識を確認する |
スマホコントローラの操作方法は以下。簡単に弾性体を貫通してしまうので、特に前後に動かす場合はゆっくりと動かしてください。
スマホコントローラの操作 | 動作 |
---|---|
平行移動(上下左右前後) | 手を平行移動する |
左右に傾ける | 手を傾ける |
前後に傾ける | 指を曲げる |
なお、暗いところや正面に光源があるような場所で試すとうまく認識されません。メニューのデバッグ(虫)ボタンを押してスマホのディスプレイの明るさを調節してください。多くの場合、一番暗くするとうまく認識されます。
中身について、弾性体のアルゴリズム?は大昔に作った2D版と基本的に同じで、3Dに拡張しただけ。具体的には半球を構成するポリゴンの各頂点にポリゴンの面積に比例した大きさを持つ法線方向の力を加えています。正直に言えば期待したほどの動きは見られなかったものの、ずーっと3Dで試してみたいと思っていたことをやっと試せたので割と満足。
コントローラについては7月にHTML5 Japan Cupで優秀賞を頂いた3D版AngryBirdsと基本同じ。といっても後発なのでノイズに強くしたり、無理やり傾きを取れるようにしたりとそれなりに拡張していますが。こっちはシンプルな作りにも関わらず思った以上にそれっぽく動いてるので、もう少し真っ当な使い道を探ってみたいところです。
あ、あと3D版AngryBirdsと大きく違うのは物理エンジンの処理をWeb Workersで行うようにしたこと。これでずいぶん反応良くなったのでAngiryBirdsでもそうすればよかったなと。three.jsのGeometryがtransferableってわかったのも収穫でした。
そういえばタイトルですが言ってみたかっただけです。応募して落選しましたが、おっぱいで応募したわけではありません。