Unity3D开发:在Unity3D中创建一个山势地形图

发表于2016-09-24
评论0 2.5k浏览
第一步:创建一个新项目。
  打开Unity3D软件,它会自动载入上一次我们打开过的“Bootcamp Demo”项目文件。不用管它,在软件打开之后点击File——>Open Project...,在弹出的Unity-Project Wizard对话框中找到Project Location输入创建项目的文件夹地址,或者点击后面的Browse...选择一个文件夹地址(注:已创建Unity3D项目的文件夹,不能再当作新创建项目的文件夹来使用,否则会因无法找到文件而报错),然后在Improt the following packages中选择要导入的项目文件包,每个文件包都带有一些插件功能,由于我们第一次创建项目文件,所以我们将所有的复选框都打上勾。但这样会致使Unity3D在 开始加载的时候速度偏慢,等以后我们大家对各个插件包的作用都熟悉了,在创建Unity3D项目文件的时候,我们只需要勾选需要使用到的插件包就可以了。 选项面板如图3.1所示:


  全部设置完成后,我们点击Create创建项目。

第二步:创建地形。
  在创建一个新项目后,我们会看见新项目的各个面板中,只有Project【项目文件栏】包含了standard assets和standard assets(mobile)两个文件夹,这两个文件夹里面装的就是在创建项目时导入项目文件包里的所有文件。除此之外,其他版面都是空空如也。不要着急,万丈高楼平地起,我们马上就利用文件包和系统功能来丰富各个版面的内容。首先我们点击菜单栏上的terrain——>create terrain,创建一个带有地形属性的平面,如图3.2所示:


第三步:添加摄像机。
  创建好地形后,我们会发现Game【动画面板】中依然没有任何画面。其实道理很简单,就像演唱会的实况直播一样。场景都搭建好了,演员也在舞台上表演,却没有架上摄像机,电视机前的观众怎么能够看到现场的画面呢?
接下来我们就创建一个摄像机。点击camera——>gameobject——>create other,这样场景中就会创建一个摄像机,这是您就可以在Game【动画面板】中观看到摄像机所观察到的星象了。如图3.3所示:


第四步:调整地形大小。
  系统创建的地形默认大小是2000*2000的面积,实际编辑的时候会显得很大,不方便操作,所以我们对创建的地形面积进行调整,以便我们后续的编辑。
点击菜单栏上的 teerain ——> set resolution ,弹出 set heightmap resolution 面板来调节地面的大小。将 terrain width 后面的数字改成500.然后将terrain length 后面的数字也改成500,设置好之后点击  按钮将原来的地形改成500*500大小的面积。

第五步:给场景编辑材质。
  在场景面板中选中刚才创建的地面对象 terrain ,如果您觉得场景中不是很方便选择所需要的对象,那么您还可以在Hierarchy【层次清单栏】选中您所需的对象,该栏中包含了所有场景面板中的物体对象。选中地面对象terrain之后,我们会在Inspector【属性面板】中马上发现与之对应的属性,包含有:Position【坐标】、Rotation【旋转量】、Scale【缩放尺寸】,以及地面对象固有的terrain(script)和terrain collider。如图3.4所示:


  其中这个像画笔一样的按钮,是用来改变地面材质的。我们点击它之后,可以在下面找到edit textures按钮,点击——>add texture来到add terrain texture界面,如图3.5所示:


  然后我们单击none(texture 2d)后面的圆圈,就可以为地面添加您所喜欢的材质了。选好之后点击add按钮来填入新材质。添加材质之后的地面如图3.6所示:


  如果您觉得这个地形的材质过于简单,那么您可以继续点击edit textures——>add texture,来添加第二个材质,然后在brushes中选择您想要的笔刷形状,如图3.7所示:


  接着就可以在场景面板中刷出新材质的区域范围了。如图3.8所示:



第六步:制作山峰。
  完成了地面材质的制作,接下来就可以制作山峰了。
  点击这三个按钮其中的一个,选择合适的笔刷,在地形图中可以刷出高山的形状,如图3.9所示:


  如果觉得现在刷出来的山峰太高了,活着觉得某处的山有些多余,可以按住Shift键不放,用刚才选择的笔刷进行反向平刷即可。

第七步:种植草和树木。
  接下来就可以给地形种植一些草和树木了。具体的种草按钮是,种树的按钮是。草和树木的设置方法与地形材质的设置方法十分雷同,都是先点击edit trees按钮来添加您所需要的花草和树木,然后在场景面板中刷出您所需要的区域即可。如图3.10所示:


  这里大家需要注意一点,Unity3D在编辑模式下为了节约资源,采取了资源剔除的方法。如果您在利用笔刷“种草”的过程中,没有看到您所“种”上去的草,这是您只需将画面拉近即可观察到草的效果了。如图3.11所示:



