コンテンツにスキップ

利用者の環境で動かないとき

自分の PC では動くのに、購入者や友人の PC で動かないという報告を受けたときに、原因を「自分のコード」「相手の環境」「FloatSoda」のどれかに絞ります。相手の環境は見えないので、聞く情報を先に決めておくと、切り分けが進みます。FloatSoda の不具合だった場合は、集めた情報をそのまま Issue にできます。手順は 4 つです。

  1. 相手に環境の情報を集めてもらう
  2. 自分の PC で再現するかを確かめる
  3. 症状から原因を絞る
  4. FloatSoda の不具合なら Issue にする

自分の PC で動かないときは、このページではなく エラーを読んで直す を読んでください。

次の 2 つがそろっていることを確かめます。

  • 自分の PC では動くこと
  • 相手とやり取りできること
  • 相手に渡した配布物の版が分かること

手順1: 相手に環境の情報を集めてもらう

Section titled “手順1: 相手に環境の情報を集めてもらう”

相手に、次の項目を聞きます。そのまま送れる形にしてあります。

動かないときの情報を教えてください。分かる範囲で大丈夫です。
1. OS(例: Windows 11)
2. GPU(例: NVIDIA GeForce RTX 3060)
3. HMD(例: Meta Quest 3、Valve Index)
4. SteamVR の版
5. 受け取ったファイルの版(zip の名前)
6. 動かそうとしたオーバーレイの種類(ダッシュボード / 空間に固定 / 手首などに追従)
7. 画面に出たメッセージ(コンソールの文字を、そのまま貼るか、スクリーンショットで)

コンソールにログを出す構成のアプリでは、メッセージは、.exe を動かしたときに開く黒い窓(コンソール)に出ます。コンソールを開かない構成のアプリでは、そのアプリで定めたログの取得手順を案内します。窓がすぐ閉じるときは、コマンドプロンプトから .exe を動かして、出力を残してもらいます。

この項目は、コントリビューター向けの動作検証の報告(落ちたか落ちなかったかと、環境)と同じ形です。そのため、FloatSoda の不具合だったときに、Issue の材料として使えます。FloatSoda のバージョンなど、足りない項目は、配布の記録で補います。

できた? 項目が埋まった返事がある。

手順2: 自分の PC で再現するかを確かめる

Section titled “手順2: 自分の PC で再現するかを確かめる”

相手と同じ版、同じ種類のオーバーレイで、自分の PC で動かします。相手に渡した配布物(zip)をそのまま展開して動かすのが確実です。

  • 再現した: 自分の PC でも症状を調べられる。手順 3 へ進む
  • 再現しない: 環境、設定、操作の差を控えて、手順 3 へ進む

できた? 再現した、または再現しなかったと言える。

症状ごとに、疑う箇所は次のとおりです。

症状 疑うもの 確かめること
起動しない、起動の直後に終わる SteamVR が未起動、HMD が未接続、配布物のファイル不足 コンソールのメッセージを エラーを読んで直す で引く。配布物に openvr_api.dll などのネイティブライブラリがあるか(exe にして配る)
Init_HmdNotFound と出る HMD が未接続 HMD の接続を頼む。デスクトップの窓でも HMD の接続が要る(追跡: #140)
起動するが、押せない オーバーレイの種類 ポインターで操作するなら、窓の種類を確かめる。WorldSpaceWindow と DeviceTrackedWindow は未対応(追跡: #182)。反応しないときに切り分ける
表示の大きさが、自分の PC と違う ピクセル数か、VR 内の実寸かの違い Size、Dpm、窓の種類を確かめる。Size を省略すると、起動後の大きさの変化が反映されない(追跡: #285)。レイアウトの考え方

HMD 未接続の PC では、デスクトップの窓でも起動に失敗します。相手が HMD なしで試している場合は、この点を最初に疑います。

原因は、次の 4 つのどれかに絞れます。

  • 相手の環境: SteamVR の未起動、HMD の未接続
  • 配布物の不足: ネイティブライブラリなどのファイル不足
  • 自分のコード: 再現した上で、自分のコードを直すと解決する
  • FloatSoda の不具合の可能性: 上のどれでも説明できない。原因が判断できないときも、手順 4 で Issue に相談する

できた? 原因が 4 つのどれかに絞れた。

手順4: FloatSoda の不具合なら Issue にする

Section titled “手順4: FloatSoda の不具合なら Issue にする”

FloatSoda の不具合だと考えられるとき、または原因が FloatSoda にあるのか判断できないときは、Issue にします。原因が相手の環境だった場合は、Issue にせず、相手に直し方を伝えます。

Issue には、Issue のバグ報告テンプレートを使い、テンプレートの必須の欄を埋めます。手順 1 で集めた項目を、対応する欄に写し、足りない項目を補います。FloatSoda のバージョンと .NET SDK のバージョンは、配布者の開発環境の値を書きます。相手の PC の値ではありません。

Issue は公開されます。貼り付ける前に、メッセージにパスや個人情報が入っていないかを確かめてください。Issue の出し方の全体は、コントリビューター向けの 不具合を切り分けて報告する にあります。

できた? Issue が立った、または相手の環境の問題として相手に伝えた。

相手に、動いたかどうかを聞きます。直した版を届けるときは、exe にして配る の手順 4 に従います。

原因が絞れないときの行き先は、ガイドの docs で見つからないとき にあります。手順 1 の項目と、手順 2 で再現したかどうかを添えて聞いてください。