モバイルARのハプティクス:「タッチ」の感覚でARKitアプリを強化する方法

ARとVRのハプティックスの未来に本当に興奮しています。私のHTC ViveとParzivalとArt3misでOASISに飛び込むことの間のミッシングリンクのように感じます。そのため、ハプティクスが現在XRコミュニティで最も期待されている技術であることは驚くことではありません。 MicrosoftやHTCのようないくつかの企業、およびSenseGloveやHaptXのようなスタートアップは、私が試してみたいと思っている触覚手袋のますます有望な反復のデモを示しています。

残念ながら、今日のほとんどのAR開発者と同様に、Placenoteでの作業は、ARKitやARCoreなどのモバイルARプラットフォームにほぼ集中しています。当然、これにより、「ハプティックスはモバイルARに対して何かできるだろうか?」

触覚は、触覚ボタンのクリックのシミュレーションからサイレント通知まで、タッチスクリーンへの素晴らしい追加です。しかし、いくつかの必死のグーグル検索の後、モバイルARアプリのハプティックスについては実際に実際の議論はこれまでにないことに気づきました…CHALLENGE ACCEPTED

モバイルARの課題

私たちは、ハプティクスがモバイルARに組み込まれなかった理由を掘り下げることにしました。その理由を見るのは難しくありませんでした。モバイルARは、最も没入感の低いARメディアです。コミュニティでのコンセンサスは、究極のARプラットフォームであるスマートグラスとのギャップに過ぎないということです。

ただし、ここでの障壁はマインドセットだけではありません。モバイルフォームファクターは、ARエクスペリエンスデザイナーにいくつかのユニークな課題をもたらすことがわかりました。

  • ヘッドセットとは異なり、電話画面はディスプレイであると同時にコントローラーでもあります
  • 携帯電話を持っているので、体験に手を入れることは不可能です。
  • 次元が曖昧なタッチスクリーンインタラクション(2Dまたは3Dタッチ)に依存していますか?

それにもかかわらず、現実には、今後数年間、そしておそらくそれ以上、モバイルARが存在し続けます。現在、消費者のポケットには10​​億台のモバイルデバイスがあり、頭にあるARヘッドセットはほんの一握りです。開発者として、アプリの配布は他のほとんどの要因よりも優先されます。実際、屋内のナビゲーションやゲームなどのアプリケーションでは、モバイルがARエクスペリエンスを展開するための実行可能な媒体として既に実証されています。

これにより、モバイルARの触覚のトピックに到達できます。最初は、ハプティックスがモバイルARエクスペリエンスを向上させる本当の希望はないように思えるかもしれませんが、最近の研究では実際にそうではないことが示されています。

触覚では、少ないほど多い

触覚フィードバックを達成するために考案された無数の方法がありました。一般に、それらは2つの広いカテゴリーに分類されます-運動感覚ハプティクス(力覚)と皮膚ハプティクス(皮膚感覚)。

運動感覚の触覚は、より現実的な触覚技術であると広く考えられています。これには、接地または非接地の物理アクチュエータが含まれます。これらは、仮想オブジェクトとの相互作用に応じて、指やその他の付属物を押したり引いたりします。直観的に、現実的な力のフィードバックは、普通の古い振動よりもはるかに優れたパフォーマンスを発揮するはずです。しかし、今年「サイエンスロボティクス」で発表された「触覚の不気味な谷」という研究は、これらの仮定に挑戦しています。

研究者は、触覚感覚のリアリズムを向上させても、AR体験の質が必ずしも向上しないことを発見しました。シミュレーションの不自然な現実感の谷により、しばしばマイナスの影響があります。彼らは、本質的に軽いタッチと振動の組み合わせである皮膚触覚が、脳を幻想の奥深くまでだますのにはるかに優れていることを発見しました。奇妙な結果ですが、彼らは基本的に、私たちの脳が現実感のギャップを埋めることにどれほど優れているかを過小評価していることに気付きました。

ギャップを埋めるために私たちの脳が介入する状況は、触覚の知覚について最も興味深いと思うものです。 — Osso VRのCEO、ジャスティンブラッド

モバイルARにハプティクスをもたらす

これらの発見を踏まえて、モバイルARで皮膚触覚ができることをテストしてみませんか?結局のところ、モバイルの触覚は、もはや着信音を振動させることだけではありません。

