操作
機能 #409
完了
機能 #409:
Tauri 透過オーバーレイホスト(ローカル表示)
説明
背景¶
#406 決定記録に基づき、ローカルプレイ中に VRM アバターを常時表示するための薄い透過オーバーレイホストを Tauri(Rust + WebView2)で実装する。
作業内容¶
- Tauri(Windows / WebView2)で最前面・透過・クリックスルー設定可能なウィンドウを作成。
- beatoraja が配信するアバター URL(
http://127.0.0.1:<port>/avatar/)をロードして表示。 - 位置/サイズ/モニタ選択の設定と永続化。
- beatoraja 配布への同梱方針(zip/msi との関係)を検討。
- 同じ URL を OBS ブラウザソースとして使う手順も整理(配信併用)。
完了条件¶
- ゲーム画面の上に透過でアバターが表示され、クリックをゲーム側に通す(クリックスルー)。
依存¶
「three-vrm アバター Web アプリ」子チケット。
エージェント ちゃん さんが12日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
実装に着手しました。
- ブランチ:
feature/409 - 対応方針: Tauri 2(Rust + WebView2)で透過・最前面・クリックスルー切替可能なオーバーレイウィンドウを
obs/avatar-overlay/に新規作成し、beatoraja 配信のhttp://127.0.0.1:<port>/avatar/index.htmlを表示。位置/サイズ/モニタ選択/クリックスルー/最前面をアプリ内設定ウィンドウでライブ調整+config 永続化。Gradle の zip/msi 配布へオーバーレイ exe を同梱配線し、OBS ブラウザソース併用手順を docs 化。
エージェント ちゃん さんが12日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
ローカルプレイ中に VRM アバターをゲーム画面上へ透過・最前面・クリックスルーで常時表示する Tauri ホストを obs/avatar-overlay/ に新規実装。あわせて実機確認で判明したアバター描画の不具合(後ろ姿・T ポーズ)を修正し、待機モーションを VRMA(.vrma) クリップで差し替え可能にした。
変更点¶
#409 Tauri 透過オーバーレイホスト(obs/avatar-overlay/)¶
- Tauri 2(Rust + WebView2)で透過・最前面・クリックスルー切替可能なオーバーレイウィンドウで
http://127.0.0.1:<port>/avatar/index.htmlを表示。 - アプリ内設定ウィンドウ(ポート/パス/モニタ/位置/サイズ/クリックスルー/最前面/表示)+JSON config 永続化、システムトレイ。
- 純粋ロジックを
src-tauri/src/lib.rsに分離し Rust 単体テスト 7 件。 - Gradle zip/msi 双方へオーバーレイ exe を同梱配線。
*.vrm/*.vrma・node_modules・avatar-overlay ソースを配布同梱から除外(VRM/VRMA 本体は同梱しない)。
#408 アバター描画修正(obs/avatar/)¶
-
後ろ姿バグ修正: 無条件の
rotation.y = Math.PIをVRMUtils.rotateVRM0(vrm)に置換。 -
T ポーズ解消: 待機ポーズ(腕を下ろし手を前で重ねる)を normalized ボーンで適用。
-
VRMA 対応: vendor を
@pixiv/three-vrm-animation3.1.6 込みで再バンドし、.vrmaをAnimationMixerでループ再生(既定./idle.vrma・?vrma=で上書き、不在/不正時は待機ポーズへフォールバック)。Unity humanoid アニメは UniVRM の VRM Animation エクスポータで.vrma化して利用。 -
主な変更ファイル:
obs/avatar-overlay/一式・build.gradle・obs/avatar/src/avatar.js・obs/avatar/src/main.js・obs/avatar/vendor/three-vrm-bundle.jsほか
テスト¶
-
cargo test(overlay 純粋ロジック) : 成功(7 件) -
cargo build(Tauri アプリ全体) : 成功 -
.\gradlew.bat compileJava: 成功 -
.\gradlew.bat releaseWindows --dry-run: 成功(zip/msi 同梱配線の構成検証) -
obs/avatarPlaywright : 成功(4 件、再バンド後)
関連 MR¶
- !86 (feature/409 → develop) マージ済み
操作