利用者の環境で動かないとき
この手順でできること
Section titled “この手順でできること”自分の PC では動くのに、購入者や友人の PC で動かないという報告を受けたときに、原因を「自分のコード」「相手の環境」「FloatSoda」のどれかに絞ります。相手の環境は見えないので、聞く情報を先に決めておくと、切り分けが進みます。FloatSoda の不具合だった場合は、集めた情報をそのまま Issue にできます。手順は 4 つです。
- 相手に環境の情報を集めてもらう
- 自分の PC で再現するかを確かめる
- 症状から原因を絞る
- 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 へ進む
できた? 再現した、または再現しなかったと言える。
手順3: 症状から原因を絞る
Section titled “手順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 が立った、または相手の環境の問題として相手に伝えた。
結果を確かめる
Section titled “結果を確かめる”相手に、動いたかどうかを聞きます。直した版を届けるときは、exe にして配る の手順 4 に従います。
うまくいかないとき
Section titled “うまくいかないとき”原因が絞れないときの行き先は、ガイドの docs で見つからないとき にあります。手順 1 の項目と、手順 2 で再現したかどうかを添えて聞いてください。