var geometry = new THREE.Geometry();
老版本里面貌似是CubeGeometry,在r76版本的文檔中,使用的是BoxGeometry。api
BoxGeometry(width, height, dept, widthSegments, heightSegments, depthSegments)
var cubeGeometry = new THREE.BoxGeometry(6, 6, 6, 2, 3, 1); var cubeMaterial = new THREE.MeshBasicMaterial({ wireframe : true }); cubeMaterial.color = new THREE.Color('red'); var cube = new THREE.Mesh(cubeGeometry, cubeMaterial);
長寬高分別被截爲2段,3段,1段。數組
SphereGeometry(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength)
前面都是一些立體的圖形,多邊形(ShapeGeometry)用來建立一個平面多邊形。函數
ShapeGeometry(shapes, options)
var rectShape= new THREE.Shape(); rectShape.moveTo(1,4); rectShape.lineTo(1, 8); rectShape.lineTo(5, 8); rectShape.lineTo(5, 4); rectShape.lineTo(3, -4); rectShape.lineTo(1, 4); var rectGeom = new THREE.ShapeGeometry( rectShape ); var rectMesh = new THREE.Mesh( rectGeom, new THREE.MeshBasicMaterial( { color: 0xff0000 } ) ) ;
PolyhedronGeometry(vertices, faces, radius, detail)
var verticesOfCube = [ -1,-1,-1, 1,-1,-1, 1, 1,-1, -1, 1,-1, -1,-1, 1, 1,-1, 1, 1, 1, 1, -1, 1, 1, ]; var indicesOfFaces = [ 2,1,0, 0,3,2, 0,4,7, 7,3,0, 0,1,5, 5,4,0, 1,2,6, 6,5,1, 2,3,7, 7,6,2, 4,5,6, 6,7,4 ]; var polyhedron = new THREE.Mesh( new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 50, 1),material); scene.add(polyhedron);
參考文檔:https://blog.csdn.net/u011135...spa