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)
-
缩放、平移、旋转几何体
-