在开始进入正题之前,需要先搭建一个可以供角色站立、移动、跳跃并且还有边界的测试场景。笔者希望搭建的场景要遵循一些规范:

  1. 统一所有模型资源的单位长度,极特殊情况,所有模型的缩放都设置为1
  2. 将场景中的地形预制体化,比如墙、地面、台阶等

下面说一个可以提高我们搭建场景效率的技巧:在Unity的Scene窗口中,点击下图位置的图标可以设置物体移动的固定步长。按住Control/Command键拖拽Scene中选中物体的Object坐标系的坐标轴,就可以以固定的步长移动物体了。按住V键拖拽坐标轴就可以让选中物体的选中顶点吸附到另一个场景中的物体上。

创建地形

Unity中自带的模型

Unity中自带的用来表示平面的是Plane模型,用来表示墙面的是Quad模型,在场景中分别创建PlaneQuad模型,查看它们的详细信息,你会发现Plane模型的尺寸是10x10的(此处不考虑模型的厚度),也就是长宽各为10个单位长度;而Quad模型的尺寸是1x1,长宽各1个单位长度。也就是说需要使用100个Quad模型才能拼出一个和Plane面积一样大的模型。

创建材质

为了让地形的尺寸展示更直观,我们使用Unity内置的一张名为Default-Checker-Gray贴图来装饰我们的地形,我们会为Plane和Quad各自生成一个材质,这两个材质的区别只有上面的Tilling参数,一个设置成10,而另一个设置为1。这样的设置主要和这两种模型的尺寸有关系。然后将材质分别赋给这两个模型。

至此,这样我们就有了搭建场景的预制地形了。

参考资料