解決した

three.js WebVRサンプルコードはthreejs.orgで動作しますが、ローカルサーバでは動作しません

サーバー

ChromeブラウザとUtopia360ヘッドセットを使用してAndroid 7.0 Samsung Galaxy 7の電話機でhttps://threejs.org/examples/webvr_cubes.htmlの例を試してみると、すべて動作し、VRモードに入ることができます。 正確に同じコードで同じことを試してみると、自分のローカルサーバーでのみ、 "Your browser does not support WebVR. See webvr.info for assistance."

コードはまったく同じで、three.jsファイルとWebVR.jsファイルは、ディレクトリ構造(つまり、 <script src="js/threejs/three.js" type="text/javascript"></script> <script src="../build/three.js"></script>代わりに<script src="js/threejs/three.js" type="text/javascript"></script>


Progress 100%

一番いい

回答

サーバー

問題は、 Google WebVRステータスのドキュメントに基づいて、「HTTPS経由でWebVRコンテンツを提供する」必要があることです。

Threejs.orgはHTTPSを使用するサイトですが、ローカルホストは安全な接続を介してコンテンツを配信することはほとんどありません。 だからこそ、「ブラウザはWebVRをサポートしていない」という誤解を招く警告が表示されます。

残念ながら、 Apache経由でHTTPSを配信する方法として、ローカルホスト用のSSL証明書を取得する3つのオプションがAndroid用Chromeでは動作しない(または高価な)というように聞こえるため、 WebVR polyfillを使用するのが最適な解決策ですであること。