モバイルデバイス上のMicro-Electro-Mechanical Systems(MEMS)は、はるかに洗練されており、かなり微妙な動作が可能になりました。 iPhone 7以降、Appleは古い基本的な振動音を現在のTaptic Engineと呼んでいるものにアップグレードしました。これははるかに微妙であり、さまざまなパターンと強さを持つ7種類の触覚フィードバックで構成されています。

利用可能な触覚フィードバックモードは次のとおりです。

  • 選択の変更
  • インパクトライト
  • インパクトミディアム
  • インパクトヘビー
  • 通知成功
  • 通知警告
  • 通知の失敗
新しいiOS Taptic Engine(iPhone 7以降)には7種類の触覚フィードバックがあります

iOSフィードバックジェネレーターの詳細については、Appleのドキュメントをご覧ください。この記事の最後で、これらのフィードバックタイプをARKitアプリにすばやく追加するために使用できるコードをいくつか共有します。

ARアプリでこれらの多数の触覚フィードバックモードを試してみることにしました。結果がチームにとって嬉しい驚きだったと言って非常に興奮しています。以下に、モバイルARアプリでの触覚実装の例を示します。

モバイルARでの触覚の使用例

これまでの実験で、モバイルARの触覚フィードバックは5つの異なるシナリオでうまく機能することがわかりました。以下にそれぞれの説明を示します。

1.磁気ポインター(グリッドにスナップ)

平面に沿ってロックされたポインターは、多くのARKitアプリ、特にAir MeasureやMagic Planなどの測定ツールで一般的に使用される機能です。スマートフォンはモバイルARのコントローラーとして動作するため、測定アプリの標準UXでは、表面に沿ってポインターをドラッグして線またはポリゴンを描画し、実世界の物を測定します。もちろん、線の描画に関しては、PowerPointからPhotoshopまで、線の端点と端にスナップする磁気ポインターがいたるところに見られます。

ポインター位置の「スナップ」を示す微妙な触覚フィードバックは、大幅な機能強化であることがわかりました。スマートフォン(つまり、コントローラー)が物理的に動いて定位置に収まるように感じます。

Appleの新しいアプリ「Measure」が実際にUXで触覚フィードバックを使用しているのを見て本当にうれしかったです。これは驚くほど微妙な実装であり、その動作のGIFを以下で見ることができます。ポインターが平面の端にスナップすると、「衝撃媒体」が発生します。

AppleのMeasureアプリ

2.ヒットテスト(実世界の表面を感じる)

ARKitアプリのもう1つの一般的な機能は、ヒットテストです。これは、画面上のポイント(タッチポイントまたは中心)から実際の単語の表面へのレイキャストとして実装されます。通常、3Dオブジェクトを接点に追加するために使用されます。わずかな触覚感覚は、表面が「ヒット」したことをユーザーが理解するのに役立ちます。ここでうまく機能する2つの方法を見つけました。

ピン止め
この例では、ヒットポイントでシーンにマーカーが追加されます。 「インパクトライト」は、ユーザーが3D空間でマーカーの「ピン止め」を感知するのに役立ちます。もちろん、これの欠点は、ヒットポイントの「深さ」、つまり、ピンがユーザーからどれだけ離れているかを十分に感知できないことです。

放牧
ピン留めの代わりに、ヒットテストの放牧方法があります。この場合、マーカーがシーンに追加される可能性があるマーカープレビューを絶えず更新します。各フレームでのプレビューマーカーの変位の大きさに基づいた一連の触覚インパルスが、3Dサーフェスに沿ってポインターをこする感覚を与え、3Dサーフェスを「感じる」ことができることがわかりました。

Unityでの放牧のコード例を次に示します。

if(distanceChange> = 0.1 && distanceChange <0.2)
{
    iOSHapticFeedback.Instance.Trigger(Impact_Light);
}
else if(distanceChange> = 0.2 && distanceChange <0.4)
{
    iOSHapticFeedback.Instance.Trigger(Impact_Medium);
}
それ以外の場合(distanceChange> = 0.4)
{
    iOSHapticFeedback.Instance.Trigger(Impact_Heavy);
}

3. FPSガンの反動または爆発

これは、触覚フィードバックの最も楽しい例です。 ARで一人称シューティングゲームを構築する場合、携帯電話はディスプレイであると同時に武器です。ガンショットをシミュレートする優れた方法は、単純な「インパクトヘビー」です。これは、シングルバンプを生成するか、「通知障害」を生成し、ガンの反動のように感じるダブルバンプを作成します。もちろん、以下の例はレーザー兵器ですが、これはあまりにも現実的なものではありません。

