質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Three.js

Three.jsはWebGLをサポートしているJavaScriptの3D描画用ライブラリです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

715閲覧

[Rails] threejs-railsを使って360度パノラマ写真を表示したい

s_diff

総合スコア107

Three.js

Three.jsはWebGLをサポートしているJavaScriptの3D描画用ライブラリです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2019/07/13 02:39

編集2019/07/13 02:42

###環境
Rails 4.2.6
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin17]

threejs-rails
GIT
remote: git://github.com/marvindanig/threejs-rails.git
revision: 6fcd3bf1fc1f8d24d5e8ba31f46dd75bbf891fa4
specs:
threejs-rails (1.1.4)
railties (>= 3.0)

###実装
Three.jsで360度写真が自動で回転する機能を作っています。

# index.html.erb <div id="stage"></div> <script> (function(){ var width = window.innerWidth, height = window.innerHeight; //scene var scene = new THREE.Scene(); //mesh var geometry = new THREE.SphereGeometry( 5, 60, 40 ); geometry.scale( - 1, 1, 1 ); var material = new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( '<%= asset_path("panorama/panorama-back.png") %>' ) } ); sphere = new THREE.Mesh( geometry, material ); scene.add( sphere ); //camera var camera = new THREE.PerspectiveCamera(75, width / height, 1, 1000); camera.position.set(0,0,0.1); camera.lookAt(sphere.position); //helper var axis = new THREE.AxisHelper(1000); axis.position.set(0,0,0); scene.add(axis); //render var renderer = new THREE.WebGLRenderer(); renderer.setSize(width,height); renderer.setClearColor({color: 0x000000}); document.getElementById('stage').appendChild(renderer.domElement); renderer.render(scene,camera); //control var controls = new THREE.OrbitControls(camera,renderer.domElement); function render(){ requestAnimationFrame(render); sphere.rotation.y += 0.05 * Math.PI/180; //画面リサイズ対応 window.addEventListener( 'resize', onWindowResize, false ); renderer.render(scene,camera); controls.update(); } render(); function onWindowResize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize( window.innerWidth, window.innerHeight ); } })(); </script>

###エラー
chromeの検証で以下のようなエラーメッセージを確認できました。

Uncaught TypeError: THREE.OrbitControls is not a constructor

at (index):231 at (index):249

threejs-railsでは、OrbitControlsを使うことはできないのでしょうか。
他にも自動で回転する360度写真を実装する方法等あればなにかご教示の方、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問