6

WebGL を使用して 3D シーンを生成する Web アプリケーションがあります。このシーンをOculus Riftで表示できないか悩んでいます。どのくらい難しいですか?

4

4 に答える 4

5

概要

これは古い質問であり、現在はさらに多くの情報があることを認識していますが、以前に投稿された回答は最新ではないため、とにかく回答を投稿します.

three.js、webvr、および oculus を連携させるために何をする必要があるかを示す基本的なプランカーを作成しました。注: plunker でフルスクリーンを動作させることはできませんでしたが、 mozilla ナイトリー ビルドで oculus Rift (OR) を使用して plunker を実行すると、 頭の回転が機能していることがわかります。plunker の外で実行すると、完全な OR VR 体験を得ることができるはずです。

参考になるもう 1 つの良いアプリはRiftSketchだと思います。これは、ブラウザで OR を機能させる方法を学ぶために最初に使用したものです (これは実際には、この質問の元の投稿者によって作成されたアプリです)。

標準の three.js アプリとは異なる、関連する webvr スニペットを次に示します。

this.controls = new THREE.VRControls(this.camera);
this.effect = new THREE.VREffect(this.renderer);
this.effect.setSize(this.width, this.height);

this.vrManager = new WebVRManager(this.renderer, this.effect);

そしてレンダリング機能で:

this.controls.update();

this.renderer.render(this.scene, this.camera); 

if (this.vrManager.isVRMode()) { 
  this.effect.render(this.scene, this.camera);
}
else {
  this.renderer.render(this.scene, this.camera);
}

必要なモジュール

他に行う必要があるのは、(three.js に加えて) 次の 4 つのライブラリを提供することです。

  • VRControls.js
  • VREffect.js
  • webvr-manager.js
  • webvr-polyfill.js

VRControls.js と VREffect.js は、それぞれ「examples/js/controls」と「examples/js/effects」の下にあるthree.js ライブラリから入手できます。

更新: webvr-boilerplate githubからすべてのライブラリを取得することをお勧めします。three.jsには最新バージョンがないようです。

他の 2 つはwebvr-boilerplate github から入手できます。

こちら で説明されているように webvr API に直接アクセスすることもできますが、サポート ライブラリを使用する方がはるかに簡単だと思います。

最後の言葉

基本的に、Oculus Rift SDK を扱う必要はまったくありません。OR SDK API を直接呼び出す必要があるのは、Unity エンジンの開発者と Mozilla API の開発者だけです。

WebVR は、Cardboard、OR、および (おそらく将来的には) Samsung、HTC Vive、leap motion などのすべての HMD デバイスに標準化されたインターフェイスを提示しようとする共通 API を作成します。VRControls と VREffects を使用することを選択した場合は、さらに簡単にするための API のレイヤーが追加されます。基本的には定型文の集まりです。結局のところ、舞台裏で実際に何が起こっているのかについて、あなたが本当に多くのことを理解できるとは思えません。基本的に一度設定するだけで、二度と触ることはありません。

OR のサポートがあれば、アプリの開発は他の three.js アプリとほとんど同じです。

于 2015-07-28T11:01:17.957 に答える