// 几何体,用点创建几何形体 function initGeometry(){ var geometry = new THREE.BufferGeometry(); //创建一个Buffer类型几何体对象 //类型数组创建顶点数据 var vertices = new Float32Array([ 0, 0, 0, //顶点1坐标 10, 0, 0, //顶点2坐标 0, 20, 0, //顶点3坐标 0, 0, 5, //顶点4坐标 0, 0, 20, //顶点5坐标 10, 0, 5, //顶点6坐标 ]); // 创建属性缓冲区对象 var attribue = new THREE.BufferAttribute(vertices, 3); //3个为一组,表示一个顶点的xyz坐标 // 设置几何体attributes属性的位置属性 geometry.attributes.position = attribue; /* *三角面(网格)渲染模式 *网格材质类型 * MeshBasicMaterial :基础网格材质,不受光照影响的材质 * MeshLambertMaterial :Lambert网格材质,与光照有反应,漫反射 * MeshPhongMaterial :高光Phong材质,与光照有反应 * MeshStandardMaterial :PBR物理材质,相比较高光Phong材质可以更好的模拟金属、玻璃等效果 * ({})参数 * color: "green",//颜色 * wireframe: false, //这里指不使用实心材料,所以为true * // opacity:0.7,//透明度 * // transparent:true,//是否开启透明 * specular:0x4488ee,//高光颜色 * shininess:12//高光范围值 */ var material = new THREE.MeshBasicMaterial({ color: 0x0000ff, //三角面颜色 side: THREE.DoubleSide //两面可见 }); //材质对象 var mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh // 点渲染模式 var material = new THREE.PointsMaterial({ color: 0xff0000, size: 10.0 //点对象像素尺寸 }); //材质对象 var points = new THREE.Points(geometry, material); //点模型对象 // 线条渲染模式 var material=new THREE.LineBasicMaterial({ color:0xff0000 //线条颜色 });//材质对象 var line=new THREE.Line(geometry,material);//线条模型对象 // line 线添加到场景中进行渲染 points 点添加到场景中进行渲染 mesh面添加到场景中进行渲染 scene.add(line); //对象添加到场景中 }