1234 第1页 | 共4 页下一页
返回列表 发新帖
查看: 51384|回复: 31
打印 上一主题 下一主题

[教程] 究极 Unity 地形制作 - 极速创建华丽的游戏地形

[复制链接]

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2012-8-23 15:47:08 |只看该作者 |倒序浏览
在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

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏3 支持支持0 反对反对0
回复

使用道具 举报

8

主题

4

听众

877

积分

初级设计师

Rank: 3Rank: 3

纳金币
416
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-8-24 10:23:52 |只看该作者
回复

使用道具 举报

498

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
13519
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-8-24 19:16:07 |只看该作者
好东西啊
回复

使用道具 举报

5

主题

1

听众

194

积分

设计实习生

Rank: 2

纳金币
196
精华
0

最佳新人

地板
发表于 2012-8-25 14:25:31 |只看该作者
原来是这样画出来的,不错,有时间我也试试,

有中文的吗?
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

5#
发表于 2012-8-26 03:58:59 |只看该作者
Unity 目前只有英文版,不晓得以后是否会出中文正式版。
回复

使用道具 举报

may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

6#
发表于 2012-8-29 02:58:48 |只看该作者
太强了,多数都是英文的
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-10-15 01:47:19 |只看该作者
过来学习学习
回复

使用道具 举报

8

主题

4

听众

877

积分

初级设计师

Rank: 3Rank: 3

纳金币
416
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2013-4-18 10:55:33 |只看该作者
支持下..
回复

使用道具 举报

0

主题

1

听众

60

积分

设计初学者

Rank: 1

纳金币
13
精华
0

活跃会员 灌水之王

9#
发表于 2013-6-27 13:56:50 |只看该作者
图文搭配,非常详细,非常适合新手
回复

使用道具 举报

0

主题

1

听众

193

积分

设计实习生

Rank: 2

纳金币
0
精华
0

最佳新人

10#
发表于 2013-7-10 15:04:00 |只看该作者
講解的很仔細阿!
回复

使用道具 举报

1234 第1页 | 共4 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-11 13:05 , Processed in 0.142696 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部