私は、回転する単一の矩形を作成するMWEを作成しました。しかし、矩形はその向きに基づいて消え、マテリアル(点線で表示される)は機能せず、その代わりに矩形がソリッドで描画されます。three.js方向に応じてメッシュが表示されない
- 消滅は、カメラに向かって見える矩形だけが原因であると考えられます。単純な両面矩形パラメータはありますか?
矩形が点線の外枠として描画されないのはなぜですか?
var container、stats; var camera、scene、renderer; varグループ。
var windowHalfX = window.innerWidth/2; var windowHalfY = window.innerHeight/2;
function init(){ container = document.createElement( 'div'); document.body.appendChild(container);
camera = new THREE.PerspectiveCamera(50, window.innerWidth/window.innerHeight, 1, 1000); camera.position.set(0, 150, 500); scene = new THREE.Scene(); var lineDash = new THREE.LineDashedMaterial({ color: 0xffaa00, dashSize: 3, gapSize: 1, linewidth: 2 }); var wall = new THREE.Geometry(); var h = 200; wall.vertices.push(new THREE.Vector3(0, 0, 0)); wall.vertices.push(new THREE.Vector3(200, 0, 0)); wall.vertices.push(new THREE.Vector3(200, 0, h)); wall.vertices.push(new THREE.Vector3(0, 0, h)); wall.faces.push(new THREE.Face3(0, 1, 2)); wall.faces.push(new THREE.Face3(0, 2, 3)); var wallObj = new THREE.Mesh(wall, lineDash); wallObj.position.x = 0; wallObj.position.y = 200; wallObj.rotation.x = Math.PI/2; group = new THREE.Group(); group.add(wallObj); scene.add(group); renderer = new THREE.CanvasRenderer(); renderer.setClearColor(0xf0f0f0); renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); container.appendChild(renderer.domElement);
}
関数アニメーション(){ requestAnimationFrameの(アニメーション)。 render(); }
function render(){ group.rotation.y + = .05; renderer.render(scene、camera); }
init(); animate();
最初の部分(ダブルサイディング)が動作します。 – Dov
computeLineDistances()を追加しても効果がないようです。 – Dov
http://threejs.org/examples/webgl_lines_dashed.html – WestLangley