学IT技能上我学院网woxueyuan.com学Unity上我学院:工作流程内,地形是一个不可缺少的重要元素,不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们需要了解到地形的制作基本概念与,其中对于Unity的地形操作部分需要大量的操作练习.熟悉这些功能操作之后,相信对于游戏地形的制作与运用将会更得心应手。创建一个新的專案目录,勾選TerrainAssets資源包(TreeCreator與Water可一併加入),按下Create開始创建项目。开始创建地形,按下TerrainCreateTerrain,窗口内自动产生一个平面,这是地形默认使用的基本原型。学IT技能上我学院网woxueyuan.com学Unity上我学院:功能可以检视默认的地形所设定的基本参数,在这个选单内提供多样化的设定方式:TerrainWidth:地形的宽度TerrainHeight:地形的高度学IT技能上我学院网woxueyuan.com学Unity上我学院:地形的长度HeightMapResolution:地形高度图片所使用的分辨率.DetailResolution:这个数值高低用来控制草地和添加细节模型的分辨率。数值越高效果越好,不过会大量消耗内存,可能会造成严重的延迟,大多数我们将这个数值控制在128到256之间会取得一个测试地形的开始。DetailResolutionPerPatch:每一个面片的细节设定值ControlTextureResolution:控制贴图纹理的分辨率。BaseTextureResolution:控制地型基本贴图纹理分辨率。在第一次的练习中,我们先采用内定的标准数值来进行地形绘制,直接按下SetResolution完成确认。在Inspector面板中的Terrain(Script)是关于整个地形的所有功能设定,最上面的七个按钮为主功能区,由左至右的按钮功能分别是:1.RaiseandLowerTerrain–绘制地形表面凹凸程度,如在绘制过程按下Shift则将地形向下凹陷。2.Paintheight–绘制地形高度3.Smooththeterrainheight–对地形表面进行平滑处理4Painttheterraintexture–绘制地形表面贴图5.Placetrees–种植树木功能6.Placeplant,stoneandothersmallfoliage–种植花草与地形表面对象7.Terrain–地形相关参数设定学IT技能上我学院网woxueyuan.com学Unity上我学院:的设定值为默认的设定值后,选择ImportHeightmap–Raw功能。Raw文件里面记录着灰阶的位阶图,藉由灰阶的落差来产生地形的高低。选择下載的附件terrain.raw,不改动任何设定,直接按下Import将地形高度贴图导入。经过贴图的导入后,原本的平面转换成高低起伏的地形,接下来我们就可以开始绘制地形上的纹理效果。学IT技能上我学院网woxueyuan.com学Unity上我学院:,将Sand(Beach2)拖曳到Splat栏位内。学IT技能上我学院网woxueyuan.com学Unity上我学院:完成导入动作,在地形上就直接覆盖了一层类似沙地的表面。学IT技能上我学院网woxueyuan.com学Unity上我学院:现在我们需要导入第二张贴图来增加地形斜坡上的绿色纹理,按下AddTexture后将Grass(Hill)拖曳到Splat,TileSizeX与Y设定为10,按下Add完成导入,在Textures小窗口内就增加了第二种纹理。按下绿色的纹理小图,表示选择该贴图进行绘制,在Settings字段中将***shSize设定为60,Opacity设定为50,TargetStrength设定为0.9的笔刷设定,然后开始进行斜坡上的纹理绘制。学IT技能上我学院网woxueyuan.com学Unity上我学院:上我学院:使用相同方式在地形的斜坡区块上绘制出相同的绿色纹理,在完成大面积的斜坡纹理绘制后,选择原来的沙地贴图,将***shSize设定为5,Opacity设定为50,TargetStrength设定为1,在斜坡上绘制出道路的造型。学IT技能上我学院网woxueyuan.com学Unity上我学院:在绘制斜坡道路时可先使用较小的笔刷先绘制出基本线条,然后再推进摄影机角度进行更多细节上的调整。学IT技能上我学院网woxueyuan.com学Unity上我学院:(LayeredRock)加载,TileSizeX与Y设定为50,***shSize设定为15,Opacity设定为40,TargetStrength设定为0.4,然后在斜坡与地面上的交界处进行绘制,使其能产生融合的纹理效果.在绘制交界处纹理时,先将TargetStrength设定为0.4可取得一个半透明的融合,然后再降低数值约为0.25,在靠近地面的融合处再用笔刷淡化边缘,使交界处能产生较为真实的地形表面纹理.学IT技能上我学院网woxueyuan.com学Unity上我学院:接下来需要在地形上面放置植物与花草,连结到官方网站下载地形辅助资源包后,使用AssetsImportPackageCustomPackage将资源包导入.导入资源包时可以预览与勾选所需要的对象内容,确认所有资源都被勾选后按下Import,系统在逐一导入资源时会需要些时间,完成后在Project面板内就会出现TerrainAssets的资源目录.18学IT技能上我学院网woxueyuan.com学Unity上我学院:然后将Palm(Group)模型加载,我们准备用这个椰树来做为种植的对象.在树木的设定栏中调整分别设定笔刷的大小与密度,设定的数值作用如下:学IT技能上我学院网woxueyuan.com学Unity上我学院:***shSize–笔刷范围TreeDensity–树木的密度ColorVariation–颜色的变化控制TreeHeight–树木高度Variation–高度的变化值(使其产生高度不一的树木)TreeWidth–树木的宽度Variation–宽高度的变化值(使其产生宽度不一的树木)设定好树木笔刷的数值之后,就可以开始在地形上刷出椰树,我们将椰树种植在比较低的区域,越往上则数量越少,一个原则是先刷密集区域,然后再降低TreeDensity数值刷其它部分.学IT技能上我学院网woxueyuan.com学Unity上我学院:在进行树木种植过程中,可能会有些不需要种植的区域被刷到,消除的方式只要配合Shift键就可刷掉多余的树木.学IT技能上我学院网woxueyuan.com学Unity上我学院:完成第一种树木的种植后,现在增加第二种树木模型,按下EditTrees>AddTree,将TerrainAssets资源包内的ThinTree加载,然后将笔刷的设定修改如下:开始刷出第二种树木的分布,运用相同的操作方式配合Shift键进行区域种植,必须注意的是TreeDensity的数值控制.学IT技能上我学院网woxueyuan.com学Unity上我学院:将TerrainAssetsTerrainGrassGrass拖曳到DetailTexture.调整Grass的设定值如下,将HealthColor与DryColor颜色设定为白,Billboard为勾选的状态,按下Add完成导入.学IT技能上我学院网woxueyuan.com学Unity上我学院:的笔刷与强度,这里必须注意到的是TargetStrength这个数值的调整,数值越大则植物的密度越高,可先从0.15-0.25之间的数值先开始操作.现在我们将摄影机拉远到一个距离,这时会发现刷出来的植物突然消失不见,原因是地形中的细节显示被限定在一个范围内,按下Settingsfortheterrain可找到关于地形的相关设定,我们可以将DrawDetailDistance的显示距离加大到250(最大值),这样就可在场景中看到更多较多的细节.学IT技能上我学院网woxueyuan.com学Unity上我学院:用来设定细节的密度显示比例,将数值设定为0则完全不显示.TreeDistance表示在摄影机中看到树木的距离,数值越小则从摄影机看过去的数量越少,这个功能类似3D软件中ClipPlane的作用.学IT技能上我学院网woxueyuan.com学Unity上我学院:贴图作为种植方式,还可以增加细节模型来强化场景的三维效果,按下EditAddDetailMesh,将TerrainAssetsTreeAmbient-OcclusionBananaPlant拖曳到Detail字段,设定值调整如下,Health、DryColor分别设定为浅绿与深灰色,RenderMode选择VertexLit(顶点着色),按下Add完成导入.将***shSize调整为4,Opacity为0.06,TargetStrength为0.0625,然后在地形上刷出少量的植物.学IT技能上我学院网woxueyuan.com学Unity上我学院:最后再增加一种点缀用的植物,将TerrainAssetsGrassWhiteFlowers拖曳到DetailTexture后分别设定以下的数值,将Health、DryColor分别设定为白色与浅灰色,按下Add完成导入.导入后在地形上刷出第四种花草植物,在过程中我们可根据地形高低与范围来切换不同的植物,再配合Shift键删减掉多余的部分,最终就能得到一个理想的地形效果。学IT技能上我学院网woxueyuan.com学Unity上我学院:最后在场景中增加天空背景与雾化效果即可完成整个地形的制作。更多Unity教程,请关注我学院: