BufferGeometry是一个没有任何形状的空几何体,可以通过BufferGeometry自定义任何几何形状,具体一点说就是定义顶点数据。
import * as THREE from 'three';//创建一个缓冲几何体
const geometry = new THREE.BufferGeometry();//类型化数组创建顶点数据
const vertices = new Float32Array([0, 0, 0, //顶点1坐标50, 0, 0, //顶点2坐标0, 50, 0, //顶点3坐标0, 0, 10, //顶点4坐标0, 0, 100, //顶点5坐标50, 0, 10, //顶点6坐标
]);// 创建属性缓冲区对象
//3个为一组,表示一个顶点的xyz坐标
const attribue = new THREE.BufferAttribute(vertices, 3);// 设置几何体attributes属性的位置属性
geometry.attributes.position = attribue;// scene.add(points)
export default points
-
点材质和点模型对象
// 点材质 const material = new THREE.PointsMaterial({color: 0xffff00,size: 5.0 //点对象像素尺寸 }); const points = new THREE.Points(geometry, material); //点模型对象
-
线材质和线模型对象
const lineMaterial = new THREE.LineBasicMaterial({color: 0xffff00, })const Lines= new THREE.LineSegments(geometry, lineMaterial)
-
缩放、平移、旋转几何体