纳金网

标题: 究极 Unity 地形制作 - 极速创建华丽的游戏地形 [打印本页]

作者: 艾西格亚    时间: 2012-8-23 15:47
标题: 究极 Unity 地形制作 - 极速创建华丽的游戏地形
在Unity工作流程内,地形是一个不可缺少的重要元素,不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们需要了解到地形的制作基本概念与,其中对于Unity的地形操作部分需要大量的操作练习.熟悉这些功能操作之后,相信对于游戏地形的制作与运用将会更得心应手。
创建一个新的專案目录,勾選Terrain Assets資源包(Tree Creator與Water可一併加入),按下 Create 開始创建项目。





开始创建地形,按下Terrain > Create Terrain,窗口内自动产生一个平面,这是地形默认使用的基本原型。





选择 Terrain > Set Resolution 功能可以检视默认的地形所设定的基本参数,在这个选单内提供多样化的设定方式:


Terrain Width : 地形的宽度

Terrain Height : 地形的高度

Terrain Length : 地形的长度

HeightMap Resolution:地形高度图片所使用的分辨率.
Detail Resolution : 这个数值高低用来控制草地和添加细节模型的分辨率。数值越高效果越好,不过会大量消耗内存,可能会造成严重的延迟,大多数我们将这个数值控制在128到256之间会取得一个测试地形的开始。

Detail Resolution Per Patch : 每一个面片的细节设定值

Control Texture Resolution : 控制贴图纹理的分辨率。

Base Texture Resolution : 控制地型基本贴图纹理分辨率。
在第一次的练习中,我们先采用内定的标准数值来进行地形绘制,直接按下Set Resolution 完成确认。



在Inspector 面板中的 Terrain ( Script ) 是关于整个地形的所有功能设定,最上面的七个按钮为主功能区,由左至右的按钮功能分别是:

1.Raise and Lower Terrain – 绘制地形表面凹凸程度,如在绘制过程按下 Shift 则将地形向下凹陷。

2. Paint height – 绘制地形高度

3. Smooth the terrain height – 对地形表面进行平滑处理

4 Paint the terrain texture – 绘制地形表面贴图

5.Place trees – 种植树木功能

6.Place plant,stone and other small foliage – 种植花草与地形表面对象

7.Terrain – 地形相关参数设定





确认 Set Resolution 的设定值为默认的设定值后,选择 Import Heightmap – Raw功能。Raw文件里面记录着灰阶的位阶图,藉由灰阶的落差来产生地形的高低。


选择下載的附件terrain.raw,不改动任何设定,直接按下 Import将地形高度贴图导入。



经过贴图的导入后,原本的平面转换成高低起伏的地形,接下来我们就可以开始绘制地形上的纹理效果。





按下 Paint the terrain texture > Edit Texture > Add Texture,将Sand (Beach2) 拖曳到 Splat 栏位内。


将贴图拖曳进来后按下 Add 完成导入动作,在地形上就直接覆盖了一层类似沙地的表面。





现在我们需要导入第二张贴图来增加地形斜坡上的绿色纹理,按下 Add Texture 后将Grass ( Hill )拖曳到 Splat,Tile Size X与Y设定为10,按下Add完成导入,在 Textures 小窗口内就增加了第二种纹理。


按下绿色的纹理小图,表示选择该贴图进行绘制,在Settings 字段中将 ***sh Size 设定为60,Opacity设定为50,Target Strength设定为0.9的笔刷设定,然后开始进行斜坡上的纹理绘制。










使用相同方式在地形的斜坡区块上绘制出相同的绿色纹理,在完成大面积的斜坡纹理绘制后,选择原来的沙地贴图, 将***sh Size 设定为5,Opacity设定为50,Target Strength设定为1,在斜坡上绘制出道路的造型。





在绘制斜坡道路时可先使用较小的笔刷先绘制出基本线条,然后再推进摄影机角度进行更多细节上的调整。





将加第三个贴图纹理Cliff(Layered Rock)加载,Tile Size X与Y设定为50,***sh Size 设定为15,Opacity设定为40,Target Strength设定为0.4,然后在斜坡与地面上的交界处进行绘制,使其能产生融合的纹理效果.


在绘制交界处纹理时,先将 Target Strength 设定为 0.4可取得一个半透明的融合,然后再降低数值约为0.25,在靠近地面的融合处再用笔刷淡化边缘,使交界处能产生较为真实的地形表面纹理.

  
接下来需要在地形上面放置植物与花草,连结到官方网站http://unity3d.com/support/resources/assets/terrain-assets下载地形辅助资源包后,使用 Assets > Import Package > Custom Package 将资源包导入.





导入资源包时可以预览与勾选所需要的对象内容,确认所有资源都被勾选后按下Import,系统在逐一导入资源时会需要些时间,完成后在Project面板内就会出现Terrain Assets的资源目录.




按下Place Trees > Edit Trees..> Add Tree,然后将Palm(Group)模型加载,我们准备用这个椰树来做为种植的对象.





在树木的设定栏中调整分别设定笔刷的大小与密度,设定的数值作用如下:

***sh Size – 笔刷范围

Tree Density – 树木的密度

Color Variation – 颜色的变化控制

Tree Height – 树木高度

Variation – 高度的变化值(使其产生高度不一的树木)

Tree Width – 树木的宽度

Variation – 宽高度的变化值(使其产生宽度不一的树木)




设定好树木笔刷的数值之后,就可以开始在地形上刷出椰树,我们将椰树种植在比较低的区域,越往上则数量越少,一个原则是先刷密集区域,然后再降低 Tree Density数值刷其它部分.


