学习了几何形状与材质之后,我们就能使用他们来创建物体了.最常用的一种物体就是网格(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)