Three.js挤出标准的复杂几何形状

时间:2014-05-26 09:48:15

标签: three.js geometry shape vertices

我创建了一个环形几何体,用于表示球体中的平面。这种几何形状的问题在于,如果我将相机垂直放置,它就会消失,因为它没有宽度。

要解决这个问题,我想挤出这个几何体,而不是直接创建网格物体。

关于如何通过推动点和孔等方式创建挤出所需的形状有很多帖子,但没有关于如何从几何图形中正确获取此顶点的帖子。

首先,我尝试直接创建通过环几何体顶点的形状。它在“顶点”处未定义时失败:

var orb_plane_shape = new THREE.Shape(ring_geom.vertices.clone());

然后,我尝试复制顶点矢量,逐个放置,并将其赋予Shape构造函数。它有效,但有以下问题:

-A警告:无法对多边形进行三角测量! - 环中没有明显的孔,看起来顶点连接顺序已经改变。

    var vertices = [];
    for (var i = 0; i < ring_geom.vertices.length ; i++) {
        vertices.push(ring_geom.vertices[i].clone());       
    }
    var orb_plane_shape = new THREE.Shape(vertices);
    // extrude options
    var options = { 
        amount: 1,              // default 100, only used when path is null
        bevelEnabled: false, 
        bevelSegments: 2, 
        steps: 1,                // default 1, try 3 if path defined
        extrudePath: null        // or path
    };

    // geometry
    var geometry = new THREE.ExtrudeGeometry( orb_plane_shape, options );

    plane_orb = new THREE.Mesh(geometry, material_plane_orb);

我想建立一种方法,将任何标准2D几何体(圆形,环形......)转换为形状,以便能够将其挤出。

由于

0 个答案:

没有答案