已知几何体生成网格EdgesGeometry、WireframeGeometry
边缘几何体(EdgesGeometry)
剔除集合体中的斜线,第二个参数为0时等效WireframeGeometry
geometry — 任何一个几何体对象。
thresholdAngle — 仅当相邻面的法线之间的角度(单位为角度)超过这个值时,才会渲染边缘。默认值为1。
const geometry = new THREE.BoxGeometry( 100, 100, 100 );
const edges = new THREE.EdgesGeometry( geometry );
const line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) );
scene.add( line );
网格几何体(WireframeGeometry)
完整展示几何网格
这个类可以被用作一个辅助物体,来对一个geometry以线框的形式进行查看。
const geometry = new THREE.SphereGeometry( 100, 100, 100 );
const wireframe = new THREE.WireframeGeometry( geometry );
const line = new THREE.LineSegments( wireframe );
line.material.depthTest = false;
line.material.opacity = 0.25;
line.material.transparent = true;
scene.add( line );
实例:
const group = new THREE.Group();
const gridGroup = new THREE.Group();
const radius = this.length * Math.tan(THREE.MathUtils.degToRad(this.angle / 2));
const geometry = new THREE.CircleGeometry(radius, this.topLineSteps - 1);
const circleMesh = new THREE.Mesh(geometry, flatMaterial);
//圆形纵线
// const gridGeometry = new THREE.RingGeometry(0, radius, this.topLineSteps - 1, this.topCircleSteps - 1);
// const mesh = new THREE.Mesh(gridGeometry, flatMaterial);
group.add(circleMesh);
// //圆锥侧面网格
const gridGeometry = new THREE.WireframeGeometry(geometry);
const gridMesh = new THREE.LineSegments(gridGeometry, gridMaterial);
group.add(gridMesh);
const edges = new THREE.EdgesGeometry(geometry, 0);
const line = new THREE.LineSegments(edges, new THREE.LineBasicMaterial({ color: 0xffffff }));
group.add(line);
return group;

浙公网安备 33010602011771号