134 lines
3.8 KiB
Markdown
134 lines
3.8 KiB
Markdown
# VRC_OSC
|
|
|
|
VRC_OSC は、VRChat の状態を見て Discord やログ連携を行うためのツールです。
|
|
|
|
一番の使い方は、VRChat の `ExMenu` から操作することです。
|
|
`ExMenu` は VRChat のメニュー画面に出る、追加の操作メニューです。
|
|
|
|
## できること
|
|
|
|
- VRChat のログを見て Discord に通知する
|
|
- 変更があった部分だけを差分で送る
|
|
- Discord のミュートを VRChat 側の操作に合わせて切り替える
|
|
- VRChat 画面を読み取って OCR する
|
|
- OCR した文字を翻訳してコピーする
|
|
|
|
## 画面イメージ
|
|
|
|
### ExMenu
|
|
|
|
VRChat のメニュー画面から、このツールの機能を操作します。
|
|
|
|

|
|
|
|

|
|
|
|
### VRC Log
|
|
|
|
VRChat のログ確認や通知の流れは、次のようなイメージです。
|
|
|
|

|
|
|
|
## 使い方
|
|
|
|
1. 必要な設定ファイルを用意します。
|
|
2. ツールを起動します。
|
|
3. VRChat を開きます。
|
|
4. VRChat の `ExMenu` から必要な機能を選びます。
|
|
|
|
### Discord のミュート連動
|
|
|
|
VRChat 側で特定の操作が行われたときに、Discord のミュート状態を切り替えます。
|
|
通話中に VRChat を使うとき、Discord の音声操作を手で切り替える手間を減らすための機能です。
|
|
|
|
### OCR と翻訳
|
|
|
|
VRChat 画面の文字を読み取って、必要に応じて翻訳します。
|
|
見た文字や翻訳結果はコピーできるので、内容をそのまま使いやすくなります。
|
|
|
|
## 起動方法
|
|
|
|
PowerShell から起動する場合:
|
|
|
|
```powershell
|
|
bin\vrc_osc.ps1
|
|
```
|
|
|
|
Python から直接起動する場合:
|
|
|
|
```powershell
|
|
python src\app.py
|
|
```
|
|
|
|
## 事前準備
|
|
|
|
依存関係を入れます。
|
|
|
|
```powershell
|
|
python -m pip install -r requirements.txt
|
|
```
|
|
|
|
## 設定ファイル
|
|
|
|
設定は `config/` に置きます。
|
|
|
|
- `config/config.toml`
|
|
- `config/secrets.toml`
|
|
- `config/guests.txt`
|
|
|
|
サンプルはそれぞれ `*.example.*` を使って作成できます。
|
|
|
|
## 初期セットアップ
|
|
|
|
最初は、`config/` のサンプルファイルを実ファイルにしてから中身を埋めます。
|
|
|
|
1. `config/config.example.toml` を `config/config.toml` にコピーします。
|
|
2. `config/secrets.example.toml` を `config/secrets.toml` にコピーします。
|
|
3. `config/guests.example.txt` を `config/guests.txt` にコピーします。
|
|
4. `config/config.toml` の `self.name` を自分の VRChat 表示名にします。
|
|
5. `config/secrets.toml` の `discord.webhook_url` を設定します。
|
|
6. `config/secrets.toml` の `vrchat.username` と `vrchat.password` を設定します。
|
|
7. `config/guests.txt` に、あらかじめ guest として見たい参加者名を 1 行ずつ書きます。
|
|
8. 自分の名前も guest 扱いしたい場合は、`guests.txt` に自分の名前も 1 行追加します。
|
|
|
|
`guests.txt` は、例として次のように書きます。
|
|
|
|
```text
|
|
GuestUserA
|
|
GuestUserB
|
|
YourNameHere
|
|
```
|
|
|
|
## よく使う設定
|
|
|
|
- `discord.webhook_url`
|
|
- Discord に通知を送るための Webhook URL
|
|
- `vrchat.username`
|
|
- VRChat のアカウント名
|
|
- `vrchat.password`
|
|
- VRChat のパスワード
|
|
- `staff.names`
|
|
- スタッフとして扱う名前
|
|
- `guest.file`
|
|
- guest 名簿のファイル
|
|
|
|
## 補足
|
|
|
|
この README は、まず使い方が分かることを優先して簡単にまとめています。
|
|
細かい内部仕様が必要な場合は、ソースコードと `config/*.example.*` を見てください。
|
|
|
|
## 生成されるログ
|
|
|
|
- `runtime/runtime.log`
|
|
- 通常の実行ログ
|
|
- `runtime/join_leave.log`
|
|
- join / leave だけを抜き出したログ
|
|
- `runtime/latest_ocr.png`
|
|
- `runtime/latest_screenshot.png`
|
|
|
|
## 詳しい資料
|
|
|
|
- [設計書](doc/design.md)
|
|
- [シーケンス図](doc/sequence.md)
|
|
- [ワークフロー](doc/workflow.md)
|