論文読み: Bringing Physics to the Surface (UIST'08)

Bringing Physics to the Surface という UIST'08 で発表された論文を読んだので、色々メモしておこうと思います。ちなみに UIST'08 のベストペーパーらしいです。

Wilson, A., Izadi, S., Hilliges, O., Garcia-Mendoza, A., and Kirk, D.
Bringing Physics to the Surface
UIST 2008
Project page

概要

インタラクティブサーフェス (テーブルトップなど) で物理エンジンを使ったインタラクションをする際に、タッチ入力をどのようにモデル化すると良いかを議論している論文です。

著者

筆頭著者の Andy Wilson は Microsoft Research の研究者で、マルチタッチやジェスチャーなどを用いた Natural Interface を専門としています。毎年トップカンファレンスに論文を出している有名人です。

動画

既存研究との差異

タッチ画面上で物理的に動いているように見える効果は既存のものでもあった (慣性スクロールなども含まれる?) そうですが、どれも事前に挙動が細かくプログラムされていたりしたそうです。それに対して、この論文では一般的な物理エンジン (PhysX, Havok など) を用いることで、そういった preprogrammed でないものを目指しています。

タッチ入力とデバイス

この論文では vision-based なタッチデバイスを想定しています。vision-based なタッチデバイスではタッチした座標が得られるだけでなく、指の形や画面付近の物体の様子などの情報も得ることができます。

こうした情報は

  1. 衝突判定
  2. 指のトラッキング
  3. 人差し指に頼らない、より自然なインタラクション

に役立つそうです。

残念ながら iPhoneAndroid 端末は vision-based ではありません。

指のモデル化の種類

指のモデル化の方向性として、以下の5つを提示しています。

Direct force

オブジェクトと指が接触した箇所に直接力を発生させる方法です。

Virtual joints and springs

オブジェクトと指が接触した箇所を継ぎ目として仮想的なバネを考える方法です。指を動かすとオブジェクトが追従してくるので Drag-and-Drop のような操作感になるそうです。

Proxy objects

指をおいた場所に仮想的な立方体や球 (rigid body) を考え、それらとオブジェクトとの衝突や摩擦を考える方法です。この場合、衝突や摩擦は既存の物理エンジンを使って計算が可能です。この方法では指の形は考慮しません。

Particles

指の形を考慮して、形の輪郭に沿うように沢山の rigid bodies を置く方法です。この論文で最も強調されて議論されている方法です。

Deformable 2D/3D mesh

変形可能な 2D, 3D mesh を形成して、これとオブジェクトとの衝突や摩擦を考える方法です。直感的には最も高い fidelity を達成しそうですが、そもそもそのような mesh の形成自体がテーブルトップなどでは難しいなどの問題があります。

ユーザテスト

上で説明したモデル化のうち

  1. Virtual joints and springs
  2. Proxy objects
  3. Particles

の3種類について、簡単なタスクを用いて比較し、議論しています。

Virtual joints and springs とシングルタッチの呪い

Virtual joints and springs の操作感が Drag-and-Drop に近いことが原因か、被験者はシングルタッチのみでマルチタッチを使わない傾向があったそうです。

視覚的なフィードバック

ユーザテストでは視覚的なフィードバックをするかしないかで、両方実験しているのですが、この差が特に顕著に表れたのは Particles でした。Particles では指の形を反映するので、被験者は視覚的なフィードバックによって、指の先端だけでなく手のひらなども自由に使えることを認識できたそうです。

掴む操作

Proxy objects や Particles では球などの曲面を持つオブジェクトを掴むなどの操作がうまくいかなかったそうです。(Joints では掴むという動作自体がありません。) これは、オブジェクトの横方向からの力の作用としての摩擦力をうまく扱えていないことに起因します。
なお、Proxy objects と Particles では Particles の方がタッチの輪郭を使える分上位互換だというようなことが述べられています。*1

後続研究

論文の最後の方でも議論されていました *2 が、やはり「掴む」という操作の扱いが難しいそうです。そこで、「掴む」に特化して Particles の方法を改良した手法が以下の論文で紹介されています。

Wilson, A.
Simulating Grasping Behavior on an Imaging Interactive Surface
Interactive Tabletops and Surfaces (ITS) 2009
Project page

ちなみにこちらの論文は Andy Wilson による単著となっています。

*1:この部分は少し解釈に自信がないです。

*2:詳しくは論文を参照して下さい。