Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 1.67 KB

5.md

File metadata and controls

49 lines (37 loc) · 1.67 KB

网格

学习了几何形状与材质之后,我们就能使用他们来创建物体了.最常用的一种物体就是网格(Mesh),网格是由顶点,边,面等组成的物体;其他物体包括线段(Line),骨骼(Bone),粒子系统(ParticleSystem)等.创建物体需要指定几何形状和材质,其中,几何形状决定了物体的顶点位置等信息,材质决定了物体的颜色,纹理等信息

创建网格

我们学习了如何创建几何形状材质,而网格的创建非常简单,只要把几何形状与材质传入构造函数.最常用的物体是网格(Mesh),他代表点线面的几何体,其构造函数是

Mesh(geometry, material)

以前创建立方体的代码

var material = new THREE.MeshLambertMaterial({
    color: 0xffff00
})
var geometry = new THREE.CubeGeometry(1, 2, 3)
var mesh = new THREE.Mesh(geometry, material)
scene.add(mesh)

如果不指定material则会随机分配一种wireframe: true的材质

修改属性

除了在构造函数中指定材质,在网格被创建后,也能对材质进行修改

var material = new THREE.MeshLambertMaterial({
    color: 0xffff00
})
var geometry = new THREE.CubeGeometry(1, 2, 3)
var mesh = new THREE.Mesh(geometry, material)
scene.add(mesh)

mesh.material = new THREE.MeshLambertMaterial({
    color: 0xff0000
})

位置,缩放,旋转

位置,缩放,旋转是物体三个常用属性,由于THREE.Mesh继承于THREE.Object3D,因此包含了scale,rotation,position三个属性.它们是THREE.Vector3的实例,因此修改其值的方法是相同的

mesh.position.z = 1
mesh.position.set(1.5, -0.5, 0)
mesh.position = new THREE.Vector3(1.5, -0.5, 0)