使CylinderGeometry非空洞

时间:2016-11-11 15:46:38

标签: three.js

我想用three.js绘制一个普通的饼图,并与CylinderGeometry一起去做。 问题是,我想动画我的饼图。就像有人点击饼图的某个部分一样,它应该滑出饼图。

问题是,这个几何体内部是空心! 有没有办法让CylinderGeometry 实体(非空心)? (我知道我可以绘制自己的饼图,但我想知道是否有可能用CylinderGeometry来做?)

2 个答案:

答案 0 :(得分:1)

LatheGeometry()ExtrudeGeometry()将帮助您构建圆柱体的片段。但是,如果你想要一个非空心的片段,那么ExtrudeGeometry()就是你的选择。

jsfiddle示例

答案 1 :(得分:0)

这是对我的代码的理解。 我正在迭代json文件以获取数据,然后此代码段创建多个段。

var segment = new THREE.Mesh(new THREE.ExtrudeGeometry(new THREE.CylinderGeometry(5,5,1.5,50,50,false,lastThetaStart,(Math.PI*2)*(jsonData[data].percent/100)),
        {amount: 100, steps: 100, bevelEnabled  : false}),
        new THREE.MeshPhongMaterial({
            color: Math.random() * 0xffffff,
            shading: THREE.SmoothShading,
            specular: 0xffffff,
            shininess: 3,
        }));

但是只要我在example.html中执行该文件,就会出现以下错误:

  

three.js:26099 Uncaught TypeError:shape.extractPoints不是   函数(...)