makeTranslation()
方法用于返回一个新的矩阵,该矩阵作为一个平移变换的形式,或给已存在的矩阵实例化添加平移变换效果。
语法如下:
matrix.makeTranslation(x, y, z);
返回一个 Matrix4
类型的实例对象,该实例表示平移变换矩阵。
以下示例展示了如何使用 makeTranslation()
方法将一个三角形沿着 x 轴平移 5 个坐标单位,在 Mesh
中使用该矩阵,使其产生平移效果:
// 创建三角形
const triangle = new THREE.Geometry();
triangle.vertices.push( new THREE.Vector3( 0, 10, 0 ) );
triangle.vertices.push( new THREE.Vector3( -10, -10, 0 ) );
triangle.vertices.push( new THREE.Vector3( 10, -10, 0 ) );
// 创建网格模型
const mesh = new THREE.Mesh(triangle, new THREE.MeshBasicMaterial());
// 对网格应用平移变换
const matrix = new THREE.Matrix4();
matrix.makeTranslation(5, 0, 0);
mesh.applyMatrix(matrix);
// 将网格添加到场景中并进行渲染
scene.add(mesh);
renderer.render(scene, camera);
makeTranslation()
方法会覆盖现有的矩阵数据。如果你需要将平移变换应用到已存在的矩阵上,可以使用 matrix.multiply()
方法。