一、关于FPS Sample
FPS Sample是Uniy技术团队放出的例子工程,它包含了一款完整的第一人称联机设计游戏。Unity官方做这个Demo的目的是为了测试和展示Unity引擎中的新特性。工程包含了完整的资源和源码,因此学习的价值很高。
接下来,我们就一起来剖析一下这个Sample工程,看看官方的技术团队是如何使用<u>HD Render PipeLine、全新的network transport layer,以及Entity-Componet System</u>的等新特性的吧。
二、获取工程
FPS Sample的仓库地址:
https://github.com/Unity-Technologies/FPSSample.git
这里需要注意的是,FPS Sample这个工程使用Git LFS(工程的资源文件中的文件大约有18个G)。因此需要支持LFS的Git程序。如果你Clone下来的工程总是很小,那很有可能是因为你的Git不支持LFS(可以从这里下载Git LFS:https://git-lfs.github.com)。
由于工程文件巨大,因此Clone需要较长的时间,笔者可是花了整整一个通宵才Clone完哈。
听不少网友说因为网络问题,Clone总是失败,我把我本地的工程文件上传了一份到百度网盘上,需要的朋友从网盘下载哈。(2019.1.22日更新)
三、打开工程
需要确保安装了正确版本的Unity引擎。官方的文档里面说的版本是Unity 2018.3 beta 6。只要不低于这个版号的引擎就行,笔者安装的引擎版本是Unity 2018.3 beta 10。
第一次打开工程
第一次打开工程,也非常需要耐心来等待,谁叫这个Sample这么有料呢,哈哈。
当编辑器预处理好资源后好之后,通过工具栏里的FPS Sample -> Windows > Project tools来打开工程工具窗口,如下图:
在这个窗口里,我们可以打开关卡,制作assetbundle,以及生成独立的游戏程序。由于这个窗口会用得很频繁,因此建议把这个窗口停靠在Unity的标签页中,用起来会更方便。
尝试进入预览模式
在Project Tools窗口中点击Level_00旁边的Open来打开场景。
在FPS Sample中,游戏的关卡被拆分成了多个场景。通过点击Open按钮,可以打所有场景来组成完整的关卡。
场景打开完成后,可以点击Play按钮,进入编辑器下的Play模式。你可以在这种模式下的关卡里四处游走。我们把这种模式成为“预览模式(preview mode)”
构建资源包和独立运行程序
回到ProjectTools的窗口里面,在Bundles下面,点击All[force]后,编辑器将会把关卡和其他的资源构建成assetbundle资源包。如果是第一次打包的话,也需要花较长的时间来等待(编译所有的shader很耗时)。
当资源包构建完成后,点击Build game按钮来构建游戏运行程序。不幸的是,第一次打构建游戏,需要花费较长的时间,考验耐心的事情真多啊_。
快速启动游戏
当构建完成后,在Project Tools的窗口找到Quick Start,在下面的界面中,按如下的值来设置对应的字段:
Mode: Multiplayer
Level: Level_01
Clients: 1
Headless server: checked
Use editor: false
四、总结
好了,到现在为止,我们不仅可以在预览模式下浏览关卡,还可以快速启动联机游戏了。我们已经为剖析FPS Sample做好了准备。接下来,我们先从源码开始进行剖析吧。