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

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

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

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

WebGL

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

Q&A

0回答

2464閲覧

Three.jsで出力したgltfモデルが荒くレンダリングされる

MemoT

総合スコア13

Three.js

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

WebGL

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

0グッド

0クリップ

投稿2018/11/23 03:13

以下のコードで出力したgltf形式の3Dモデルが、現物よりも荒く出力されてしまいます。どこが干渉しているのか、またどう解消されるのかについてご指導いただけますでしょうか?

<script> var scene, renderer; var camera; var mesh; var isMouseDown = false; function init() { //シーンを作成 scene = new THREE.Scene(); //カメラを作成 camera = new THREE.PerspectiveCamera( 750, window.innerWidth/window.innerHeight, 0.1, 800 ); camera.position.z = 55; camera.position.y = 0; //レンダラーを作成 renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); //背景色を設定 renderer.setClearColor(0xffffff, 1); renderer.gammaOutput = true; //光源を作成 var light = new THREE.DirectionalLight("#c1582d", 1); var ambient = new THREE.AmbientLight("#85b2cd"); light.position.set( 0, 20, 45 ).normalize(); scene.add(light); scene.add(ambient); var texture = new THREE.Texture(); var manager = new THREE.LoadingManager(); manager.onProgress = function ( item, loaded, total ) {}; var onProgress = function ( xhr ) {}; var onError = function ( xhr ) {}; // 3Dモデル用テクスチャ画像の読込 var loader = new THREE.GLTFLoader(); // GLTFの読み込み loader.load( // resource URL 'https://from.endroll.me/is/3d/map/scene.gltf', // called when the resource is loaded function ( gltf ) { mesh = gltf.scene; mesh.scale.set( 10, 10, 10 ); scene.add( mesh ); mesh.rotation.set(Math.PI/4,0,0); mesh.position.set(0, 4, 0); }, // 呼び出しの確認 function ( xhr ) { console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); }, // エラーはいた場合 function ( error ) { console.log( 'An error happened' ); } ); document.addEventListener("mousedown", onMouseDown); document.addEventListener("touchstart", onMouseDown); document.addEventListener("mouseup", onMouseUp); document.addEventListener("touchend", onMouseUp); document.addEventListener("mousemove", onMouseMove); document.addEventListener("touchmove", onMouseMove); render(); } function render() { requestAnimationFrame( render ); renderer.render(scene, camera); } // マウスを押したとき function onMouseDown(event) { isMouseDown = true; } // マウスを動かした時 function onMouseMove(event) { if (isMouseDown) { // 3DモデルをX軸とY軸方向に回転させます if ( mesh ) { mesh.rotation.y = getMouseX(event)/50; } } } // マウスを離したとき function onMouseUp(event) { isMouseDown = false; } function getMouseX(event) { if (event.type.indexOf("touch") == -1) return event.clientX; else return event.touches[0].clientX; } function getMouseY(event) { if (event.type.indexOf("touch") == -1) return event.clientY; else return event.touches[0].clientY; } window.addEventListener('DOMContentLoaded', init); </script>

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

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

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

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

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

bochan2

2018/12/21 07:32

荒いとは画面の解像度、ポリゴン座標、テクスチャのどれのことですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問