2017-11-25 4 views
1

three.js 자료는 메쉬의 앞면 및/또는 뒷면을 렌더링할지 여부를 제어하는 ​​side 속성을가집니다. 와이어 프레임을 사용하여 동일한 작업을 수행 할 수있는 방법이 제공되므로 전면 가장자리 만 렌더링됩니다.와이어 프레임의 한 면만 표시 - three.js

var geo = new THREE.EdgesGeometry(mesh.geometry); 
    var mat = new THREE.LineBasicMaterial({ 
    color: 0x000000, 
    linewidth: 4, 
    side: THREE.FrontSide 
    }); 
    var wireframe = new THREE.LineSegments(geo, mat); 
    mesh.add(wireframe); 

    wireframe.renderOrder = 1; 

enter image description here:

material = new THREE.MeshPhongMaterial({ 
    color: 0xFF9800, 
    side: THREE.BackSide, 
    opacity: 1//0 
    }); 

enter image description here https://jsfiddle.net/8p7jja9L/34/

와이어 프레임의 프론트 사이드를 보여 주려 :

큐브의 뒷면을보기 내가 제대로 이해하면 691,363,210 https://jsfiddle.net/8p7jja9L/35/

+2

'THREE.SVGRenderer'에 대해 묻는 것이 분명해야합니다. – WestLangley

+0

@WestLangley 'side' 속성이 머티리얼에 설정되어 있습니다. 렌더러 특정이 아니어야합니다. – Yarin

답변

1

, 당신은 단순히 물질에 wireframe: true을 추가하고 렌더링 할면 지정할 수 있습니다

https://jsfiddle.net/8p7jja9L/39/

material = new THREE.MeshPhongMaterial({ 
    color: 0xFF9800, 
    side: THREE.FrontSide, 
    wireframe: true <--- 
    }); 

이 와이어 프레임의 한면을 렌더링을 three.js '상자 형상 용. 이것이 당신이 상상 한 와이어 프레임이 아니라면 비행기로 상자를 만들거나 블렌더 같은 도구를 사용하여 원하는 와이어 프레임을 만들어야 할 수도 있습니다.

+1

EdgesGeometry를 사용하여 작업을 수행하기를 바랬지 만, 내가 보여 준 방식이 내가 바라는 최선이라고 생각합니다. 감사- – Yarin