tree.js几何体

            // 几何体,用点创建几何形体 
            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); //对象添加到场景中
            }

 

上一篇:关于从入门 three.js 到做出 3d 地球这件事


下一篇:【DB笔试面试119】在Oracle中,Identify three key features of ASM()