`
stephen830
  • 浏览: 2962491 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Unity3D学习笔记(二)创建地形和漫游

 
阅读更多

Unity3D学习笔记(二)创建地形和漫游

转载自  http://huangxuyang.cn/unity3d/learning-unity3d-note-2

 

标签 Unity3D, 学习笔记, C#

上一章粗略介绍了一下Unity游戏引擎的概念定义和界面功能,这次就来实践一下。我们的目标是没有蛀牙(误),目标是创建一个地形,上面有山脉和盆地,然后再放置一个人物,以第一人称的视角来漫游、观察我们所创建的世界。

 

在开始设计游戏之前我们需要先重新建立一个我们自己的Unity工程。点击主菜单的"文件→新建工程(File->New Project…)",就可以看到新建工程向导对话框了。

Project Wizard

我把工程建建立在E:\Frederick\Unity3D\UnityFundStudy1,注意目前Unity对中文的支持不是很好,因此在 Unity中尽量不要使用中文,防止出现各种各样莫名其妙的异常。点击确认创建,Unity会重启并自动打开我们创建的工程。这时在设计视图面板就可以看 到一个“什么都没有”的宇宙。而在层次面板中则可以看到一个“Main Camera”,顾名思义,就是主摄像机,暂时可以先不理它。

 

作为这个世界的神,我们需要在这个混沌的虚空里创建一个大陆,以承载世间万物。点击主菜单→地形(Terrain)→创建地形 (Create Terrain)。然后在设计视图里就出现了一个不是怎么好看的白色平面,与此同时在层次面板也会出现Terrain,它表示我们刚刚创建的地形。在工程 面板中则会有一个“New Terrain”,代表地形素材。接着可以选择工具栏中的拖动工具,在设计视图中进行以下操作,调整到一个自己看着舒服的视角:

  1. 按住鼠标右键并拖动:旋转视角;
  2. 按住鼠标左键并拖动:平移视角;
  3. 滚动鼠标滚轮:拉近/拉远视角;

这地面白茫茫一片看着一点生命力都没有,回想一下在其他游戏里,都是会有一些草原、沙漠、戈壁之类的吧。所以接下来给我们的大陆加上点“料”,贴上 地形纹理。在此之前需要先导入一些贴图素材,还记得创建工程时候的那些素材包吗?现在我们就导入一个Unity自带的地形素材包。点击主菜单(或右键点工 程视图)“Assets→Import Package→Terrain Assets”,会弹出一个需要导入素材的筛选列表,这里直接点右下角的导入”Import”导入所有素材。导入的素材则会出现在工程视图面板中的 “Standard Assets”文件夹中。

准备好素材后,选中我们的大陆,然后在监视面板中找到地形工具栏,并点击第四个“绘制地形纹理”按钮。继续点击“Edit Textures…→Add Textures…”添加新的地形纹理。在弹出的对话框中找到那个选择纹理的小圆圈按钮,选择“Grass Hill”。不要惊讶为啥地面变成一坨绿色了,那是因为镜头太远了看不清细节,调整一下视角即可。接着如法炮制,把“Grass&Rock”也添 加进来,这样一来我们就有两种地形纹理了。有了地形纹理之后需要做的工作就是使用画刷工具将纹理“绘制”在地形上。选中第二张纹理,然后把鼠标移动到设计 视图中,按住鼠标左键随意“涂抹”(用过Photoshop的画刷工具应该可以轻松领会),涂错了也不同担心,用另外一张纹理覆盖涂抹上去即可。

Terrain

光有地形纹理还不够,这一马平川依然不能让人感觉心潮澎湃呀,所以还需要给这个地形做个“外科整容手术”,该凸的凸,该凹的凹,跌宕起伏才有韵味 嘛:)上文使用的是第四个按钮“地形画刷”,现在要祭出“地形隆起/凹陷”这把手术刀了。点击第一个按钮切换,发现和之前的工具配置项类似,调整画刷形 状、大小、透明度后,在设计视图再涂抹一下,地面瞬间就隆起啦!如果想取消隆起,可以按住Shift再涂抹,地面就会凹陷下去。顺便再说明一下第二个和第 三个工具,前者是“直接设置地面高度”,后者是“平滑地面高度”,参数都是大同小异。在对前面那块地形稍作调整后,我整了些山脉上去:

Terrain Tool

唔……没有艺术细胞,将就着看吧,哈哈。至于山脉上面应该有的岩壁纹理,还有花草树木之类的留到下章再讲。是否已经迫不及待想要看看这个世界呢?如 果是自己为游戏做编程,那还需要建立一个角色,然后让它接收用户输入再作出响应,比如走动、旋转视角等等,相当麻烦。Unity为我们准备了大量的范例和 素材包,其中不但包括各种模型、图片,还有常用的脚本等等。例如接下来要使用的角色控制器,完全可以不写一行代码实现上述功能(事实上在3DBuzz的基 础教程中,从头到尾都没有涉及脚本,所以程序新手完全不用担心。)

 

点击主菜单(或右键点工程视图)“Assets→Import Package→Character Controller”,导入角色控制器素材包。在工程面板视图中,在“Standard Assets→Character Controllers”目录下,可以找到“3rd Person Controller”和“First Person Controller”。顾名思义,前者是第三人称视角控制器(类似战神、刺客信条视角),后者是第一人称视角控制器(类似反恐精英、使命召唤视角)。简 单起见我只用到后者,将它直接拖入场景设计视图,随意摆放到一个位置,一个角色就创立完成啦!虽然其貌不扬,长得还有点邪恶XD,但它可以像我们常玩的 FPS游戏一样,用WSAD控制移动,空格跳跃,鼠标控制镜头方向,真是太给力了。如果设计视图视角拉得太远,则会导致几乎看不到它,此时可以双击层次视 图面板上的First Person Controller来让设计视图的镜头对着它,这个操作适用于聚焦任何游戏对象。

First Person Controller

完成创建角色控制器后,就可以点工具栏上的播放键测试运行游戏了。呃,天色好暗,环顾四周只能看到山峰的轮廓……这是因为游戏中还没有光,所以几乎 什么都看不见。既然没有光,那就创建一个。先再次点击播放键退出游戏测试,然后点击主菜单“(新建游戏对象)GameObject→(创建其他游 戏...)Create Other→(线性光)Directional Light”,创建一个线性光对象。

神说:要有光。便有了光。

嘿嘿,瞬间整个世界都敞亮了。所谓线性光,可以理解为一个从无限远的地方向某个方向发射一束无限宽的光线,有点像太阳。由于是无限远的,所以不存在 物体在线性光的背面,即使在设计视图中把线性光对象拖到地面以下,依旧能够照亮地面。同时当光线被山脉遮挡时,就会在地面上留下阴影。如果对光线的方向不 满意的话,可以先选中线性光,然后点击工具栏中的旋转工具对其进行旋转。旋转时会出现一个球形,拖动任意一条线即会让物体沿着其中心轴旋转(该操作适用于 任何游戏物体,具体动手尝试一下即可)。

 

终于可以在亮堂堂的世界里畅游啦,还是蛮有成就感的嘿。

Game View

最后别忘了把游戏场景保存一下,方便下次再次编辑。点击主菜单中的“File(文件)→Save Scene(保存场景)”,由于之前没有保存过场景,所以Unity会弹出一个保存框让用户选择保存位置。为了方便管理,我在Assets目录下新建了一 个Scenes目录,然后保存为 ElwynnForest。当下次打开Unity时,Unity会自动打开最近一次编辑的项目和场景,此时保存场景就不需要再输入文件名了。

 

关于地形的创建和漫游的笔记就到这里,下一章我们给这片荒野加上一些花草树木,展现一下大自然的独特魅力:)

 

 

备注:在加入角色控制器后,运行会发现视线一直在往下掉,你会看到前面加入的树在往上上升,这是因为重力的作用,必须将First Person Controller的一项名为 Gravity的属性设置为0(位于 Movement栏目下,见下图),默认是20,这样就不会发生往下掉的情况了。



 

 

 

  • 大小: 16.7 KB
分享到:
评论

相关推荐

    unity3d学习笔记以及资料和源代码

    下面我将介绍一些学习Unity3D的笔记和案例资料。首先,学习Unity3D的基础知识是非常重要的。你可以从官方文档开始,官方文档详细介绍了Unity3D的各种功能和用法。此外,还有许多在线教程和视频可以帮助你入门,比如...

    unity3d学习笔记.docx

    这是我自己总结所学习的 unity3d学习笔记。适合想入门的读者。

    Unity3D学习笔记.docx

    unity3d 的 学习笔记,网上找的,有兴趣的可以学习一下~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    达内Unity课程四个月学习笔记

    达内Unity课程四个月学习笔记达内Unity课程四个月学习笔记达内Unity课程四个月学习笔记达内Unity课程四个月学习笔记

    Unity3D笔记

    Unity3D笔记 是本人在看视频教程 知识点的积累,希望对学习Unity3D的初学者有帮助。

    Unity3D学习笔记_组件之Effects(效果特效)_Particle_Sy.doc

    Unity3D学习笔记_组件之Effects(效果特效)_Particle_Sy.doc

    unity3d打开外置摄像头

    在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d...

    unity3D笔记

    unity3D(javascript)笔记,简要说明unity中的javasrcipt脚本使用

    Unity3D游戏开发笔记1.pdf

    Unity3D游戏开发笔记1.pdf

    Unity3d Shapes 4.2.1 学习笔记

    Unity3d Shapes 4.2.1 学习笔记 仅供个人学习使用

    Unity3D学习笔记(七)光与影2

    噢不对,还记得第二章里在游戏世界里添加的太阳光吗?虽然作为上帝创造了光,照亮了世界,但为了平衡世界还缺少一样东西,没错,它就是——影子!仔细观察一下游戏场景,发

    Unity3D iTween插件

    文章《Unity3D学习笔记06:iTween插件的简单使用》的项目源码,具体使用方法请移步我的博客

    unity3d NGUI官网示例详解及学习笔记

    unity3d NGUI官网示例详解上下合集PDF文件,一步一步实现官方的演示例子 学习笔记word文档,整理了NGUI常用的方法

    Unity3D_笔记总结_中文脚本解释以及相关API.zip

    Unity3D_笔记总结,Unity3D圣典中文脚本,unity5圣典中文API手册v0.02,几个常用的中文API,便于新人理解常用的脚本API。

    Unity粒子系统学习笔记.docx

    Unity粒子系统基本介绍及应用 粒子系统介绍:  在我们的游戏经常需要一些很炫丽的场景来是游戏更加丰满,比如烟雾、爆炸、火焰等。这些效果的实现用通常的模型是很难实现或者即使实现也很牵强,做不到很逼真,整个...

    Unity3D入门思维导图.zip

    U3D API -- 思维导图 xmind 。 总结归纳了Unity3D适合初学者必须学习了解掌握的API接口。千辛万苦收集全的,每个字都是我手打且经过检查核对,确保准确无误的。文件非常宝贵。 有需求者自取.

    unity 3d的一些笔记

    unity 3d的一些笔记,里面有一些常用的代码,教会你一些常用的写法

    Unity3D Ray射线

    文章《Unity3D学习笔记07:射线Ray实现点击拾取》的项目源码

    unity学习笔记.zip

    包含了unity3D最常用的代码合集,每一个操作都专门按照功能分类,代码直接使用即可。

    Unity3D预设Prefab的使用

    文章Unity3D学习笔记03:预设Prefab的使用的项目资源,请大家自行下载

Global site tag (gtag.js) - Google Analytics