問題タブ [virtual-reality]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Google cardboard でズームインする方法
Google の厚紙を使ったプロジェクトに取り組んでいます。厚紙のマグネット ツールを使用してズームインおよびズームアウトするためのスクリプトを理解し、作成するのを手伝ってくれる可能性のある人がいるかどうかを尋ねています。どうもありがとうございました。
android - Cardboard ネイティブ アプリの検出
VR アプリ ランチャーを作成しています。このために、インストールされたアプリのパッケージ マネージャーを実行し、packageName で「vr」の match コマンドを実行しています。これにより、開発者が追加することを決定した場合にのみ必要な結果が得られます。 VRという言葉を彼のアプリ名に付けました。
どうすればこの検出を 100% できるようになるのだろうか。
VR アプリのマニフェストには特定の識別タグがないようです。VR アプリは特定の JAR を使用する必要があり、通常のアクティビティではなく CardboardActivity を実行している必要がありますが、この機能を検索する方法がわかりません。
助けていただければ幸いです、ありがとう。
javascript - WebVR - PositionSensorVRDevice からの向きや位置がありません
Three.js の VRControls ( examples/js/controls/VRControls.js
) を使用するか、PositionSensorVRDevice
.
ただし、のPositionSensorVRDevice
状態値は常に(Firefox) または x、y、z = 0 の VRPoint3D/4D (Chrome) のいずれかであるため、カメラの向きは決して変わりません。orientation
position
null
私が試した Firefox と Chrome の VR ビルドは次のとおりです。
Chrome が次のように報告するため、実際のものではないように見えますが、PositionSensorVRDevice OK を取得しています。
- デバイス ID: デバッグ-0
- deviceName: Moculus Rift
- hardwareUnitId: デバッグ-0
そしてFFはそれを次のように報告しています:
- deviceId: somedevid
- deviceName: HMD 位置デバイス
- hardwareUnitId: unknownHMDInfo-0x1351d4000
Leap Motion VR Quickstart demoとThree.js WebGL Effects VR demoで同じ結果が得られます。数か月前に動作していたデモでも同じことが言えます.VRControlsを使用していませんが、PositionSensorVRDeviceを直接扱っています.
言うまでもなく、Rift はすべて接続されており、Oculus Rift Config Util のデモ シーンは正常に機能しています。ファームウェア バージョン 2.12 を使用しています。
VRControls の関連コードは update メソッドです。ここでstate.orientation
との値をチェックしています。state.position
どんな提案もありがたく受け取った!
c++ - 仮想現実環境における物体の衝突による音の合成
「仮想現実環境でのオブジェクト衝突からのサウンド合成」というテーマのプロジェクトがあります。まず、特定の属性 (形状、質量、素材など) を持つオブジェクトをいくつか定義し、次に衝突からサウンドを作成する必要があります。これらのオブジェクトは、属性、衝突領域などに応じて C++ で作成されます。Bullet や ODE などの物理エンジンを使用する必要があると思いますが、このプロジェクトを開始する方法がわかりません。音声合成に特化した物理エンジンはありますか?
PhyA を思いつきましたが、ダウンロードして実装する方法がわかりません。 http://www.tech.dmu.ac.uk/~dylan/z/phya/
PS Falcon デバイスを使用する必要があるため、CHAI3d または H3dApi を使用する予定です。
前もって感謝します
android - UNITY 3D用マグネットスクリプト
私は Google Cardboard プロジェクトに取り組んでいます。現在、Android 用のデモがあり、UNITY 3D で構築した特別なシーンで見回すことができます。すべて正常に動作し、見栄えも良いですが、本当に欲しいのは次のとおりです。
Google Cardboard のマグネット ボタンを押すと前に進みたい。
Web でいくつかのスクリプトを見つけましたが、これらのスクリプトを UNITY プロジェクトで機能させる方法が正確にはわかりません。
誰でもこれでさらに助けてもらえますか?
camera - Oculus VR camerarig を使用した途切れ途切れの画像
ポータルを作成するためにこの人のコードを試しています。ここでポータルの動作のビデオを見ることができます-- http://algoholic.eu/unity3d-4-indie-free-portal-effect-with-no-stencil-and -no-render-to-texture/
リフトを使用しない場合、プロジェクトは正常に動作しますが、CameraRig をドロップして構成すると、この効果が得られ、それが何であるかわかりません: ゲームを開始: http://imgur.com/NMYVm6L Move in any方向: http://imgur.com/K6iXgcO
ポータルの画像が途切れています。これは...クリッピングですか?両方のアイ アンカーを描画する速度が十分ではありませんか? 私が言ったように、私はそれが何であるかわからないので、どこから修正を開始すればよいかわかりません。
javascript - Web アプリ中に表示を維持する
私は Three.js (Javascript) を使用して Web アプリを構築しています。これは、モバイル デバイス用の VR 機能です (特に Android)。私が直面している問題は、しばらくすると画面が暗くなり、オフになることです。ディスプレイをオンにしておくための API を見つけようとしましたが、それについての言及が見つかりませんでした。ただし、 http: //vr.chromeexperiments.com/にアクセスしてこれらのデモを実行すると、画面は常にオンになります。彼らのコードを調べようとしましたが、解決策が見つかりませんでした。どうやってやっているの?ありがとう
android - Google Cardboard ステレオ ビューをモノ ビューに変更するにはどうすればよいですか
Cardboard
そこで、google demo-app のビューをモノビューに変更したいと思います。そのため、ハンディスクリーンの各半分に画像を表示する代わりに、画面全体に画像を 1 つだけ表示したいと考えています。どのように私はそれを行うことができますか?
android - Unity 3d を使用した Google 段ボール メニュー
Unity 3d cardboard sdk を使用して、メニューのような cardboard アプリを作成しようとしています。問題は、通常のカメラを使用すると、デフォルトのマニフェスト ファイルが存在する場合に機能しないことです。作成されたデフォルトのマニフェスト ファイルを削除すると、カメラは動作しています。unity 3d を使用して google cardboard のようなメニューを作成するためのサンプルが見つかりません。誰かがこれをやろうとしましたか。
c++ - Oculus Rift + ポイント スプライト + ポイント サイズの減衰
Oculus Rfit をサポートする小さなプロジェクトをコーディングしています。ポイント スプライトを使用してパーティクルをレンダリングしています。頂点シェーダーの「カメラ」からの距離に基づいて、ポイント スプライトのサイズをピクセル単位で計算します。デフォルトの画面 (Rift ではなく) で描画すると、サイズは完全に機能しますが、Rift に切り替えると、次の現象に気付きます。
左目の粒子は小さく、非常に急速にサイズが小さくなります。右目のパーティクルは巨大で、サイズは変わりません。
スクリーンショット: リフト無効: http://i.imgur.com/EoguiF0.jpg リフト有効: http://i.imgur.com/4IcBCf0.jpg
頂点シェーダーは次のとおりです。
st_screen_size ユニフォームはビューポートのサイズです。Rift でレンダリングするときに frambuffer を 1 つ使用しているため (片目ごとに 1 つの半分)、st_screen_size の値は (frabuffer_width / 2.0, frambuffer_height) にする必要があります。
ここに私のドローコールがあります:
この問題は何日も私を悩ませてきました...そして私は行き止まりに達したように感じます. ビルボードのクワッドを使用することもできます...しかし、簡単にあきらめたくありません:)プラスポイントスプライトはより高速です。Rift でのレンダリング時に、距離に基づくポイント サイズの減衰の背後にある計算は行われますか? 何かを考慮していませんか?数学は (少なくとも) 私の得意分野ではありません。:) どんな洞察も大歓迎です!
PS: 投稿したコードについて追加情報が必要な場合は、喜んで提供します。