第二章 Unity3D的简单预览
每个Unity3D版本都会自带一个Demo源文件。在3.0的正式版中,自带的Demo就是网上展示的那款强大的射击游戏。在一般情况下,您只要第一次
打开Unity3D v3.0就会看见自带的那个Demo项目文
件了。但如果Unity3D并没有打开这个项目文件,你也可以在Unity3D里面的“File”菜单下点击“Open
Project”选项,在“C:\Documents and Settings\All Users\Documents\Unity
Projects”这个路径下找到项目文件夹“Bootcamp
Demo”,选择并打开它。打开项目之后,在舞台场景面板中依然什么都没有显示的话,请在Project【项目文件栏】双击场景文件 。稍等片刻之后,该舞台场景的所有对象就可以导入到舞台场景之中。导入成功之后效果如图2.1所示:

点击一下中间的播放按钮 做一下测试(如果您的机器配置不是很高,可能等待的时间会稍长)。稍等片刻,您就可以在Game【动画面板】中看到一个正在运行的射击游戏了。
在这个游戏场景中,您会看到比其他主流游戏还要细腻逼真的画面效果,例如各个物体的实时阴影。如图2.2所示:

当然如果您的机器配置较高,您还可以点击“Esc”键来将游戏画质进一步调高。调节界面如图2.3所示:

下面我们来看下调整画面效果前后的游戏画面对比,如图2.4.1和图2.4.2所示:


我们很明显的就可以感觉到河水的效果以及场景阴影的效果都真实了许多。

第三章 在Unity3D中创建一个山势地形图
前面两章我们比较细致的对Unity3D的界面和表现效果等进行了说明与讲解。相信很多朋友在看过Unity3D如此强大的画面效果后都已经按耐不住想要自己动手操作了,接下来我们就尝试在Unity3D中创建一个山势地形图。
第一步:创建一个新项目。
打开Unity3D软件,它会自动载入上一次我们打开过的“Bootcamp Demo”项目文件。不用管它,在软件打开之后点击 ——> ,在弹出的 对话框中找到 输入创建项目的文件夹地址,或者点击后面的 选择一个文件夹地址(注:已创建Unity3D项目的文件夹,不能再当作新创建项目的文件夹来使用,否则会因无法找到文件而报错),然后在

中选择要导入的项目文件包,每个文件包都带有一些插件功能,由于我们第一次创建项目文件,所以我们将所有的复选框都打上勾。但这样会致使Unity3D在
开始加载的时候速度偏慢,等以后我们大家对各个插件包的作用都熟悉了,在创建Unity3D项目文件的时候,我们只需要勾选需要使用到的插件包就可以了。
选项面板如图3.1所示:

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

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


第四步:调整地形大小。
系统创建的地形默认大小是2000*2000的面积,实际编辑的时候会显得很大,不方便操作,所以我们对创建的地形面积进行调整,以便我们后续的编辑。
点击菜单栏上的 ——> ,弹出 面板来调节地面的大小。将 后面的数字改成500.然后将 后面的数字也改成500,设置好之后点击 按钮将原来的地形改成500*500大小的面积。
第五步:给场景编辑材质。
在场景面板中选中刚才创建的地面对象 ,如果您觉得场景中不是很方便选择所需要的对象,那么您还可以在Hierarchy【层次清单栏】选中您所需的对象,该栏中包含了所有场景面板中的物体对象。选中地面对象 之后,我们会在Inspector【属性面板】中马上发现与之对应的属性,包含有:Position【坐标】、Rotation【旋转量】、Scale【缩放尺寸】,以及地面对象固有的 。如图3.4所示:


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

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


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

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

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

如果觉得现在刷出来的山峰太高了,活着觉得某处的山有些多余,可以按住Shift键不放,用刚才选择的笔刷进行反向平刷即可。
第七步:种植草和树木。
接下来就可以给地形种植一些草和树木了。具体的种草按钮是 ,种树的按钮是 。草和树木的设置方法与地形材质的设置方法十分雷同,都是先点击 按钮来添加您所需要的花草和树木,然后在场景面板中刷出您所需要的区域即可。如图3.10所示:


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

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

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

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

怎么样,这时的Game【动画面板】中的画面是不是亮了许多?
第十步:摄像机观察设置。
为了让摄像机全方位的观察我们刚才所创建的场景,您可以在Project【项目文件栏】中找到 这三个脚本文件,并将它们依次拖放到场景中的摄像机上面。如图3.15所示:

如果您觉得在Project【项目文件栏】中的文件过多,不便于寻找,您还可以在Project【项目文件栏】上方的搜索框输入他们的名字来进行搜索。这

样很快就能找到对应的文件了。放置完成后,点击测试按钮,您就可以身临其境的在您刚才创建的Game【动画面板】中进行漫游了。用鼠标控制视角,用键盘的
方向键控制行走。在漫游的过程中,您可以清晰的看到刚才创建的草随微风轻轻摆动。效果如图3.16所示:

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


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

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

