Haptic Feedbackの設定

ハプティックフィードバックを使うと、チャットの最中にAIキャラクターが接続済みのハプティックデバイス(大人向けのおもちゃ)へタッチの合図を送れます。このガイドでは、補助アプリのインストール、チャットへのHaptic Feedbackエージェントの追加、デバイスへの接続、タッチ設定の調整の方法を説明します。

Marinara Engineがデバイスと直接やり取りすることはありません。Intiface Centralという無料のコンパニオンアプリへコマンドを送り、そのアプリがデバイスとやり取りします。Intiface CentralはButtplug.ioを話します。これは多くのおもちゃやアプリが対応しているオープン標準です。Marinaraはネットワークアドレス経由でIntiface Centralに接続します。ハプティックフィードバックはチャット用のエージェント(チャットに追加するAIヘルパー)です。Conversation、Roleplay、Gameの各モードで動作します。

始める前に

  1. Intiface Centralをhttps://intiface.com/central/からインストールします。
  2. アプリを開き、サーバー起動ボタンでサーバーを起動します。
  3. Intiface Centralの中でデバイスをペアリングし、アプリからデバイスが見えるようにします。

Intiface Centralが起動していて、そのサーバーも起動していなければ、Marinaraはタッチの合図を送れません。Haptic Feedbackエージェントのインストールも必要です。エージェント: チャットを支えるAIヘルパーを参照してください。

Haptic Feedbackエージェントを追加する

  1. Conversation、Roleplay、Gameのいずれかのチャットを開きます。
  2. Chat Settings(チャット設定)を開き、Agents(エージェント)へ移動します。
  3. Haptic Feedbackエージェントを追加します。Agentsの一覧にHaptic Feedbackのカードが表示されます。
  4. カード上部のHaptic Feedbackトグルをオンにします。

トグルはデフォルトでオフです。オフのときは説明文が「Allow this agent to send touch cues during the chat.」、オンのときは「Touch cues are enabled for this chat.」になります。オンにすると、AIは文章を書きながら見えないタッチの合図を送ります。この合図はチャットにテキストとして表示されません。接続済みのすべてのデバイスへ送られます。

接続とデバイスの検索

カードを開くと、Marinaraは保存済みのアドレスを使ってIntiface Centralへの接続を試みます。状態表示の行には、接続済みのときは緑の丸、未接続のときは赤の丸が表示されます。その隣には、未接続のときはConnect(接続)、接続済みのときはDisconnect(切断)が表示されます。

  1. Connectをクリックします。成功すると、この行にサーバーアドレスとともに「Connected」と表示されます。
  2. もう一度探すにはScan for devices(デバイスを検索)をクリックします。検索中、ボタンの表示は「Scanning...」になります。

カードには「No devices found」またはデバイスの台数が表示され、各デバイスが、Intifaceでの正確な名前と対応している動作とともに一覧で並びます。Marinaraは、その名前、機能から判定したおもちゃの種類、対応する動作をHaptic Agentにも渡します。これにより、Haptic Agentはすべてのおもちゃが振動するものと見なさずに、正しいデバイスと動作を選びます。

うまくいかなかった場合: 接続に失敗すると、Intiface Centralが起動していて、そのサーバーも起動しているかを確かめるよう促すメッセージが、Intiface CentralのWebサイトへのリンクとともに表示されます。

対応する動作とパターン

Marinaraは、デバイスについてIntifaceが報告するすべての出力形式を使います。振動、回転、往復運動、収縮、膨張、直線位置、温度、噴射、照明です。直線位置は、ストローク、突き、ポンプ動作を行うデバイスを制御します。膨張は、空気圧でポンプ動作を行うデバイスを制御します。

エージェントは、停止以外のどの動作にもSteady、Tap、Pulse、Wave、Ramp、Impactのパターンを適用できます。位置パターンは実際の移動先を交互に切り替えるため、ポンプやストロークのパターンは、複数の動きを一度に送るのではなく、時間をかけて実行されます。

Intiface URL欄

Intiface URLは、Intiface CentralサーバーのWebSocketアドレスです。WebSocketアドレスとは、2つのアプリがやり取りに使うリンクです。デフォルトは次のとおりです。

ws://127.0.0.1:12345

127.0.0.1は、この同じコンピューターを意味します。欄を空欄のままにすると、Marinaraはサーバー側のデフォルトを使います。このデフォルトは、.envの環境変数INTIFACE_URLで変更できます。サーバー設定リファレンスを参照してください。Marinaraはアドレスをチャットとともに保存し、このブラウザーにも記憶するので、ここで開くほかのチャットでも最初からそのアドレスが入ります。

このアドレスは、このMarinaraのインストールの中にとどまります。チャットのエクスポート、エクスポートした設定プロファイル、Export Profileのファイルにはアドレスが含まれず、それらをインポートしても設定されることはありません。チャットを別のインストールに移した後は、もう一度入力してください。

MarinaraをDockerで動かしている場合や、別のデバイスのブラウザーで開いている場合、127.0.0.1ではIntiface Centralに届きません。Intiface Centralを動かしているコンピューターのアドレスを入力し、次の例の数字の部分を、そのコンピューターの実際のアドレスに置き換えてください。

ws://192.168.1.50:12345

タッチの強さ

すべてのチャットモードで、カードにTouch sensitivity(タッチの強さ)の設定が表示されます。この設定は、エージェントが弱い出力と強い出力をどれだけ選びやすくするかを導くものです。上限ではありません。動作に必要なら、どの選択肢でも0.0-1.0の強度範囲全体を使えます。Marinaraは、すべてのコマンドをIntifaceの物理的な範囲に照らして検証します。

選択肢感触
Subtle弱めのフィードバックを優先します。
Standardほとんどのシーンに合う、バランスの取れたフィードバックです。これがデフォルトです。
Intense強いフィードバックを選びやすくなります。

偶発的な接触

Incidental contact(偶発的な接触)のトグルは、説明が「Tiny taps for accidental brushes and bumps.」で、デフォルトでオフです。オフのとき、AIは小さな不意の接触を無視し、意図的な接触や強い接触にだけ合図を送ります。かすめたりぶつかったりした程度の接触でも軽いタップを送らせたい場合は、オンにします。

別のデバイスから使う

デフォルトでは、MarinaraはMarinaraサーバーを動かしているコンピューターからのハプティックコマンドしか受け付けません。デバイスの操作をプライベートに保つためです。そのため、スマートフォンや、別の場所にあるサーバーに接続する別のデバイスからMarinaraを開くと、ハプティックフィードバックは動作しません。接続、検索、コマンド送信の操作は拒否されます。

許可するには、サーバー設定HAPTICS_ALLOW_REMOTEをオンにし、ログインや管理者用のシークレットといったアクセス保護を設定します。サーバー設定リファレンスとリモートアクセスのガイドを参照してください。管理者アクセスはSettings → Advanced → Admin Access(設定 → 詳細設定 → 管理者アクセス)で入力します。

うまく動かないときは

AIがデバイスをまったく動かさない場合は、次の順に確認してください。

  1. Intiface Centralが開いていて、そのサーバーが起動しているか
  2. デバイスがペアリングされていて、Scan for devicesの後に一覧に表示されるか
  3. 状態表示の丸が緑で、Haptic Feedbackのトグルがオンになっているか
  4. スマートフォンやリモートのデバイスを使っている場合は、別のデバイスから使うを参照してください。

Intiface Centralが未接続のとき、またはデバイスが1台も接続されていないときは、Marinaraは合図を黙って読み飛ばし、チャットにエラーを表示しません。

関連ガイド