メインコンテンツまでスキップ

Interhaptics Mobile SDK

Interhaptics Core SDK のセットアップ

このドキュメントは、メイン SDK との整合性を取るために大幅に刷新されたバージョン 1.1.0 (03.2023) 以降のモバイル開発 (Android/iOS) 向け Interhaptics SDK のセットアップに関するものです。レガシーとして名称変更された旧バージョンについては、Interhaptics Mobile SDK (legacy) ページを参照してください。

Interhaptics Core SDK は、Unity SDK のはじめにの章に記載のとおり、Unity Package Manager 経由でインストールできます。

Android: プロジェクトを正しくセットアップするには、Project Settings -> Player -> Other Settings -> Scripting Backend が IL2CPP に設定されていることを確認し、Target Architecture が ARM64 に設定されていない場合は ARM64 に設定してください。ARMv7 が有効になっている場合はチェックを外してください (強く推奨)。Android では、Minimum API Level を 23 (Android 6.0 Marshmallow) に設定してください。

iOS: ハプティック機能を利用するには iPhone 8 以降が必要です。XCode ビルドを行うには Unity for MacOS の使用を強く推奨します。Target Device は iPhone に設定し、Target minimum iOS version は少なくとも 13.0 にしてください。

Unity Player Settings - Android
Unity Player Settings - Android
Unity Player Settings - iOS
Unity Player Settings - iOS

注意: ネイティブの振幅制御をサポートしていない Android スマートフォンの場合、開発者は GenericAndroidHapticAbstraction.AmplitudeThreshold パラメータを使用してハプティックフィードバックの強度を調整できます。このパラメータは整数値で、ハプティックフィードバックの強さを決定します。範囲は 0 から 255 (両端を含む) で、0 は最小振幅、255 は最大振幅を表します。指定したしきい値を超える値があれば、スマートフォンで振動がトリガーされます。実行時に変更された場合、新しいしきい値は新しいハプティック効果をスマートフォンで再生するときにのみ有効になります。ハプティック効果が現在再生中の場合、振幅しきい値を変更しても即時の影響はありません。新しいクリップが送信されたときにのみ、更新されたしきい値が利用されます。

// 体験を調整するために変更可能
// 実行時に変更可能
public static int AmplitudeThreshold = 100;

注意: iPhone を使用する場合、Unity プロジェクトは XCode プロジェクトの生成を担当しており、最終的にアプリをビルドする責任があることに注意してください。XCode プロジェクトをビルドするには、Unity の macOS 版 (Windows 版ではなく) を使用することを強く推奨します。

Unity Editor のコンソールに DllNotFoundException: HAR assembly エラーが表示されることがあります。これらは XCode プロジェクトのビルドに影響を与えないため、無視してかまいません。

弊社のテストでは、Interhaptics は XCode バージョン 14.3 および 15.0+ と互換性があることが確認されています。開発者チームでサインインした後、最適なパフォーマンスのために以下の設定を無効にすることを推奨します。

  1. Target UnityFramework -- Enable Module Verifier
  2. Enable User Script Sandboxing

これらの設定は Interhaptics の機能には必要なく、互換性の問題を引き起こす可能性があります。これらのチェックを外すことで、iOS デバイスでアプリをビルドおよび実行する際によりスムーズな体験が保証されます。
iOS でのハプティック効果の最大長は 30 秒です。それ以上の長さが必要な場合は、2 つ以上のハプティック効果を連結する必要があります。

推奨設定への更新
推奨設定への更新
iOS でのアプリ署名と設定の更新
iOS でのアプリ署名と設定の更新
iOS 推奨設定の更新
iOS 推奨設定の更新

以下の手順は、非常に簡易な実装の例です。詳細は本セクションの Unity SDK のはじめに章で説明されています。

モバイル統合の簡易例

Interhaptics Unity SDK 1.1.0 -- 1.2.3

HapticManager コンポーネントを持つ空の GameObject を作成します。必要に応じて永続化することもできます。

HapticManager GameObject
HapticManager GameObject

Interhaptics Unity SDK 1.3.0 +

このバージョン以降、HapticManager.cs は MonoBehaviour クラスではないため、HapticManager コンポーネントを追加しないでください。

HapticBodyPart コンポーネントを持つ別の GameObject を作成します。HapticBodyPart を Hand に、Side を Global に設定します。

Haptic Body Part GameObject
Haptic Body Part GameObject

EventHapticSource コンポーネントを持つ空の GameObject を作成し、Haptic Effects フォルダからハプティック効果を選択します。

Event Haptic Source GameObject
Event Haptic Source GameObject

ハプティックフィードバックのトリガーとして機能する UI 要素を作成します。EventHapticSource GameObject の PlayEventVibration メソッドを OnClick に追加します。

EventHapticSource の OnClick
EventHapticSource の OnClick