創建模型:
1.長方體:
THREE.CubeGeometry(width, height, depth, widthSegments, heightSegments, depthSegments)
width
是x方向上的長度;
height
是y方向上的長度;
depth
是z方向上的長度;
后三個參數分別是在三個方向上的分段數,如widthSegments
為3
的話,代表x方向上水平分為三份。一般情況下不需要分段的話,可以不設置后三個參數,后三個參數的缺省值為1.
2:長方形:
THREE.PlaneGeometry(width, height, widthSegments, heightSegments)
width
是x方向上的長度;
height
是y方向上的長度;
后兩個參數同樣表示分段。
3.球形:
THREE.SphereGeometry(radius, segmentsWidth, segmentsHeight, phiStart, phiLength, thetaStart, thetaLength)
radius
是半徑;
segmentsWidth
表示經度上的切片數;
segmentsHeight
表示緯度上的切片數;
phiStart
表示經度開始的弧度;
phiLength
表示經度跨過的弧度;
thetaStart
表示緯度開始的弧度;
thetaLength
表示緯度跨過的弧度;
4.圓形或者扇形:
THREE.CircleGeometry(radius, segments, thetaStart, thetaLength)
new THREE.CircleGeometry(3, 18, Math.PI / 3, Math.PI / 3 * 4)
可以創建一個在x軸和y軸所在平面的三分之二圓的扇形:
5.圓柱體:
THREE.CylinderGeometry(radiusTop, radiusBottom, height, radiusSegments, heightSegments, openEnded)
radiusTop:頂面半徑
radiusBottom:底面半徑
當這兩個參數設置為不同的值時,實際上創建的是一個圓台;
height
是圓柱體的高度;
radiusSegments
與heightSegments
可類比球體中的分段;
openEnded
是一個布爾值,表示是否沒有頂面和底面,缺省值為false
,表示有頂面和底面
6.標准圓柱體:
new THREE.CylinderGeometry(2, 2, 4, 18, 3)
創建一個頂面與底面半徑都為2
,高度為4
的圓柱體
7.
正四面體、正八面體、正二十面體:
正四面體(TetrahedronGeometry)、正八面體(OctahedronGeometry)、正二十面體(IcosahedronGeometry)的構造函數較為類似,分別為:
THREE.TetrahedronGeometry(radius, detail)
THREE.OctahedronGeometry(radius, detail)
THREE.IcosahedronGeometry(radius, detail)
radius
是半徑;
radius
是半徑; detail
是細節層次(Level of Detail)的層數,
detail
是細節層次(Level of Detail)的層數, 對於大面片數模型,可以控制在視角靠近物體時,顯示面片數多的精細模型,而在離物體較遠時,顯示面片數較少的粗略模型。這里我們不對detail
多作展開,一般可以對這個值缺省。
detail
多作展開,一般可以對這個值缺省。8.
圓環面(圓環面(TorusGeometry)就是甜甜圈的形狀)
THREE.TorusGeometry(radius, tube, radialSegments, tubularSegments, arc)
radius
是圓環半徑;tube
是管道半徑;radialSegments
與tubularSegments
分別是兩個分段數;arc
是圓環面的弧度;
缺省值為Math.PI * 2;
9.
圓環結(如果說圓環面是甜甜圈,那么圓環結(TorusKnotGeometry)就是打了結的甜甜圈):
THREE.TorusKnotGeometry(radius, tube, radialSegments, tubularSegments, p, q, heightScale)