■Unity開発メモ用のWiki◎現在扱っていること・Unity全般・MMDからUnityへの変換してインポート・MMDの仕様把握・BlenderでMMDモデルのカスタム



一時メモ



HMD, コントローラ, トラッカーの姿勢情報(通常=アバターのスケールに合わせて調整済みの座標, Local=生座標)
serialはOpenVRのシリアル番号


Viveコントローラーの各種名称


 

Mini DisplayPort - DisplayPort 変換ケーブル

HDMIポートが足りない→ディスプレイポートを使う
→HTC VIVEのリンクボックスの通信はHDMI規格で行っている

トラッカーの自作又は代替

トラッカー、トラッキング、フルトラッキング、フルトラ、1・3・5点トラッキング
トラッキング追加 MOD ゲーム
 
Skyrim、フォールアウト、クラフトピア
BeatSaber、VRチャット、VAM、ハニーセレクト
 
ハンドトラッキング
PS MOVE
VIVE トラッカー Unity
 
Driver4VR
VMT - Virtual Motion Tracker
 

トラッカーの代替


 

トラッカーの自作

マイコン

  • 国内ではあまり値段差が無いのでESP32でいい?
Wemos D1 Mini(ESP8266)
ESP8266系(Wi-fiのみ)
ESP32系(Wi-fi+Bluetooth)
 
  • M5Stack Basicにはジャイロセンサーはついていない
    • M5StickC(6軸MPU6886?)+補助トラッカーの構成にする?
    • 開発のしやすさを考え安価な「MPU6050」に揃える?

IMU(慣性計測ユニット、ジャイロセンサー)

参考:IMU比較
  • BNO085 - 素晴らしいが高価な $$$。
  • MPU6050 - 安価ですが、かなりドリフトします。
  • MPU9250 (GY-91) - 良いが偽物に悩まされている.
  • BMI160 - 安くて高性能。
  • MPU6050 + QMC5883L -実験的な安価な MPU9250 相当品。
 
  • 今回は「MPU6050(精度は低い)」又は「BMI160(AliExpressで購入する場合)」を採用する?
    • MPU6050は高い故障率やドリフトを覚悟する必要がある
磁場の測定
  • 許容可能な磁気環境があるかどうかを確認する
  • 磁場の強さをuTで表示する磁力計アプリをダウンロードし、プレイスペースを歩き回ることで確認できます.
    • アンドロイドアプリ「Physics Toolbox Magnetometer」で測定する
    • Physics Toolbox 磁力計を使用する場合は、X、Y、または Z コンポーネントではなく、合計に注意する
  • 胸の高さ、腰の高さ、足首の高さなど、さまざまな高さで確認することをお勧めします。
  • 磁場の値は、値の幅が小さいことが重要です。5uT以下の範囲であることが良い基準であると思われます。
  • 磁気環境に影響を与える一般的な例には、スプリング マットレス、ラジエーター、PC ケース、デスクトップ スピーカー、スチール製の家具などがありま。
  • ほとんどの場合、これらの影響は約 6 〜 12 インチ (15 〜 30 cm) に及び、その範囲内で IMU が正しく回転しない可能性があります。

バッテリー

  • 「18650電池」かリポバッテリー
    • 18650電池は、リチウムイオン二次電池の一種の規格
    • リポバッテリーとは、リチウムイオンポリマーバッテリーの略称で、リチウムイオンバッテリーの一種
      • メーカーによって容量が大きく異なる
      • 保護回路がない
  • 100 mAh ごとに 1 時間ぐらい?
  • 日本語で検索するなら「Arduino リチウムイオン電池」か?

トラッカーのファームウェア関連

参考:トラッカー ファームウェアの更新
  • Visual Studio Code をインストールする
  • 「PlatformIO IDE」をインストールする
    • トラッカーへの接続、ファームウェアのビルドおよびアップロードを可能にする拡張機能
  • git クライアントをインストールする
  • ファームウェア プロジェクトのクローンを作成する
 

スマホを使った簡易トラッカー(slimeVR使用)

参考:スマホ5台でフルトラ!?部屋に余っているスマホを腰トラやフルトラに!(slimeVRを使ったviveトラッカ互換)
参考:VMTとARCoreでAndroidスマホをトラッカーにした話 
SlimeVR ドキュメント:https://docs.slimevr.dev/
ダウンロードリンク:https://github.com/SlimeVR/SlimeVR-Installer/relea...
  • SlimeVRはDIYトラッカーのハードとソフトを公開している?
  • Kindle Fireは使えない
  • SteamVRの前にSlimeVRサーバーを起動する必要がある
  • PC とトラッカー/電話が同じローカル ネットワークに接続されている必要があります
  • ウエスト トラッキングのみが必要な場合は、1 台の電話を使用できます。
    • ウエスト トラッキングは、 SlimeVR を使用せずにowoTrack SteamVR ドライバーでも動作します。
  • トラッカーのWi-Fiは2.4Gにする必要がある?