4.コントローラーチップとの衝突

Oculus MediumやTilt BrushなどのVRアプリでは、ハンドヘルドコントローラーの1つが、ユーザーが3D空間に描画するために移動するブラシの先端として機能します。私は何時間もTilt Brushで絵を描いてきましたが、当然のことながら、ARKitでこの体験を真似ようと一生懸命努力しました。

問題は、モバイルで正確な描画体験を作成することが本当に難しくなることです。電話がディスプレイとコントローラーの両方である場合、奥行き感を失います。モバイルの3D描画アプリで最も難しいことの1つは、シーン内の他の3Dオブジェクトに対するブラシの先端の位置を知ることです。

そして、再び、触覚が答えでした。ユーザーに奥行き感を与える1つの方法は、ブラシが実際に既にシーンにある3Dオブジェクトを打つために使用できる杖であると想像することです。触覚フィードバックを提供して、ブラシの先端がシーン内の既存のオブジェクトと接触しているかどうかをユーザーに知らせることで、ユーザーはブラシを3D空間に正確にピンポイントできます。

ブラシの先端の衝突を検知

5. Persistent AR Appsの再ローカライズスナップ。

Placenoteでは、主にPersistent AR(AR Cloud)アプリを構築しています。これらのアプリの中心的な機能は、ARコンテンツを物理的な場所に永続的に保存する機能です。ユーザーは毎回同じ場所にロードできます。

この動作は、シーンの再局在化と呼ばれます。

定位置に定位するローカリゼーション

ARシーンを再ローカライズするには、ユーザーはまず携帯電話のカメラを現実世界に向けてから、カメラがその位置を検出するまで待機する必要があります。

Placenoteを使用すると、再ローカライズはほぼ瞬時に行われますが、すべて内部的に行われます。したがって、再ローカリゼーションが成功したことをユーザーに通知する方法を設計する必要があります。上記のGIFで見られるように、視覚的な合図で十分かもしれません。しかし、より微妙な指示は、現実世界の所定の場所にスナップしたことを示唆する触覚の「インパクトライト」を提供することです。

ARKitプロジェクトにハプティクスを追加する方法

ネイティブiOS ARKit開発用にSwiftを使用している場合は、ネイティブアプリでの触覚フィードバックの実装に関するこのチュートリアルをご覧ください。

Unityを使用している場合、これまでの私のお気に入りのパッケージは、Unity Asset StoreのiOS Haptic Feedbackパッケージです。 Unityの組み込み関数Handheld.Vibrate()は、実際には新しいiOS Taptic Engine関数を公開しないため、5ドルですが、それだけの価値があります!

iOS Haptic Feedback Packageは、7種類すべての触覚フィードバックをアプリに追加するためのシンプルなプレハブとスクリプトを提供します。次のAsset Storeリンクから取得できます。

気をつけるべきこと

他のデザインツールと同様に、モバイルARアプリにハプティクスを組み込む際に注意すべき点がいくつかあります。

ハプティクスを使いすぎると、ARKitトラッキングが台無しになります

ARセッションでの触覚の影響をテストします。 ARKitは慣性検知に依存して電話の動きを追跡しているため、ARKitセッション中に過度の振動を追加すると、追跡が若干遅れることがあります。

触覚を使いすぎると、デバイスが過熱する可能性があります

触覚は、結局のところ、モバイルデバイスの物理的な動きであり、当然より多くのエネルギーを使用する傾向があります。これを控えめに使用して、携帯電話が過熱したり、バッテリーが速くなりすぎないようにしてください。

あまりにも多くの触覚フィードバックがユーザーを混乱させ、鈍感にする可能性があります

これはあらゆる触覚メカニズムに当てはまります。無理をしないでください。具体的には、ユーザーが行っているアクションに触覚フィードバックが必要な理由を明確に理解せずに使用しないでください。使いすぎの危険性は、ユーザーが混乱して混乱し、フィードバックに鈍感になることです。

以上です!この記事があなたに有益なデザインのアイデアを与え、モバイルARハプティクスの世界に進出するよう説得することを願っています。モバイルARでタッチ感覚をシミュレートできるさまざまな方法を模索しており、アイデアがあればそれについてお話ししたいと思います。モバイルARハプティクスのコード例を試してみたい場合は、neil [at] placenote.comにメールを送信してください。

Persistent ARアプリやPlacenoteでの作業に興味がある場合は、twitterでメッセージを送信するか、Placenote.comをご覧ください