第八步:设置地形上的风速、阴影效果。
  种上了草和树木,如果在游戏中运行时静止不动,会让人感觉很不自然,所以我们在地形中添加上风和阴影的效果,让草随风摆动,这样会变得更加逼真。
点击  按钮,来设置地形上的风速、阴影等效果。如图3.12所示:


第九步:添加光照效果。
  地形相关的所有效果已经设置完毕了,但是我们发现在Game【动画面板】中的画面很暗,这是由于没有加入灯光的缘故。
点击game object——>create other——>directional light,来创建一个太阳光效果。如图3.13所示:


  太阳光和太阳自身的位置关系并不大,只与自身的角度有关,这一点和我们日常生活中的太阳光是一致的。所以为了让场景变得更亮,我们就需要用到场景调整工具中的旋转按钮来对太阳光进行旋转。当然您也可以在属性面板中对它进行调节。根据我们生活的常识,当太阳光直射地面的时候,光线最强。调整之后的效果如图3.14所示:


  怎么样,这时的Game【动画面板】中的画面是不是亮了许多?

第十步:摄像机观察设置。
为了让摄像机全方位的观察我们刚才所创建的场景,您可以在Project【项目文件栏】中找到charactermotor、fpsinputcontroller、mouselook这三个脚本文件,并将它们依次拖放到场景中的摄像机上面。如图3.15所示:


  如果您觉得在Project【项目文件栏】中的文件过多,不便于寻找,您还可以在Project【项目文件栏】上方的搜索框输入他们的名字来进行搜索。这 样很快就能找到对应的文件了。放置完成后,点击测试按钮,您就可以身临其境的在您刚才创建的Game【动画面板】中进行漫游了。用鼠标控制视角,用键盘的 方向键控制行走。在漫游的过程中,您可以清晰的看到刚才创建的草随微风轻轻摆动。效果如图3.16所示:


第十一步:添加天空效果。
  这时我们从Game【动画面板】中看到的天空是没有任何效果的,接下来我们给场景添加一个天空盒,使场景具有蓝天的效果。
选中场景中的摄像机对象,然后点选菜单栏中的 component ——> rendering ——>skybox ,为摄像机添加一个天空盒。添加成功之后,我们就能够在摄像机的属性面板中找到刚才添加的天空盒了。
  接着我们去Project【项目文件栏】找到“Standard Assets”文件夹下的“Skyboxes”文件夹。这里面摆放了许多关于天空的材质球,您只需要选中一个您喜欢的天空材质球,并拖放给摄像机离的天空 盒【Skybox】的材质属性【Custom Skybox】,就可以让场景的天空布满这种材质效果。如图3.17和图3.18所示:



  选中场景中的光照对象,然后在他的属性面板中找到“Flare”,并点选它后面的圆圈。在它弹出的 select flare 对话框中选中双击 sun 这种光照效果,这样就可以使得您在动画模式中清楚的看见太阳所在的位置。再运行一下动画,看看效果。

第十二步:添加光照阴影效果。
  细心的朋友一定会发现,现在场景中的树木等物体是没有阴影的,这很不自然。所以为了让场景更加的逼真,我们还可以为场景添加光照阴影效果。
具体做法如下:选中光照对象,在它的属性面板中找到  shadow type,它默认的是 no shadow (没有阴影),您可以将它改成“Soft Shadows”【软渲染阴影】或者是“Hard Shadows”【硬件渲染阴影】。“Soft Shadows”【软渲染阴影】以消耗CPU的计算为代价来产生阴影效果,这种模式运行速度较慢,但对于机器配置比较落后的使用者是唯一的选择。 “Hard Shadows”【硬件渲染阴影】可利用新一代GPU的显卡加速功能来为游戏进行阴影效果的渲染处理,其运行速度比较快,渲染效果也比较理想。但无论您选 择哪一个选项,动画场景的物体都会相对于阳光长生阴影效果。如图3.19所示:


第十三步:保存项目。
  所有的场景效果已经调试完毕后,按下Ctrl+S来保存场景文件,取名叫做“text”以便日后调用。如果保存成功,您会在您项目的Project【项目文件栏】中看到一个这样的文件 。

  看了上面的文章 热爱游戏创作的你是不是已经开始热血沸腾了呢?是不是迫不及待的想加入游戏团队成为里面的一员呢?
  福利来啦~赶快加入腾讯GAD交流群,人满封群!每天分享游戏开发内部干货、教学视频、福利活动、和有相同梦想的人在一起,更有腾讯游戏专家手把手教你做游戏!
腾讯GAD游戏程序交流群:484290331 Gad游戏开发核心用户群

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论