腰トラだけ使う場合

GitHub:https://github.com/abb128/owo-track-overlay
SteamVR用のドライバー(owoTrack SteamVR driver):https://mega.nz/folder/HRADQKLC#VKc-SFI6H2twCIQaBe...

 

エラー対策

参考:一般的な問題
  • SteamVR上の仮想トラッカーがグレーアウトしている
    • これは予想される動作です。VRにトラッカーがあるかどうか確認してください。
 
  • トラッカーは SlimeVR Server に接続されていますが、SteamVR で動きません。
    • SlimeVR Serverでトラッカー/スマホの正しいロールが選択されていることを確認してください。腰、左上脚、右上脚、左下脚、右下脚である必要があります。
 
  • 私のコントローラはトラッカーです。どのように修正すればよいですか?
    • SteamVR でトラッカーにロールを割り当てる必要があります。
      • SteamVRで、Settings > Devices > Manage Trackersに進みます。
      • トラッカーリストで、/devices/SlimeVR/SlimeVRTracker#という名前のものを探し、上から順にWAIST、LEFT_FOOT、RIGHT_FOOTというロールを与えます。
      • SteamVR を再起動します。
 
  • レッグトラッキングに必要なトラッカーやスマホの台数は?
    • SlimeVRを使用したFBTには、最低5台のトラッカーまたは携帯電話が必要です。
 

初期セットアップ(PC側)

  • 一度slimeVRを起動する。slimeVRの初期セットアップウィザードが出るが無視してOK
  • SteamVRを起動する→設定→詳細設定「表示」→スタートアップ/シャッ…→アドオンの管理→SlimVR「オン」


 
  • 腰トラ(1点だけトラッカーを追加)の場合、「Settings」で「Waist(腰)」だけにチェックを入れる
    • 設定を変更した場合は、SteamVRを再起動する
    • 必要のないトラッカーは有効にしない

 

スマホ(アンドロイド)側の設定

  • Google Playストアで「owoTrack」と検索しダウンロードする
  • PCのIPアドレスを調べる
    • コマンドプロンプト(cmd)で「ipconfig」を打ち込む
  • 「IPv4 アドレス. . . .192.168……」でIPを確認し、スマホのアプリ「owoTrack」に入力する
  • 接続に成功した場合PCの画面に以下のように、接続されたトラッカー(スマホ)が表示される

トラッカーの設定

腰を設定

 
向きを設定

トラッカーの装着位置の詳細

公式ドキュメント:トラッカーを装着する
  • 筋肉の動きによる変形が少ないほど、トラッキングが向上します。
  • また、トラッカーを素肌に直接取り付けて、密着性を高めることをお勧めします (安定性を高め、滑りを抑えます)。
 
  • ウエストトラッカーは、前かがみになることを意識せずに装着できる場所がたくさんあるので、特に注意してください。腰の上、おへその高さあたりに装着してください。
上腿: 体格に応じて、膝のすぐ上または太ももの上部。
下腿: 足首の上で、好きな方向に向けます。

トラッカーの動作確認(バーチャルモーションキャプチャー)

参考:バーチャルモーションキャプチャーとLIVを使ってMR合成する方法 #2「externalcamera.cfgファイルの作成」
公式サイト:https://vmc.info/
概要:バーチャルモーションキャプチャーはSteamVRの機能externalcamera.cfgを使ったMR合成機能が出来る
もし3本目のコントローラーを持っていなくても、仮想コントローラーを設定すれば同じようにゲーム内に合成することが出来る

externalcamera.cfgファイルとは

MR合成に使用するカメラと、そのカメラに取り付けるコントローラーとのオフセット距離を含んだファイルがexternalcamera.cfgファイルです。
SteamVRプラグインにはMR合成用の機能があらかじめ組み込まれており、このexternalcamera.cfgファイルで機能を有効にできます。

VR画面の録画



※フルスクリーンで表示しないと上のメニューが残ってしまうので注意!

OpenVR Capture

GitHub
  • プラグインフォルダに投げ込むだけ
 



Unityの画面をOBS出力する場合

参考:ツールを駆使してVTuberになろう:https://gaprot.jp/2021/04/06/vtuber-toos/
  • Spout:https://spout.zeal.co/
    • SpoutはWindowsアプリケーション間でリアルタイムに画像を共有するツールです。
 
  • Spout Cam:https://spout.zeal.co/
    • Spout CamはSpoutが送信した画像を受信できる仮想カメラです。
 
  • KlakSpout:https://github.com/keijiro/KlakSpout
    • KlakSpoutはUnityからSpoutを使うことができるプラグインです。
    • このプラグインからSpoutを介してUnityの画面を他アプリに送信したり、画像を受け取ったりすることができます。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

【メニュー編集】

スカイリム関連

スカイリム関連


Menu

【メニュー編集】

スクリプト関連

フリーエリア

管理人/副管理人のみ編集できます