Razer Sensa™ HD ハプティクス
Interhaptics Unity Core SDK バージョン 1.5.0 以降でサポートされている Razer Sensa HD ハプティクスを使用して、Unity プロジェクトを高精細なハプティックフィードバックで強化しましょう。

前提条件
SDK サポート: Razer Sensa HD ハプティクスのサポートが自動的に有効化されるよう、プロジェクトが Interhaptics Core SDK バージョン 1.5.0 以降を使用していることを確認してください。Interhaptics Core SDK は、Unity SDK のはじめに章に記載のとおり、Unity Package Manager 経由でインストールできます。
互換性のあるデバイス: Razer Sensa HD ハプティクスは、Razer Sensa HD ハプティクス開発キットに含まれるさまざまなデバイスと互換性があります。
ドライバー要件: 必要なドライバーのために、最新バージョンの Razer Synapse 4 と Chroma アプリがインストールされていることを確認してください。
ガイド: ハプティック効果の追加に関するガイダンスについては、Interhaptics Unity SDK の標準ドキュメントを参照してください。(コードドキュメント / ノーコードドキュメント)
Razer Sensa HD ハプティクスを使用した Unity シーンの作成
以下の手順に従って、Razer Sensa HD ハプティクスを使用したサンプル Unity シーンを構成します。このシーンでは、プレイヤーをターゲットとした 2 発の外れたピストルショットをシミュレートするハプティックイベントのシーケンスを作成します。これらは頭部用ハプティックデバイスでまず右側、次に左側でレンダリングされ、続いてプレイヤーの銃から発射されるピストルショットがレンダリングされます。
ステップ 1: Haptic Body Parts GameObject のセットアップ
-
ハプティック対応デバイスおよびハプティックコントローラーの左右の側を表すために、Unity に 4 つの GameObject を作成します。
- Head Left
- Head Right
- Controller Left
- Controller Right
- Razer Freyja ハプティッククッションのようなデバイスでは、以下のハプティックボディパーツ (Chest、Leg、Waist) もターゲットにできます。
-
ステップ 1 で作成した 4 つの GameObject のそれぞれに HapticBodyPart コンポーネントを追加します。
-
各 HapticBodyPart 内で、適切なボディパーツとサイド (Head と Hand) を定義します。

ステップ 2: Event Haptic Sources の追加
-
HapticSource として使用するための GameObject を作成します。
-
各エミッター GameObject に AudioHapticSource コンポーネントを追加します。
-
各 GameObject の AudioHapticSource コンポーネントで、Core SDK 内のハプティック効果ライブラリ (フォルダ Assets\HapticMaterials にあります) からそれぞれの .haps ファイルを割り当てます。頭部をターゲットとする 2 つのハプティックソースには BulletCrack.haps を、コントローラーをターゲットとするハプティックソースには PistolShot.haps を割り当てます。
-
各 AudioHapticSource コンポーネント内で、対応する HapticBodyPart GameObject をリンクして、ハプティックフィードバックが正しく発信されるようにします。
-
Assets\Sounds フォルダから関連するサウンドを各 GameObject に割り当てて、トリガーされたときにオーディオとハプティクスが同期して再生されるようにします。

ステップ 3: ハプティック効果シーケンスの作成
- 異なる時間に 3 つの異なる EventHapticSource コンポーネントで PlayEventVibration() メソッドを再生する Unity スクリプトを作成します。これを実現するサンプルスクリプトを以下に示します。
using System.Collections;
using Interhaptics.Utils;
using UnityEngine;
public class HapticEventTrigger : MonoBehaviour
{
public AudioHapticSource AudioHapticSource1;
public AudioHapticSource AudioHapticSource2;
public AudioHapticSource AudioHapticSource3;
// Start は最初のフレーム更新前に呼び出されます
void Start()
{
StartCoroutine(PlayHapticEvents());
}
private IEnumerator PlayHapticEvents()
{
// 0.5 秒待ってから最初のハプティックイベントを再生
yield return new WaitForSeconds(0.5f);
AudioHapticSource1.PlayEventVibration();
// さらに 1 秒待って (合計 1.5 秒) 2 番目のハプティックイベントを再生
yield return new WaitForSeconds(1.0f);
AudioHapticSource2.PlayEventVibration();
// さらに 1 秒待って (合計 2.5 秒) 3 番目のハプティックイベントを再生
yield return new WaitForSeconds(1.0f);
AudioHapticSource3.PlayEventVibration();
}
}
-
このスクリプトをシーン内の GameObject にアタッチします。GameObject から AudioHapticSource コンポーネントをドラッグ&ドロップして、このスクリプトの Inspector ウィンドウの AudioHapticSource1、AudioHapticSource2、および AudioHapticSource3 フィールドに設定します。
-
シーンを開始すると、スクリプトは自動的にコルーチンを起動し、指定された時間に順番にハプティックイベントを再生します。
