版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章地形系统【本章学习要点】资源包包管理器地形系统创建地形系统编辑WindZone风区4.1资源包资源包是为Unity引擎开发的一系列预设、模型、贴图、动画、脚本等资源集合。这些资源包通常用于辅助开发者快速构建游戏环境和角色,提高开发效率。4.1.1资源包概念资源包是Unity开发的可以供用户使用的各种资源,也可以是第三方开发的各种资源,包括3D模型、贴图和材质、环境、粒子系统、摄像机、着色器、音频、动作、脚本等等。资源包实质是由Unity项目或项目元素的文件和数据组成的集合,Unity编辑器将这些文件和数据集合进行压缩,并存储在一个扩展名为.unitypackage的文件中。资源包文件(.unitypackage)就像一个压缩文件,它在解压缩时保持其原始目录结构,以及关于资源的元数据(例如导入设置和到其他资源的链接)。4.1.2资源包分类资源包分为:Unity官方的标准资源包和用户开发的资源包。(1)标准资源包标准资源包是Unity官方提供的资源包,Unity5.0以前版本,安装文件中包含标准资源包,安装Unity时自动导入标准资源包安装好,新创建的项目也自动导入所有资源包。4.1.2资源包分类Unity标准资源包支持到2018版本,之后没有更新过,里面有的函数已经过时弃用,目前标准资源包在Unity资源商店(AssetsStore)还可以进行查找下载。现在,Project中新增Packages目录,放置常用资源和配置文档,通过PackageManager管理资源。4.1.2资源包分类(2)用户开发资源包Unity用户开发了众多项目和项目资源,这些项目资源被打包为.unitypackage文件,上传Unity资源商店,供用户免费或付费使用,这些资源包就是用户开发资源包。用户开发资源包通常通过Unity的资源商店进行分享,当然也可以通过其他渠道和方法进行分享传播,供其他用户使用。4.1.3资源商店Unity官网AssetStore(资源商店)是Unity公司提供的一个官方资源平台,提供了各种各样Unity官方或第三方发布的游戏开发资源,包括模型、材质、音效、插件等,供用户下载使用,有些资源包需要付费使用。这些资源可以帮助开发者节省时间和精力,加快游戏开发的进程。在Unity中,可以通过菜单Window|AssetStore打开Unity资源商店面板。Unity2021以前版本,在Unity编辑器中的Assetstore面板,可以在线查看资源商店内容,Unity2021及以后版本需要通过浏览器查看,AssetStore面板中有一个浏览器在线查看按钮,如图4-3所示。单击图中红框内按钮可以打开Unity资源商店。当然也可以直接登录Unity官网,然后定位到资源商店。图4-3Assetstore面板4.1.3资源商店Unity资源商店提供了丰富多样的资源选择。资源商店中有成千上万的资源可供用户选择,涵盖了各种不同的风格和类型。可以根据自己的项目需求选择合适的模型、材质、音效等资源,以及各种插件和工具,来增强项目的功能和效果。资源商店的多样性为用户提供了广阔的创作空间,帮助打造出独特而精美的项目内容。资源商店中的资源包可以分类查找,查找目录在页面上方。图4-4UnityAssetStore(资源商店)4.1.4导入资源包导入资源包有以下几种方法,分别介绍如下。(1)创建新工程时导入(2)菜单导入(3)在Project面板中导入(4)双击资源包导入(5)直接将资源包拖动到Unity中(6)通过包管理器,下载导入资源商店中的资源以上六种方法中,前面五种都是导入已经安装好的资源包或已经下载的unitypackage资源包文件,第六种方法要通过PackageManager(包管理器)来下载导入管理资源包。4.1.5包管理器1.包管理器概述Unity2017开始通过PackageManager进行资源包管理,可以对当前项目、Asset商店中的资源包查看、下载(更新版本)、导入到Unity等。相对于AssetStore的包,PackageManager提供了更新、更容易集成的资源包管理方案,能够为Unity提供各种增强功能。使用PackageManager窗口可以查看哪些包可用于安装或已经安装在项目中了。另外,还可以使用此窗口为每个项目安装、删除或查看包版本、更新包。通过Unity菜单Window|PackageManager打开PackageManager窗口。4.1.5包管理器2.顶部菜单选项在包管理器顶部有几个下拉列表。第一个是添加包菜单(
),实现按不同方式将资源包安装到项目中。单击该按钮选择前两个选项Addpackagefromdisk…和Addpackagefromtarball…,分别从本地磁盘路径加载json格式本地资源包或tar包格式的本地资源包。选择选项AddpackagefromgitURL,则从git下载安装资源包,选择Addpackagebyname…则通过输入包名称将资源包安装到项目中。图4-7包管理器顶部菜单4.1.5包管理器第二个是包菜单(Packages),可以使用它来更改窗口下方内容列表中显示的资源包内容。主要包括:UnityRegistry(Unity资源库)InProject(项目内的资源)MyAssets(Unity登录用户自己在AssetStore购买的资源)Built-in(Unity编辑器内置已安装好的资源包)Featured(功能集)等选项。第三个是排序菜单(Sort),根据第二个包菜单(Packages)选项的不同,排序菜单中的选项会有所不同,该菜单实现按名称(正序或倒序)、发布日期、购买日期、最近更新日期等对包和功能集列表进行排序。第四个是过滤器菜单(Filters),可以根据过滤条件缩小列表中显示的包的范围。第五个是清除过滤器按钮(ClearFilters),用于清除过滤条件。4.1.5包管理器3.从UnityRegistry下载安装资源包当在包菜单中选择UnityRegistry,下方将显示Unity资源库提供的包和功能集资源,在All选项卡中有Features和Packages两大类,在其中任意选择一项(如3DCharactersandAnimation),右侧会显示该资源的简介,单击右侧的Install按钮,Unity会自动下载安装该资源,安装完成后,Install按钮会变为Remove按钮,后期不需要该资源,可以通过该按钮移除,如图4-8所示。该资源会增加Unity编辑器功能,可以看到在菜单栏增加了几个菜单项。安装过的资源,在左侧列表的对应资源后面会有一个绿色的
符号。用户可以根据需要选择资源进行安装或移除。图4-8UnityRegistry资源包管理器4.1.5包管理器4.从AssetStore下载安装管理资源包当在包菜单中选择MyAssets,在下面的资源列表中将显示当前Unity用户在AssetStore购买的所有资源(免费的及付费的),在列表右侧小图标显示为一个下载箭头的资源是未下载安装的资源,小图标显示为一个文件夹的资源是已经下载安装的资源,小图标显示为一个向上箭头的资源是该资源有新版本,可以选择是否更新该资源,如图4-9所示。AssetStore包资源默认的下载安装目录为C:\Users\wf\AppData\Roaming\Unity\AssetStore-5.x,其中wf为用户计算机系统的用户名。图4-9MyAssets资源包管理4.1.5包管理器5.从AssetStore获取安装资源包下面介绍用户从AssetStore获取安装资源包的过程。4.1.5包管理器4.1.5包管理器6.内置包(Built-in)Unity内置包允许用户通过包管理器打开或关闭Unity功能。启用或禁用包可以减少运行时项目构建大小。例如大多数项目不使用旧版粒子系统,可以将其禁用。当删除某功能对应的内置包时,Unity在构建最终应用程序时不会包含相关代码和资源。通常这些内置包仅包含包清单并与Unity绑定在一起(而不是在包注册表中提供)。当项目想要节省资源,禁用某些不需要的模块功能,可以通过禁用内置包来实现。方法很简单,在包管理菜单中,选择Built-in,然后在下方列表中选择对应资源,然后单击右侧的Disabled按钮即可。但要注意在禁用了内置包后,对应的Unity功能将不再可用,这将导致如下情况。如果使用由某个禁用的包实现的脚本API,会遇到编译器错误。由禁用的内置包所实现的组件也会被禁用,这意味着不能将它们添加给任何游戏对象。如果游戏对象已经具有这些组件之一,则Unity在运行模式下将忽略这些组件。可以在Inspector窗口中看到这些组件,但显示为灰色,是不可用的。在Build构建发布项目时,编辑器会剥离所有已禁用的组件。对于支持引擎代码剥离的发布项目平台(例如WebGL、iOS和Android),Unity不会从禁用的内置包添加任何代码。所以使用内置包禁用功能时,一定要小心,不要出现导致项目出错的情况发生。4.1.5包管理器7.导出资源包用户开发的项目也可以通过菜单Assets|ExportPackage…导出为.unitypackage文件,以便异地设备共享使用、修改完善或发布到Unity资源商店。在导出项目时可以选择将Assets目录中的哪些资源文件导出。4.2地形创建编辑在虚拟现实和3D游戏项目开发过程中,地形是不可或缺的重要元素,会涉及地形的设计制作。Unity提供了一个功能强大、使用灵活的地形系统Terrain,可以实现快速创建各种地形,添加草地、山石等材质,添加树木、花草等对象,从而创建出逼真自然的地形环境。4.2.1导入地形资源包制作地形,需要导入Terrain资源包,该资源包是Unity标准资源包集合中的一个,包含了绘制地形所需要的图像、模型资源等。当然资源包中的图像,树木、花草模型等,也可以自己制作。4.2.2创建Terrain地形Terrain是Unity自带的地形编辑器工具,也属于一种3D对象。单击菜单GameObject|3DObject|Terrain,在场景中创建一个Terrain对象。同时在Assets文件夹根目录下创建一个默认名为NewTerrain的文件,用于保存Terrain的相关数据,后缀为“.asset”。Terrain对象包括三个组件:Transform组件、Terrain组件和TerrainCollider组件。Terrain默认平面大小为1000米*1000米,Terrain不能通过“Transform组件”中的Scale属性修改大小,需要通过“Terrain组件”中的“地形设置”中的TerrainWidth和TerrainHeight属性进行设置。Terrain组件对地形进行编辑和修改,TerrainCollider组件属于物理引擎方面的组件,实现地形对象的物理运动模拟,如碰撞检测等。图4-18Terrain地形对象的组件4.2.3绘制编辑地形在Hierarchy面板中选中Terrain地形,在Inspector面板中查看“Terrain组件”中的5个横排按钮就是绘制地形工具,从左到右依次为“CreateNeighborTerrains”、“PaintTerrain”、“PaintTrees”、“PaintDetails”和“TerrainSettings”。图4-19“Terrain组件”中的绘制地形工具4.2.3绘制编辑地形(1)创建相邻地形(CreateNeighborTerrain)选中地形,单击第一个“创建相邻地形”工具按钮后,Unity会以线框形式突出显示所选“地形”图块周围的区域(图中箭头指向的矩形区域),如图4-20所示,指示可以在矩形框中生成新的地形图块空间。左键单击任意矩形区域,将自动生成一个新的空白Terrain对象,并在Assets文件夹中生成一个新的.asset文件。单击第二个“PaintTexture”工具按钮,在下拉列表中可以看到有6个绘制工具选项,如图4-21所示,各绘制工具分别介绍如下。图4-20创建相邻地形图4-21绘制地形工具下拉列表4.2.3绘制编辑地形(2)提升/降低地形高度(RaiseorLowerTerrain)该工具可以提升或降低(按下Shift键)地形高度,有各种画笔可以选择,并可以设置画笔的大小和透明度,如图4-22所示。
图4-22提升/降低地形高度4.2.3绘制编辑地形(3)绘制坑洞(PaintHoles)该工具的作用是根据选择的笔刷及笔刷绘制区域,删除笔刷刷过地形网格中对应网格面片,从视觉上看,好像在地形上挖出来一些孔洞、坑洞。另外还可以使用代码来操纵这些删除部分的属性。在删除地形形成空洞后,便能更轻松地使用Unity新的地形工具包TerrainTools中的ProBuilder、ProGrids和Polybrush这类编辑器内的工具来为地形加上坑洞、传送门,甚至是洞穴等。图4-23绘制坑洞4.2.3绘制编辑地形(4)绘制纹理(PaintTexture)为山峰增加草地、泥土地、小路等纹理,该工具需要资源支持,使用前需要预先导入相关资源包(TerrainAssets.unityPackage)。可以添加多种纹理,需要什么纹理,绘制前选择相应的纹理进行绘制即可。要配置该工具,首先在如图4-24所示的绘制纹理面板中单击“EditTerrainLayers…”按钮,选择“CreateLayer…”,以添加“地形图层”。弹出如图4-25所示“SelectTexture2D”对话框,从列表中双击需要的草地、岩石或其他纹理,选中的纹理添加给地形,并添加到TerrainLayers槽中。添加的第一个纹理图层,将使用选择的纹理平铺填充Terrain对象,可以添加多个纹理图层,并可以对纹理图层进行编辑、添加、替换、移除等操作。接下来,选择“画笔”进行绘制,可以从内置画笔中选择或自定义画笔,不同画笔具有不同的形状,笔刷基于纹理在地形上绘制图案。最后在“Terrain”上拖动笔刷创建平铺纹理。
图4-24绘制纹理
图4-25SelectTexture2D对话框4.2.3绘制编辑地形(5)绘制目标高度(SetHeight)该工具和提升/降低地形高度工具类似,但增加了一个Height(目标高度)属性,可以将地形绘制到Height属性设置的高度,使用该工具可以方便地绘制指定高度的平台,或在平台和山峰中绘制凹坑。按下Shift键,可以取样鼠标位置处的高度(根据鼠标位置处的高度,设置Height属性值),如图4-26所示。图4-26绘制目标高度图
4.2.3绘制编辑地形(6)平滑高度(SmoothHeight)可以平滑使用“提升/降低地形高度”工具创建出来的比较尖锐的山峰,使山峰看起来更加光滑和真实,如图4-27所示。
图4-27平滑高度4.2.3绘制编辑地形(7)邮戳地形(StampTerrain)使用邮戳地形工具(如图4-28所示),可以根据所选画笔的形状和透明度,在Terrain上绘制出如图4-29所示的和笔刷形状相似的特殊地形。“StampHeight”设置邮戳地形高度,绘制的高度还与笔刷的透明度相关。当两个邮戳地形重叠时,“Max<-->Add”设置重叠后的高度,设置为0(Max),取两个邮戳地形中高的那个地形高度,设置为1(Add),将两个邮戳地形高度相加。
图4-28邮戳地形
图4-29邮戳地形绘制效果4.2.3绘制编辑地形(8)绘制树木(PaintTrees)在山间绘制树木,该工具需要资源支持,使用前需要预先导入相关资源包(TerrainAssets.unityPackage),可以添加多种树木,在如图4-30所示的绘制树木面板中单击按钮“EditTrees…”,在弹出菜单中选择“AddTree”,弹出如图4-31所示的“AddTree”对话框,单击右上方
按钮,弹出“SelectGameObject”对话框,从列表中选择需要的树木预制对象,树木预制对象添加后效果如图4-32所示。然后可以使用笔刷在地形上绘制树木,可以调节笔刷大小、树木密度、随机高度、树木宽高比、颜色随机变化程度等,使得绘制的树木可以有所变化,而不是整齐划一,从而提高真实感。
图4-30绘制树木
图4-31AddTree对话框图
图4-32树木预制对象添加后效果4.2.3绘制编辑地形(9)绘制花草等细节(PaintDetails)在山间绘制花或草,该工具需要资源支持,使用前需要预先导入相关资源包。可以添加多种花草,实现地形的更多细节。在如图4-33所示绘制花草面板中,单击“EditDetails”按钮,弹出如图4-34所示的AddGrassTexture(添加花草纹理)对话框,单击右上方的
按钮,在弹出的SelectTexture2D(选择2D纹理)对话框,选择一个2D花草纹理,关闭SelectTexture2D对话框,返回AddGrassTexture对话框,单击“Add”按钮,在如图4-35所示的面板中会添加上刚才选择的2D纹理。重复上述操作,可以添加多种花草纹理如图4-36所示,选择不同的花草纹理,使用笔刷在地形上拖动,会在地形上添加对应的花草。
图4-33绘制花草面板
图4-34AddGrassTexture对话框
图4-35添加第一种花草纹理
图4-36添加多种花草纹理4.2.3绘制编辑地形(10)地形设置(TerrainSettings)该工具可以为地形设置全局属性。部分属性介绍如下。TerrainWidth:全局地形总宽度。单位为Unity统一单位:m。TerrainLength:全局地形总长度。单位为Unity统一单位:m。TerrainHeight:全局地形允许的最大高度。单位为Unity统一单位:m。DetailResolutionPerPatch:单个面片(网格)中的单元格数量,该值经过平方后形成单元格网格。DetailResolution:全局地形所生成的细节贴图的分辨率,所以数字越小占用资源越少,性能越好,但画面质量越差。HeightmapResolution:全局地形生成的高度图的分辨率(2n+1)。ControlTextureResolution:全局地形贴图绘制到地形上时所使用的贴图分辨率。BaseTextureResolution:全局用于远处地形贴图的分辨率。图4-37地形设置4.2.4WindZone风区使用WindZone风区添加一个或多个对象,可在地形上创建风的效果,实现物体被风吹的效果。风区内的树以逼真的动画弯曲摆动,而风本身以脉冲方式移动,从而在树之间营造自然的运动效果。Terrain地形标准资源中的草自带风吹效果。但是树木没有风吹效果,需要添加WindZone对象,实现风吹动树木,树枝摇摆、挥舞着树枝和树叶仿佛被风吹过飘来飘去的效果。4.2.4WindZone风区添加WindZone对象方法:单击菜单GameObject|3DObject|WindZone,就在场景中添加一个WindZone对象。WindZone的作用模式有两种:Spherical(球型)和Directional(直线型)。图4-38WindZone两种模式4.2.4WindZone风区球型风区风力在Radius属性定义的球体内向外吹,风影响仅在球体范围内。直线型风区风向一个方向吹,会立即影响整个地形。直线型定向风对于创建树的自然运动更有用,而球形风更适合爆炸、直升机等特殊效果。Main属性决定了风的整体强度,但是使用Turbulence可带来一点随机变化。风区的风以脉冲方式吹过树木,从而产生持续的更自然的效果。可使用PulseMagnitude和PulseFrequency属性控制脉冲强度以及脉冲之间的时间间隔。参数含义Mode模式Spherical球形风区仅影响球体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 总部规章制度通知
- 人教版小学三年级上册口语交际未来展望教案
- 怎样加强行业规范
- 人工智能在金融场景中的应用场景
- 资本管理公司管理办法
- 天津市津南区咸水沽第一中学2025-2026学年高二下学期第二次月考生物试卷(文字版含答案)
- 酒厂施工安装施工方案
- 2026年国际注册信息系统审计师(CISA)资格考试(中文版)经典试题及答案二
- 2026年广东广州市白云区云城街全国经济普查员招聘笔试冲刺题及答案
- 2026年二级造价工程师考试模拟题库及答案:建设工程计量与计价实务、水利工程(内蒙古兴安)
- 租赁仪器合同协议
- 成人原发性腹壁疝腹腔镜手术中国专家共识(2025版)解读课件
- 音标学习(课件)小学英语
- 高校专业教材数字化创新改革
- 2024-2025学年河南省“金太阳联考”高一年级上学期期中考试数学试题(含答案)
- 广西电力行业职工职业技能大赛(电力交易员赛项)备赛试题库(浓缩500题)
- 2024年新北师大版八年级上册物理全册教学课件(新版教材)
- 2023年基因检测项目评估报告
- 87种隐蔽验收记录填写方法
- 《建筑基坑工程监测技术标准》(50497-2019)
- 四川省城乡道路清扫保洁人员配置导则
评论
0/150
提交评论