三维几何体
1、CubeGeometry
主要是用来创建四方体的,只要指定宽度、高度、深度既可以创建出一个方块,参数如下:
new THREE.CubeGeometry(width, height, depth, widthSegments, heightSegments, depthSegments);
width, height, depth是必须的参数
width:宽度,沿x轴方向的长度
height:高度,沿y轴方向的长度
depth:深度,沿z轴方向的长度
widthSegments:沿x轴的方向,将面分成多少份,默认值是1
heightSegments:沿y轴的方向,将面分成多少份,默认值是1
depthSegments:沿z轴的方向,将面分成多少份,默认值是1
2、SphereGeometry
可以用来创建球体,new THREE.SphereGeometry()就可以创建一个默认的圆形,参数如下:
radius:半径,默认是50
widthSegments:竖直(经度)方向上的分段数,分段越多,球体的表面越光滑,默认值是8,最小值是3
heightSegments:水平(纬度)方向上的分段数,分段越多,球体的表面越光滑,默认值是8,最小值是3
phiStart:指定从x轴的什么地方开始绘制,取值是0~2*Pi,默认是0
phiLength:用来指定从phiStart开始画多少,2*Pi是个整球,0.5Pi画的是一个竖直的1/4球。换句话说,就是竖直方向画多宽,就像西瓜一样,一瓣切多大
theStart:指定从y轴的什么地方开始绘制,取值是0~2*Pi,默认是0
thetaLength:用来指定从theStart开始画多少,Pi是个整球,0.5Pi画的是一个上半球。
3、CylinderGeometry
可以创建圆柱和类似圆柱的物体,new THREE.CylinderGeometry()就可以创建一个默认的圆柱,参数如下:
radiusTop:设置圆柱顶部的尺寸,默认是20
radiusBottom:设置圆柱底部的尺寸,默认是20
height:设置圆柱的高度,默认是100
segmentsX:沿x轴分成多少段,默认是8,值越大圆柱越光滑
segmentsY:沿y轴分成多少段,默认是1,分段越多,面越多
openEnded:指定网格的顶部和底部是否封闭,默认是false
4、TorusGeometry
可以画一个圆环,像甜甜圈的那种,new THREE.TorusGeometry()就可以创建一个默认的圆环,参数如下:
这个要贴一张图,不然说不清楚:
radius:圆环的尺寸,就是这个圆有多大,默认是100
tube:管子的半径,就是图中彩色的那根管子,默认是40
radialSegments:沿圆环长度方向分成的段数,默认是8,看到管子上的白线没有,值越大越密
tubularSegments:沿圆环宽度方向分成的段数,默认是6,比如图中的就是6节
arc:可以控制是否绘制一个完整的圆,默认是2*Pi(完整圆环)
5、TorusKnotGeometry
可以创建一个环面纽结,就像绳子绕在一起一样,参数如下:
radius:圆环的尺寸,默认是100
tube:管子的半径,默认是40
radialSegments:沿圆环长度方向分成的段数,默认是8
tubularSegments:沿圆环宽度方向分成的段数,默认是6
p:定义结的形状,默认是2
q:定义结的形状,默认是3
heightScale:可以拉伸环面纽结,默认是1
6、PolyhedronGeometry
用来创建多面体,参数如下:
vertices:设置构成多面体的顶点
faces:指定由vertices创建的面
radius:指定多面的大小
detail:通过这个属性你可以给这个多面体添加额外的细节,如果设为1,这个多面体上的每个三角形都会分成4个小三角形,如果设为2,那么那些4个小三角形中的每一个都会继续分成个小三角形,以此类推
有几个现成的多面体可以使用,包括,IcosahedronGeometry(20面体),TetrahedronGeometry(正四面体),OctahedronGeometry(正八面体)
这次暂总结到这里吧,下次继续。