本記事はOculus Rift Advent Calendar 2013に向けられた記事です。
12/05担当で、記事はまだ更新途中ですが、時間が迫ったのでたちまち公開させて頂きます。
![](https://blogimg.goo.ne.jp/user_image/75/61/9b38d21522d7c625872bf0192ca70d49.png)
MikuMikuNadeNade(仮)について
1.概要
2013年10月未明、先生からNovint Falconを借りたものの、その応用が見つからず、困っていました。初め考えていた応用例は入力デバイスとして、3Dモデルを造形するソフトを考えていましたが、Novint Falconのコントローラは移動のみで、回転運動が表現できないため、利用方法までは思いつきませんでした。
その後、MikuMikuAkushuという革命的な応用例が出て、自分も同じように仮想人物に接触するツールとして使えないか?という方向性にシフトしました。2.Novint Falconの性質
NovintFalconはハプティックデバイスとして、入力として現在位置の検知、出力としてモーターのトルクの反力を得ることができます。ただし、すべて直線運動に変換され、コントローラもがっちりと固定されているので、ワイパーをかく運動のような動きになるので、応用が限られます。
3.作るきっかけについて
MikuMikuNadeNade(仮)を作る経緯に至った理由についてですが、これはOculfes出張版 in 徳島マチアソビでMikuMikuAkushuを触り、改めて次の事が気になったからです。
ミクさんを見つめながら、自分の手で頭を撫でる事が出来たら、よりミクさんを身近に感じられるのではないか?
難しい言い方をすると、
VR空間上の物体への接触に代替品を用い、またHMDを使ったVRで代替品である事の認識をぼかしてしまう事により、それがあたかもVR空間上の物体に触れているという感覚が得られないか?また、こちらのアクションに合わせてフィードバックを返してくる仕組みがあると、VRにおいて現実感を付与するのに貢献できないかと考えたわけです。
4.なぜ「頭を撫でる」のか?
人間の触覚で面積あたりで一番感覚を強く感じるのは舌ですが、さすがにそれだと衛生上の問題がつきまとうので、二番目に強く感じる、指先が使えるようにすることを考えました。
そのためにはコントローラなどを手で握り込んでしまうと、指先が使えなくなってしまうので、支える必要が無いようにかつ、 触れるものというふうに考えました。
基本は撫でるコンセプトは固まっていたので、あとは何を撫でるかを考えていたところ、人の頭にしました。普段子どもを相手にしていない限り、人の頭を撫でる機会はそうそうありません。
お互いに癒しの効果があって、なおかつ手に入れやすいものとして、ヘアメイク用のマネキンとウィッグならなんとかなるだろうと思い、人の頭の触覚を目指しました。5.試作と問題点
発泡スチロールのマネキンを用意し、ウィッグをかぶせて、なんとかNovint Falconに括り付けたところ、大きな問題に当たりました。
頭を撫でる動きは球面を撫でる動きに近く、撫でる時に摩擦が発生しそれによりその摩擦による反作用力が回転運動となり、手に頭が付いてくるという事態がおきました。
Novint Falconのコントローラはほぼ球形のため、支えて固定する箇所が無く、マジックテープを使って遊びがあったため、かなりグラつき、撫でる事自体が難しくなっていました。
![](https://blogimg.goo.ne.jp/user_image/3d/52/c06fc9b6075aa1d1947535f211f62f8a.jpg)
6.改良?
マネキンが胸像モデルだったので、まずはこれを取り去って、なるべく大きな回転運動にならないように、思い切って眼よりも下の部分を切り取るという事をしました。これによって見栄えは凄く悪くなりましたが、手に頭が付いてくることも少なくなりました。
![](https://blogimg.goo.ne.jp/user_image/10/58/88df86254067c44c6482085fa69ccd04.jpg)
7.撫でている、という状態の検出ギミック
画面向こうのミクさんに撫でていることを知らせるために、いくつか案を考えましたが、手に何かを装着するタイプだと触る事に集中できないと思っていましたので、撫でた時に発生する音を拾うようにしました。
![](https://blogimg.goo.ne.jp/user_image/75/7b/50b0b6c86f964a6b731e7bd3c6e7af0b.jpg)
Unity上でマイクのボリュームを拾うコードはこちらを参考にしました。#junki::acoustic - Unityでマイクのボリュームをリアルタイムに取得するAdd Star
ミクさんを撫でた時に、表情が変わるようにし、撫でているという印象を与えているものを付加しました…がもうすこし改善する必要がありそうです。
参考までに、ミクさんでの撮影が間に合わず、同じモーションを使っているHonoka Futabaモデルを使ったナデナデ動画を掲載します。改良版をお楽しみに!
8.感想、今後の課題
仮想空間上に自分の手が表示されていないので、手の位置の感覚が曖昧になってしまっています。これをなんとかセンサーを腕に付けずに改善できれば良いなぁと思っています。やはりkinectかWebカメラで手の位置のセンシングなどが現実的ではないかと考えています。
![](https://blogimg.goo.ne.jp/user_image/7b/d6/3786b6077c697398d92fd33443fcc019.jpg)