前面介绍了Unity游戏引擎的基础功能,现在终于要进入到游戏开发中了。那么,一款游戏开发要有资源,这个一般是由美术提供的,我们只需要负责程序方面的事。那么,怎么将获得的资源应用起来呢?
一. 导入资源
Unity放置资源的地方,自然是Assets文件夹了,从外部导入的资源都放在这里。Unity支持这几类资源:
- 脚本:支持两种编程语言,CSharp(.cs)和UnityScript(.js);
- 图像文件:支持常见的图像文件,如BMP, TIF, TGA, JPG和PSD;
- 模型文件:支持FBX格式,也可以使用Unity自带的原生格式(.max, .blend, .mb和.ma);
- 音频文件:支持.mp3, ogg, .wav等;
- Unity自身的资源格式类型:如预制体(.prefab),场景(.unity),资源包(.unitypackage)等;
导入这些资源的方式也非常简单,第一种是直接将目标资源拖到Unity工程场景的Project视图下;第二种则是在Project视图下右键导入。
我们也可以将自己的作品导出为资源包分享给别人使用。
二. 创建预制体
预制体,是预先准备好的,可以重复利用的游戏物体,可以大大减轻开发的工作量。在我之前的文章里,也简单的提到了预制体在场景中的工作原理,简而言之,就是场景文件直接引用预制体原文件并加上修改部分后,在场景中实例化。
由于预制体的特性,很多游戏物体都是保存为预制体以方便后期使用。创建预制体也很简单:
- 直接将游戏物体从Hierarchy视图中拖到Project视图的Assets下的文件夹内;
- 先在Assets文件夹内新建一个预制体,然后再将对应的游戏物体拖到新建的预制体上;
下面展示一个场景中的预制体具有的功能:
游戏物体对应的预制体丢失,往往是因为我们将其对应的预制体文件删除了才会导致变红。要想断开游戏物体和预制体之间的链接,可以选中游戏物体后,直接点击GameObject -> Break Prefab Instance完成。当然,及时删除不用的预制体,对减小包体还是十分必要的。
三. 创建地形
在Hierarchy视图中右键->3D Object->Terrain,会当前场景中创建一个默认地形。点击地形游戏物体,查看Inspector视图有1:
在Terrain组件里,Unity为我们提供了7个工具。每选择一个工具,下方都会显示具体的工具介绍和配合按键能起到的额外效果。下面简单介绍一下每个地形工具:
- 地面升高工具:选中后点击Scene视图中的地形游戏物体,会使点中的地方升高,按住shift使之降低。升高不能超过地形允许的最大高度,降低则不能低过0。Opacity决定升高的快慢。
- 平面升高工具:总体功能类似地面升高工具,但是多了一个下图红框内容Height。
在Height可以设定你地面升高的最大高度(因此可以制作一些山顶平台之类的),但同样不能超过地形允许的最大高度。按住shift则是对点中的地方高度取样,将Height设定为改高度。最右侧的Flatte