コンテンツにスキップ

NeosVR 連携

ゆかコネNEO v3.0 のドキュメントです。v2.3 をお使いの方は v2.3 版のこのページ を、違いを知りたい方は v2.3 から v3.0 への移行 をご覧ください。

前提条件

  • NeosVRが動作することが必要です
  • この機能単品では機能しません。ワールドかアバターにギミックが必要です。

このプラグインで出来ること

  • NeosVR内に音声認識結果、翻訳結果、トリガー信号を出すことができます。
  • WebSocketサーバーによるリアルタイム通信
  • JSON・EMAPフォーマット両方対応
  • 高度なルールベース自動化システム
  • 自動ポート選択機能(30211-30410)
  • パラメータ型自動検出(bool, int, float, hex, string)
  • 外部API制御対応

有効化

NeosVR

  • プラグインを使うチェックをONにしてください。

設定

プラグイン一覧で、このプラグインの名前の右にある 「設定」 を押すと開きます。 画面は 2 ページに分かれていて、左の一覧で切り替えます(つなぐ/規則)。

閉じるときの 3 択

設定は下書きとして持たれ、「OK」か「適用」を押すまで動いているプラグインには効きません。 変更したまま閉じようとすると「変更が保存されていません」と聞かれ、[はい]保存して閉じる/[いいえ]破棄して閉じる/[キャンセル]閉じるのをやめる から選べます。

つなぐ

ワールドの中から読める WebSocket サーバを開きます。

Resonite / NeosVR 連携の設定 - つなぐ

項目 説明
待ち受けポート ワールド側からは ws://<このパソコンの IP>:<ポート>/ で読みます。(1~65535番。既定:50210)
「サーバを開く」ボタン
「サーバを閉じる」ボタン

送る字幕

項目 説明
☑ 母国語を送る 既定:OFF
☑ 翻訳を送る 既定:OFF
この人たちの発言だけ送る 名前をカンマで区切って書きます。空なら誰の発言でも送ります。

送り方

項目 説明
☑ emap 形式で送る 既定:ON
☑ 使えない文字を置き換える ワールド側で扱えない文字を、下線などへ置き換えてから送ります。(既定:ON)

規則

話した言葉をきっかけに、ワールドへ合図を送ります。

Resonite / NeosVR 連携の設定 - 規則

合図の規則(表)

列:使う/当て方/対象/きっかけの言葉/送り先 (Message Address)/付ける値/話した人/API 用のタグ

表の右上の 「行を足す」 で行を増やします。行の右端のボタンは ▲▼=1 つ上へ/下へ、+=この下に足す、×=この行を消す です。「保存する」 はいまの中身を CSV へ書き出します(控え用)。「読み込む」 は CSV から読み込んで、いまの中身と入れ替えます。

補足

字幕の送り方

  • データは translation.1.text のようなキー名で送られます。
  • 「送り方」の emap 形式で送る が既定で ON になっています。

ルール

  • ルールは、条件に一致したときにそのデータを送付することができる「仕掛け」です
  • 大半の設定はVRChat OSCの設定が使いまわしできます。
設定 意味
有効(Enabled) この条件を有効化します
モード(Mode) 条件の判断モードを指定します
対象 対象にする言語を決めます(母国語、翻訳1~4)
起動フレーズ 判断に使う起動キーワードです
Message Address NeoSVRに送るための送付先です 例)avater.eye.angle.x
パラメータ 渡すパラメータを指定します。 true/false、 0x00~0xff、0.0~ 、文字列 を指定できます。
対象者 話者名に指定文字が含まれているときに反応します。空欄の場合は全員が対象です
APIタグ APIから呼び出すときにつかうタグ名です

高度な機能

WebSocketサーバー詳細

通信仕様

  • プロトコル: WebSocket (Watson WebSocket ライブラリ)
  • バインド: localhost/127.0.0.1 (セキュリティ考慮)
  • デフォルトポート: 50210
  • 自動ポート選択: 30211-30410の範囲で利用可能ポートを検索

接続管理

  • クライアント管理: リアルタイム接続/切断の検出
  • 接続状態表示: アクティブな接続の可視化
  • レジストリ保存: Windows レジストリでポート情報保持

ルールシステム詳細

8パラメータ設定システム

番号 パラメータ名 説明
1 Enabled 有効/無効状態 true/false
2 Mode マッチモード Complete/Partial
3 Target 対象言語 Native/Translation1-4
4 Phrase 起動フレーズ "笑顔", "ウィンク"
5 Address メッセージアドレス "avatar.eye.wink"
6 Parameter 送信値 true, 1.5, "hello"
7 TargetName 対象話者 特定ユーザーのみ
8 ExternalTag API用タグ 外部呼び出し識別子

パラメータ型自動検出

入力例 検出型 NeosVRでの型
true, false Boolean bool
123, -456 Integer int
1.5, 3.14 Float float
0xFF, 0x20 Hexadecimal int
"hello" String string

CSV ルール管理

ファイル形式

  • エンコーディング: UTF-8
  • パース: Microsoft.VisualBasic.FileIO.TextFieldParser
  • リアルタイム読込: ファイル変更の動的読み込み
"true","Complete","Native","笑顔","avatar.face.smile","true","","smile_trigger"
"true","Partial","Translation1","sad","avatar.face.sad","true","","sad_trigger"

パフォーマンス最適化

  • 非同期処理: Task ベースの非同期送信
  • 文字置換: 最適化された文字変換処理
  • メモリ管理: 効率的なクライアント管理

レジストリ統合

  • 保存パス: Software\YukarinetteConnectorNeo\NeosServer\
  • 保存内容: ポート番号情報
  • 用途: 他のアプリケーションとの連携

実用例

表情制御

"true","Complete","Native","笑顔","avatar.face.smile","true","","smile"
"true","Complete","Native","悲しい","avatar.face.sad","true","","sad"
"true","Complete","Native","驚き","avatar.face.surprise","true","","surprise"

アニメーション制御

"true","Partial","Translation1","wave","avatar.gesture.wave","1.0","","wave_anim"
"true","Partial","Translation1","dance","avatar.animation.dance","true","","dance_anim"

パラメータ調整

"true","Complete","Native","音量上げて","avatar.voice.volume","0.8","","vol_up"
"true","Complete","Native","透明","avatar.visibility","0.3","","transparent"

トラブルシューティング

接続できない

  • ポート確認: 他のアプリケーションによるポート使用
  • ファイアウォール: Windows ファイアウォールの設定
  • NeosVR側: 接続ツールの正しい設定

データが送信されない

  • ルール設定: CSV ルールの文法確認
  • アドレス: NeosVR 側での正しいアドレス設定
  • 型変換: パラメータ型の適合性確認

使い方

  1. NeosVRを起動します
  2. Openをおして通信を開始します
  3. NeosVR側の接続ツールをつかってつなぎます。