在进行树木种植过程中,可能会有些不需要种植的区域被刷到,消除的方式只要配合Shift键就可刷掉多余的树木.





完成第一种树木的种植后,现在增加第二种树木模型,按下Edit Trees>Add Tree,将Terrain Assets资源包内的ThinTree加载,然后将笔刷的设定修改如下:





开始刷出第二种树木的分布,运用相同的操作方式配合Shift键进行区域种植,必须注意的是 Tree Density的数值控制.





按下 Place plants,stones..> Edit Details..> Add Grass Texture ,将Terrain Assets > Terrain Grass > Grass 拖曳到Detail Texture.


调整Grass的设定值如下,将Health Color与Dry Color颜色设定为白,Billboard为勾选的状态,按下Add完成导入.





调整Grass的笔刷与强度,这里必须注意到的是Target Strength这个数值的调整,数值越大则植物的密度越高,可先从0.15-0.25之间的数值先开始操作.









现在我们将摄影机拉远到一个距离,这时会发现刷出来的植物突然消失不见,原因是地形中的细节显示被限定在一个范围内,按下 Settings for the terrain 可找到关于地形的相关设定,我们可以将Draw > Detail Distance的显示距离加大到250(最大值),这样就可在场景中看到更多较多的细节.





Detail Density用来设定细节的密度显示比例,将数值设定为0则完全不显示.Tree Distance 表示在摄影机中看到树木的距离,数值越小则从摄影机看过去的数量越少,这个功能类似3D软件中Clip Plane的作用.





按下Edit Detail > Add Grass Texture 加载 Terrain Assets > Grass > Fern后继续在地形上增加一些花草作为点缀.除了使用Grass贴图作为种植方式,还可以增加细节模型来强化场景的三维效果,按下Edit > Add Detail Mesh,将Terrain Assets > Tree Ambient-Occlusion > BananaPlant拖曳到 Detail字段,设定值调整如下,Health 、 Dry Color分别设定为浅绿与深灰色,Render Mode选择Vertex Lit(顶点着色),按下Add完成导入.





将***sh Size调整为4,Opacity为0.06,Target Strength为0.0625,然后在地形上刷出少量的植物.




最后再增加一种点缀用的植物,将Terrain Assets > Grass > WhiteFlowers拖曳到Detail Texture后分别设定以下的数值, 将Health、Dry Color分别设定为白色与浅灰色,按下Add完成导入.





导入后在地形上刷出第四种花草植物,在过程中我们可根据地形高低与范围来切换不同的植物,再配合Shift键删减掉多余的部分,最终就能得到一个理想的地形效果。





最后在场景中增加天空背景与雾化效果即可完成整个地形的制作。




terrain.raw

0 Bytes, 下载次数: 1062


作者: 灰之狼Chris    时间: 2012-8-24 10:23

作者: 冰点    时间: 2012-8-24 19:16
好东西啊
作者: 那日阳光微凉    时间: 2012-8-25 14:25
原来是这样画出来的,不错,有时间我也试试,

有中文的吗?
作者: 艾西格亚    时间: 2012-8-26 03:58
Unity 目前只有英文版,不晓得以后是否会出中文正式版。
作者: may    时间: 2012-8-29 02:58
太强了,多数都是英文的
作者: 王者再临    时间: 2012-10-15 01:47
过来学习学习
作者: 灰之狼Chris    时间: 2013-4-18 10:55
支持下..
作者: 倒挂灌篮    时间: 2013-6-27 13:56
图文搭配,非常详细,非常适合新手
作者: riceton911    时间: 2013-7-10 15:04
講解的很仔細阿!
作者: 6179471    时间: 2013-7-11 19:57
太强了,多数都是英文的
作者: 6179471    时间: 2013-7-11 19:57
图文搭配,非常详细,非常适合新手
作者: shengbin88    时间: 2013-8-15 14:56
支持一个再说
作者: shengbin88    时间: 2013-8-15 14:57
真的受用了
作者: zf00123    时间: 2013-8-23 20:05
很详细的讲解
作者: yangbo8088    时间: 2013-8-23 21:39
楼主有心了~
作者: dzspb    时间: 2013-8-27 11:20
很好的教程,谢谢!
作者: 52530740    时间: 2013-9-3 14:49
这个非常不错!!
作者: 52530740    时间: 2013-9-3 14:51
feichang hao ~~
作者: 王者再临    时间: 2013-9-3 14:53
这个对新手来说看看就大约知道地形的制作方法,主要还是要不断的操作练习
作者: 52530740    时间: 2013-9-3 17:17
有中文补丁~~
作者: 小海豚    时间: 2013-10-30 08:16
不错。。。支持一下
作者: tangqizuse    时间: 2013-11-1 00:36
谢谢楼主分享
作者: shotdead    时间: 2013-11-3 03:05
谢谢, 非常好
作者: crystal7090    时间: 2013-11-20 00:05
Thanks for sharing thank you so much thank you very much!
作者: qq317744017    时间: 2014-2-26 09:50

講解的很仔細阿!
作者: iyintao    时间: 2014-4-7 16:29
支持,加油
作者: leifd1120    时间: 2014-4-12 16:36
过来学习学习
作者: 幸福小猪    时间: 2014-4-18 18:02
感谢楼主分享~
作者: 342391201    时间: 2016-9-12 09:32
好资源,谢谢楼主分享
作者: cry988114    时间: 2016-9-18 16:47
图片已经丢了
作者: hou_88    时间: 2017-10-18 13:44
图片怎么看不了




欢迎光临 纳金网 (http://wwww.narkii.com/club/) Powered by Discuz! X2.5