three.js中有几种几何体可以创建二维网格,但是大部分还是用来创建三维网格的。
二维几何体
PlaneGeometry
PlaneGeometry可以用来创建简单的二维矩形。如下图 :
构造函数如下 :
new THREE.PlaneGeometry(width, height, widthSegments, heightSegments);
例子:
var geom = new THREE.PlaneGeometry(3,3,3,3);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);
CircleGeometry
通过CircleGeometry你可以创建出简单的二维圆(或部分圆)。如下图 :
构造函数如下 :
new THREE.CircleGeometry(radius, segments, thetaStart, thetaLength);
下图是各个参数的演示
例子 :
var geom = new THREE.CircleGeometry(3,40,0,2*Math.PI);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);
三维几何体
CubeGeometry
CubeGeometry是一种非常简单的三维几何体,你只要指定宽、高和深度即可创建出一个方块。
构造函数如下:
new THREE.CubeGeometry(width, height, depth, widthSegments, heightSegments, depthSegments);
下图是各个参数的演示
例子:
var geom = new THREE.CubeGeometry(3,3,3,3,3,3);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);
SphereGeometry
SphereGeometry可以创建一个三维球体。如下图:
构造函数如下 :
new THREE.SphereGeometry(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength);
下图是各个参数的演示
例子 :
var geom = new THREE.SphereGeometry(2,20,20,0,2*Math.PI,0, Math.PI);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);
CylinderGeometry
CylinderGeometry可以创建圆柱和类似圆柱体的物体。如下图 :
构造函数如下 :
new THREE.CylinderGeometry(radiusTop, radiusBottom, height, segmentsX, segmentsY, openEnded)
下图是各个参数的演示
例子 :
var geom = new THREE.CylinderGeometry(2,2,6,20,20,false);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);
TorusGeometry
TorusGeometry看上去像是甜甜圈。
构造函数如下 :
new THREE.TorusGeometry(radius, tube, radialSegments, tubularSegments, arc);
下图是各个参数的演示
例子 :
var geom = new THREE.TorusGeometry(20,5,20,20,2*Math.PI);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);
TorusKnotGeometry
TorusKnotGeometry可以创建一个环面纽结。
构造函数如下 :
new THREE.TorusKnotGeometry(radius, tube, radialSegments, tubularSegments, p, q, heightScale);
下图是各个参数的演示
例子 :
var geom = new THREE.TorusKnotGeometry(20,5,20,20,2,3,1);
var mesh = new THREE.MeshBasicMaterial({
color : 'green',
wireframe : true
});
var cube = new THREE.Mesh(geom,mesh);
scene.add(cube);