Unity3D ——强大的跨平台3D游戏开发工具(二)的更多相关文章

  1. Unity3D ——强大的跨平台3D游戏开发工具(六)

    第十一章 制作炮台的旋转 大家知道,炮台需要向四周不同的角度发射炮弹,这就需要我们将炮台设置成为会旋转的物体,接下来我们就一起制作一个会旋转的炮台. 第一步:给炮台的炮筒添加旋转函数. 给炮台的炮筒部 ...

  2. Unity3D ——强大的跨平台3D游戏开发工具(一)

    众所周知,Unity3D是一个能够实现轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎.在现有的版本中,其强大的游戏制作功能已 经达到让人瞠目结舌的地步.尤其是它在3.0版本里面制作的那款 ...

  3. Unity3D ——强大的跨平台3D游戏开发工具(五)

    第九章 图形用户界面类G.U.I 您在玩很多3D游戏的时候,不知是否注意到在游戏界面中,总有一些图形和文字信息是不随着3D视角的改变而改变的.这也是由于游戏本身的要求而决定的.比如说英雄的生命值,聊天 ...

  4. Unity3D ——强大的跨平台3D游戏开发工具(四)

    第六章 Unity3D中的C#Script编程的注意事项 也许您在学习Unity3D之前,已经是一位C#的编程高手了.但在Unity3D中的C#并不像真正的C#那般强大,在Unity3D的C#中必须全 ...

  5. Unity3D ——强大的跨平台3D游戏开发工具(三)

    第四章 为地形添加水源.水流以及水下的模糊效果 制作好了地形的各种效果,接下来我们给场景添加一些水效果,使场景更加丰富. 第一步:添加水面 由于我在上一次的地形创作中就已经在山峰之间制作了一块洼地,它 ...

  6. Unity 4.2.0 官方最新破解版(Unity3D 最新破解版,3D游戏开发工具和游戏引擎套件)

    Unity是一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品.作为一个完全集成的专业级应用,Unity还包含了价值数百万美元的功能强大的游戏引擎.Unity作为一个游戏开发工具,它的设计主旨 ...

  7. 5 个最好的3D游戏开发工具(转)

    转自:http://www.open-open.com/news/view/33a4f0 5 个最好的3D游戏开发工具 jopen 2012-11-19 22:56:21 • 发布 摘要:UDK(th ...

  8. 优秀工具推荐:两款很棒的 HTML5 游戏开发工具

    HTML5 众多强大特性让我们不需要多么高深技术就能创建好玩的网页游戏,同时证明了开放的 Web 技术能与任何其他在游戏开发中使用的技术竞争.正如标题所说,这篇文章推荐的几款很棒 HTML5 游戏开发 ...

  9. Unity 3D游戏开发引擎:最火的插件推荐

    摘要:为了帮助使用Unity引擎的开发人员制作更完美的游戏.我们精心挑选了十款相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJ ...

随机推荐

  1. CSS3边框

    border-radius box-shadow border-image border-radius可以创建圆形,如果一个元素是正方形,则设置border-radius为边长,则为圆形 box-sh ...

  2. vue数据源转json问题

    开发过程中使用到了vue框架进行前端批量数据的处理,将批量数据转换为json格式进行ajax传参时需要注意将vue数据源得到的json结果进行如下处理,webservice接收json数据时无法有效的 ...

  3. dfs和bfs的简单总结

    首先是dfs,又名深度优先搜索.看名字就知道,它的核心思想就是一直搜索,先在一条路上面一路撸到底,如果到底没有办法前进了,那么判断是否到达终点,如果没有到达,那么就回溯到之前的点再撸. dfs的要点: ...

  4. Css span div

    SPAN元素和DIV元素有什么区别 解决思路: 最明显的区别是:DIV是块元素,SPAN是内嵌元素.块元素相当于内嵌元素在前后各加一个<br>换行.其实,块元素和行内元素也不是一成不变的, ...

  5. constraint 摘自群主大大

    CONSTRAINT 子句 限制和索引相似,虽然限制也能被用于建立和另一个表的关联. 用 ALTER TABLE 和 CREATE TABLE 语句中的 CONSTRAINT 子句来建立或删除条件.C ...

  6. ural1701 Ostap and Partners

    Ostap and Partners Time limit: 2.0 secondMemory limit: 64 MB Workman Ivan lost his job. Not because ...

  7. 使用compass更高效的编辑css --- 图片精灵

    compass是sass的一个库,关系相当于js中的jq.比较可惜的是compass的文档比较混乱 看的不太舒服,下面是compass的文档地址,有兴趣的可以去看看 http://compass-st ...

  8. HDU 1883 Phone Cell(计算几何)

    方法:选取一个点A,以点A为圆心做一个半径为r的圆,然后枚举另一个点B,以B为圆心做一个圆,如果这两个圆有交集,那我们在这个交集内选取一个点做半径为r的圆,这个圆就包括了A和B点,找到交集最多的区域并 ...

  9. xml 解析 python

    1 综述 有很多种解析方法. (1)  DOM   缺点是:1 不能解析格式不正确或者不规则xml  2据说只能解析utf-8格式,非utf-8需要转码 与SAX比较,DOM典型的缺点是比较慢,消耗更 ...

  10. ZenCoding 个人理解和总结

    我的理解:ZenCoding是一个html简写的语法,可以最快速的生成html. 不少IDE应该都支持,我用的intellij idea是支持的. ZenCoding表示和CSS/JS有相通之处,比如 ...