【LEAP motion・Unity】触覚グローブでユニティちゃんにさわってみる

f:id:kamata0satisfy:20141021233214j:plain

LEAP Motionを使ってユニティちゃんにさわってみる。
LEAP Motionと手袋型デバイスの相性を調べるアプローチでもある。

振動モータを仕込んだ手袋を作り、ユニティちゃんにさわると触覚が刺激されるアプリケーションにしてみました。


1.概要

【VR】触覚グローブで二次元キャラにさわってみた【LEAP Motion】 ‐ ニコニコ動画:GINZA

Unity内にLEAP motionによる手とユニティちゃんを設置。
ユニティちゃんには「胸」と「頭」に当たり判定と対応したリアクションを用意し、手が触れた部位に応じて反応するようにしています。

2.触覚グローブ

で、触覚グローブですが・・・誰かやってるだろうと思ったのですが、ググってみてもほとんど出てきませんでした。

ほぼ唯一の先行研究として、パワーグローブとOculusを組み合わせた方がおられました。↓
(Devel/電子工作/Arduino/PaxPowerGlove - cubic9.com)


LEAP Motionを使えば手の位置や形のフィードバックは簡単にできるので、あとは触覚さえ用意すれば・・・・?

ということで、自作してみることにしました。

使用するのはドライブ用の白い手袋(100円ショップで購入)。
毛糸の手袋よりも縫い付けやすい布であること、手にフィットしやすいことからこれを選びました。


Amazon.co.jp: 紳士用ホック付フォーマルグローブ 手袋 花婿 ブライダル ウェディング 選挙 運転手 メンズ 日本製 結婚式 (Mサイズ, ホワイト): 服&ファッション小物通販
↑こういうの。

この手袋に小型円盤型の振動モータを仕込みます。
円盤型 振動モーター(2個入): パーツ一般 秋月電子通商 電子部品 ネット通販

振動モータだけで触覚と言い張るのは触覚の研究をしている方々にケンカを売るような感じがして非常にアレな気分になったり

取り付けかたは迷いましたが、外側に縫い付け+マジックテープという方法にしました。
見た目は悪いですが、まぁ取り付けられたので良いでしょう。

なんで小指と薬指にモータを付けないのか?というと、この2本は他の指よりも触覚能力が低く、使う機会も少ないので要らないと判断したためです。
これで振動する手袋ができたわけですが、実は白い手袋はLEAP motionで検出しにくいという問題があります。

なので、この上から少し大きめの手袋をかぶせてやりました。

見てくれも良くなったので一石二鳥です。
ちなみに手袋の色は非常に重要で、黒い手袋で試してみたところLEAP Motionでの認識が非常に困難になりました。
LEAP Motionは赤外線カメラなので、白色や明るい色のほうが検出しやすいです。


モータの制御は、Unityからの信号をArduinoを介して行わせることにします。

UnityとArduinoの連携については、凹みさんのブログが参考になりました。
SerialPort または Uniduino を使った Unity と Arduino を連携させる方法調べてみた - 凹みTips

触覚グローブシステムを図解すると、こんな感じです。

f:id:kamata0satisfy:20141025024427j:plain


3.考察 - 結局どうなの?

使用してみた感想。
動画においては「触ることができた」とか言っちゃってますが、実際は「触っている」というよりも「当たっている」という感覚のほうが適しています。
おっぱい揉みたい! とか 太もも撫でたい! みたいな触覚を期待しているとガッカリするかも。

VRにおいては、期待と違う触覚はかえって没入感を低下させてしまうという可能性もあるので、難しいところです...

まぁ、触覚が再現できないのは最初からわかっていたので別に良いのです。

それでも「手に当たった!」という感覚はあるので、以下の動画のようにVR内タッチパネル等のインターフェイスには相性が良いのではないかと思います。

Controlling holographic interface with your fingers in VR with Leap Motion - YouTube

こういうのやってみたいなぁ...

4.おわりに

HMD、というかOculusと組み合わせたときの感触が気になるところ。
Oculus欲しいなぁ・・・(遠い目)