事業領域
開発実績
選ばれる理由
会社概要
LOGIN
2016.07.11

こんにちはエージーワークス代表の増本修二です。
前回の記事、
お手軽にVR!Google CardbordとThree.jsでVR体験その①
http://www.ag-works.com/blog/google-cardbord-three-js/
のつづきです。
簡単にVRを体験出来るGoogle Cardboard。
そのコンテンツをThree.jsで作ってみます。
【サンプルコンテンツの中身】
まずはダウンロードしたコンテンツの中身です。
googleのcardboardサイト、
https://vr.chromeexperiments.com
ここから「DOWNLOAD CODE」でダウンロードした中身が下記になります。

three.js以外、必要なファイルは下記の3つになります。
・DeviceOrientationControls.js
・OrbitControls.js
・StereoEffect.js
・DeviceOrientationControls.js
このライブラリでスマホの回転を取得します。
・OrbitControls.js
Three.jsで簡単にUIを追加出来るライブラリです。
・StereoEffect.js
画面を2分割し、立体視表示させるライブラリです。
【実際のコードについて】
実際のサンプルコードを見ていきましょう。
まずはVR表示として2画面表示させる部分。
|
1 |
effect = new THREE.StereoEffect(renderer); |
ステレオ表示するためのオブジェクトをrendererを引数に生成します。
そして、通常
|
1 2 3 |
function render() { renderer.render( scene, camera ); } |
などとするところを、代わりに
|
1 2 3 |
function render(dt) { effect.render(scene, camera); } |
として、2画面に表示させるeffectを使用します。
次にスマホの向き、回転を取得する部分。
|
1 2 3 4 5 6 7 8 9 10 11 |
function setOrientationControls(e) { if (!e.alpha) { return; } controls = new THREE.DeviceOrientationControls(camera, true); controls.connect(); controls.update(); element.addEventListener('click', fullscreen, false); window.removeEventListener('deviceorientation', setOrientationControls, true); } window.addEventListener('deviceorientation', setOrientationControls, true); |
DeviceOrientationControlsオブジェクトを生成し、deviceorientationイベントを取得します。
つまり、スマホの回転、deviceorientationイベントが発生するたびにsetOrientationControlsを実行し、スマホの角度に合わせてcontrolsを定義しています。
これだけででGoogle CardboardでVR表示が可能になります。
思いの外簡単だったのではないでしょうか。
あとはオブジェクトやアニメーションを自由に設置して、VRコンテンツを作ってみましょう!
2023.04.14
弊社で長年、開発してきたWeb3Dのウォークスルー。 ゲーム機など、専用のコント … 続きを読む →
2019.05.22
AR Quick Lookサンプルページ制作しました! ※※※※※※※※※※※※ … 続きを読む →
2018.11.07
【告知】ハイクオリティなARが大量に作れる「だれでもシミュレータ」サービス運用中 … 続きを読む →
2016.12.02
一人で体験するVRではありますが、できればカッコイイVRゴーグルがいいな、と思い … 続きを読む →
2016.11.29
プロトタイプコンテンツを更新しました。 https://goo.gl/6SqSg … 続きを読む →
2016.10.18
WEB VRコンテンツ検証用に、ダンボール製ではないVRゴーグル買ってみました。 … 続きを読む →