« ミラノ日記最終日 4/21 | Home | あーなんか »

Apr 262007

デバイスのステータス


Jeff Han's Multi-Touch Screen

昔から思っていることをまとまり無くだらだらと書いてみる。
あまり整理されてないので、まじめに読むと時間の無駄である。
(そもそもこのブログに無駄じゃないものがあるのかは疑問だが)

これは特にFlashとかPCとかいう話ではなく、マウスイベント、もしくは入力デバイスのステータスの話。
簡単にイメージしてもらうとマイノリティリポートで、トム・クルーズが操作する空中に浮かぶインターフェイスみたいなやつだ。

現状入力デバイスの主なステータスとして"rollover","rollout" "press","release"の4つが挙げられる。("dragout","releaseoutside"は明示的なイベントとは考えず除外しています)
強いて言えば"press"と"release"の区分も結果としてはさほど違いは無い。(タイミングの問題)

ということで絞り込むと"rollover","rollout","press"の4つになるわけだが、常々ここにもうワンステータス欲しいなあと思う。分かりやすく言うと"rollover","rollout"を「意図的なもの」「意図的でないもの」の2つに区分できないか?と・・。

マウスポイントの座標によって制御されるインターフェイスがあったとして、座標変化の想定されるパターンとして「意図的に操作したい場合」と、「操作するために座標を整えたい場合」の2パターンがある。で普通のPCデバイスの場合これの簡単な解決策としては"press"状態を組み込むことで区分できるのだけど、この結果としてインターフェイスから任意のポイントを選択するイベントとの重複が発生してしまう。普通のPCデバイスであれば"double click"で対応するのだけど、センサーなどからのインプットの場合はこれが難しい。(閾値(到達点)が把握できないのと、入力者に対してのフィードバックが触覚ではなく、画面の結果を通して認知させることになるので、どーも気持ち悪そう)
センサーなどの場合はリアクトするフィールドから離脱して座標を整えることが可能なので、"over"系の区分は難しくないのだけど、"press"系のイベント取得は難しい。(タッチパネルを組み合わせれば簡単にできそう) 

ここまで話してなんとなく言いたいことは分かってもらえたかと思うが、実際の空間における「赤外線センサー」「タッチパネル」を組み合わせた状態のステータスが欲しいわけ。それがあるとかなりやりたいことが色々できるのだけど、まぁソフトだけでなんか上手く回避できるのか?と言われると無理そうな気がする。

実際に赤外線系センサーのみを用いた場合はオデだったら基本的な座標変異を"over"系の入力としつつ、その状態での形状チェックを行い、たとえば「丸」を画面上で描いた場合、"press"判定という挙動にすると思う。

タッチパネルと組み合わせて「画面に触ったらpress」というのが一番簡単だと思うが、二つの異なる入力デバイスからの情報ってどやって分離できるのか不明。

あとは足かなあ?アクセルみたいなのが足元にあって、それのON/OFFで区分とか・・・。車のインターフェイスを踏襲した形は比較的なじみやすいかも。

これの場合は同じエレメント上で2点入力が行われた場合がselect(Active)した状態というパターンのものが数種類あるが、このインターフェイスにおいて明示的なselectという概念はあまり無いような気もする。(ちなみにこれはタッチパネル)

そもそも現実世界では、同じインターフェイスでも持ち方によって異なる意味を持つので、仮想世界ではアフォーダンスのタイプは圧倒的にかなわないのだけど・・・。(逆にありすぎても困るが)

オデのplaylistから少し・・







Leave a comment

Search and Archives