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

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

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

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

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

Q&A

2回答

6391閲覧

three,jsで画像を貼り付ける(テクスチャ)ことがうまくいきません・・

YoheiKoga

総合スコア9

Three.js

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

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

0グッド

0クリップ

投稿2014/11/03 03:28

Three.jsを使って立体を作ろうと思ってます。

練習として、地球を描写しようとしているのですが、画像がうまく貼り付けられません。

どうして貼り付けられないのかもわからないので困っています、どなたかわかる方がいらっしゃいましたらよろしくおねがいしますm(__)m

画像は同じフォルダ(ディレクトリ)においてます。
コードは下記のようになります

lang

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>try to make sphere</title> 6</head> 7<body> 8 <script src="three.min.js"></script> 9 <script> 10 var main = function (){ 11 // write codes here 12 // make scene 13 var scene = new THREE.Scene(); 14 15 var width = 600; 16 var height = 400; 17 18 var fov = 60; 19 var aspect= width / height; 20 var near = 1; 21 var far = 1000; 22 23 var camera = new THREE.PerspectiveCamera(fov, aspect, near, far); 24 camera.position.set(0,0,500); 25 26 var renderer = new THREE.WebGLRenderer(); 27 renderer.setSize(width, height); 28 document.body.appendChild(renderer.domElement); 29 30 //光源 31 var directionalLight = new THREE.DirectionalLight(0xffffff); 32 directionalLight.position.set(0, 0.7, 0.7); 33 scene.add(directionalLight); 34 35 //ここから作りたい画像の描写 36 var geometry = new THREE.SphereGeometry(300, 20, 20); 37 var earth_picture = new THREE.ImageUtils.loadTexture("earth.jpg"); 38 //Lambert材質 39 var material = new THREE.MeshPhongMaterial({map:earth_picture}); 40 var sphere = new THREE.Mesh(geometry, material); 41 scene.add(sphere); 42 43 renderer.render(scene, camera); 44 45 }; 46 47 window.addEventListener('DOMContentLoaded', main, false); 48 </script> 49</body> 50</html>

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

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

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

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

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

guest

回答2

0

ローカルの場合はブラウザにそれを認証させる必要があります。私はMacなので参考になるかわかりませんが、ターミナルを開いて```lang-<open -a 'Google Chrome' --args --allow-file-access-from-files>

投稿2014/11/24 03:05

K.mori

総合スコア12

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

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

YoheiKoga

2014/11/25 02:13

ありがとうございます!ちょっとそれも調べてみます!
guest

0

テクスチャに対して、needsUpdateをtrueに設定する必要がありそうです。
あと、もしローカルHTMLでやっている場合(URLがfileスキーム)はファイルが読み込めないかもしれません。

投稿2014/11/04 00:50

TaMaMhyu

総合スコア1356

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

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

YoheiKoga

2014/11/04 10:05

なるほど・・・ローカルHTMLで行ってはいます、needsUpdateも試してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問