2016-04-03 15 views
0

私は、回転する単一の矩形を作成するMWEを作成しました。しかし、矩形はその向きに基づいて消え、マテリアル(点線で表示される)は機能せず、その代わりに矩形がソリッドで描画されます。three.js方向に応じてメッシュが表示されない

  1. 消滅は、カメラに向かって見える矩形だけが原因であると考えられます。単純な両面矩形パラメータはありますか?
  2. 矩形が点線の外枠として描画されないのはなぜですか?

    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();

答えて

1

材料両面ようにするには、

material.side = THREE.DoubleSide. 

LineDashedMaterialを計算するラインの距離を必要と設定しました。

geometry.computeLineDistances(). 

WebGLRendererは、CanvasRendererより好ましい。

three.js r.75

+0

最初の部分(ダブルサイディング)が動作します。 – Dov

+0

computeLineDistances()を追加しても効果がないようです。 – Dov

+0

http://threejs.org/examples/webgl_lines_dashed.html – WestLangley

関連する問題