LoginSignup
4
1
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

【Meta XR SDK】Meta XR Haptics SDKを使ってコントローラーの振動と音声を連動させる:その1 Haptics SDKとHaptics Studioの使い方【Quest 2, Pro, 3】

Last updated at Posted at 2024-01-02

こんにちは、きくはなです。
今回はMeta XR SDKのv60から追加された新機能である、Meta XR Haptics SDKの詳細と、関連アプリのHaptics Studioの使い方を紹介していきます。
コントローラーの振動と音声を連動させることができ、XRコンテンツの没入感・臨場性を向上させることにも繋がる重要な機能だと思いますので、ぜひ試してみて下さい。

【追記】
コントローラーの振動と音声を連動させる部分を記述しておらず、若干詐欺っぽくなってしまっていたので、2,3部構成に分けて解説しようと思います。

Haptics SDK

Haptics SDKは、v60以降のMeta XR All-in-One SDKに含まれています。

Haptics SDKで何ができるか

Haptics SDKをインポートすることで、.hapticファイルに設定されたコントローラーの振動を再生できるようになります。

サンプルシーンが下記画像の場所にあります。
注意点として、サンプルを使用する場合、All-in-one SDKとは別に、Asset Storeから個別のHaptics SDKをマイアセットに登録しておく必要があります。
https://assetstore.unity.com/packages/tools/integration/meta-xr-haptics-sdk-272446

image.png

スクリプトでの制御方法

.hapticファイルはHapticClipクラスとして扱われ、HapticClipPlayerクラスを使用して再生できます。
ここでは簡単に、Meta公式のドキュメントに記載されているスクリプトを取り上げて基本機能を解説します。

MyClass.cs
using Oculus.Haptics;

public class MyClass : MonoBehaviour
{
    // Assign both clips in the Unity editor
    public HapticClip clip1;
    public HapticClip clip2;
    private HapticClipPlayer player;

    void Awake()
    {
        player = new HapticClipPlayer(clip1);
    }

    public void PlayHapticClip1()
    {
       player.Play(Controller.Left);
    }

    public void PlayHapticClip2()
    {
        // Setting a new clip will stop the current playback
        player.clip = clip2;
        // Let's start the player again with the new clip loaded
        player.Play(Controller.Left);
    }

    public void StopHaptics()
    {
        player.Stop();
    }

    void OnDestroy()
    {
        // Free the HapticClipPlayer
        player.Dispose();
    }

}
  • using Oculus.Haptics;を追加しましょう。
  • HapticClipPlayerをnew HapticClipPlayer(clip1)で生成。引数のclip1は省略できないようです。
  • Play()で振動を再生できます。振動させたいコントローラーを右手・左手・両手のうちから選べます。
  • Stop()で振動を停止できます。
  • 処理をやめる場合、HapticClipPlayerをDispose()することが推奨されています。
  • 他にも、再生の優先順位を扱うpriorityプロパティや、振動をループさせるisLoopingプロパティが存在します。振動の強度や周波数の調整など、より詳しい設計方法を知りたい場合、公式のドキュメントを参照してください。

Haptics Studio

Haptics Studioは、前述の.hapticファイルを作成できるアプリケーションです。
詳細・ダウンロード先はこちら
PC版(Win, Mac)と、VRアプリ版の二種類存在しますが、それぞれ用途が異なり、Wifi経由で連動させることもできます。

PC(Win, Mac)

音声ファイル(.wav, .ogg, .mp3)をもとに、.hapticファイルを生成できます。
また、振動の強度や周波数を編集することも可能です。
VRアプリと接続させると、生成した.hapticファイルの振動をすぐに確認できます。

VRアプリ

通常のVRアプリケーションと同様に、Quest Storeからダウンロードできます。
こちらは主に.hapticファイルの振動を確認する用途で使われます。
PCと接続しないと生成した振動の確認はできませんが、単体でも動作するサンプルが用意されています。
コントローラー振動がどのようなものか理解したい場合は、こちらのサンプルだけでも十分可能です。

参考URL (Meta公式ドキュメント)

Haptics SDK (Unity)

Haptics Studio

Haptics設計に関するガイドライン

特に、"Haptics設計に関するガイドライン"については、Hapticsを使用する際の知見などがまとめられているので、ぜひご一読ください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1