对于游戏开发来说,除了编辑游戏界面、制作游戏动画、编写代码这些具体的工作外,大家还需要对游戏资源结构要非常清楚。如果马虎上阵,等你把项目运作做起来后,一是工作效率不会太高,二是难以精确控制资源,最后甚至会因此陷入混乱。
1. 资源结构
资源是指用于游戏内容创作所需要的素材,对于Cocos Creator工程来说就是assets目录下的文件,看下图:
结构就是将众多的资源文件按一定的规则存放和名命,以方便使用。
2. 资源分类
看上图片所示,我把资源大致分为以下几类:
- 动画:animation
- 预制:prefab
- 场景:scene
- 脚本:scripts
- 纹理:textures
- 声音:sound
其中纹理可再细分为:动画帧、背景、字体、UI、图标等(将动画帧图片放到动画目录中会更好,这样可以将动画资源与项目做分离)。分类目录也不要过细,过细会增加重复文件(同名或不同名但内容)出现机率,同时将通用资源和专用资源分开存放,可以再次减少重复文件的产生。
代码的分类也需要注意,我通常将Cocos Creator通用组件(纯脚本组件)放在component目录下。如果组件脚本是与某个prefab紧密关联的,则将他们放在一起,如下图:
上面有两个预制组件Chessboard是棋盘,Chessmain是棋子,他们各关联了一个同名的组件脚本。因为这个两脚本不具备通用性,所以没有把它们放在component目录下,而是将它们与所关联的预制放在文件一起。
我上面只是举个例,不同公司、项目可以根据自己的具体情况设计资源结构,而且非常必要让参与项目的成员(策划、美术、程序)都清楚分类规则。
3. 文件名命
一个普通的游戏项目,资源大致包括有:图片、代码脚本、声音、配置文件、场景预制文件等等,小项目至少也有上百个文件,大的项目甚至过万。仅对资源分类还不能进行快速定位,还需要有文件命名规则。
通常图片文件是游戏中用的最多的资源,我之前总结了一个简单的图片文件命名公式,供大家参考:
命名公式:前缀+中缀+[后缀]
前缀用于分类,中缀表示功能或特征,后缀可选一般是序号,举几个例子:
- img_gold.png:一个金币图片,img表示图像是除UI交互元素之外的统称
- btn_blue_ok_0.png: 一个绿色按钮,btn表示一个UI按钮,blue_ok是颜色特征和功能特征(注意的是中缀可以由多个单词组成),后缀0是表示,正常、按下、禁用中的正常状态。
- bg_login.png:登录界面的背景图片,bg表示背景,login是功能特征表示用于登录界面。
有了这样的文件命名,在编辑UI时就不会如大海捞针,把时间和精力消耗在资源管理里寻找图片了,直接使用Cocos Creator资源管理器模糊搜索前缀或中缀就能快速锁定目标,看下图:
这里有一个微操作,如果你用心看了上图会发现,上面的窗口布局中将属性检查器、层级管理器、资源管理器放在一起,属性设置时减少了鼠标拖拽距离,减少了操作时间和出错机率,从而可以有效搞UI编辑效率。
同样资源分类一样,项目组可以根据自己实际情况制定自己的文件命名规则,要让参与项目的成员都要知晓。
#4. 小结 我们这篇讲了资源分类与命名在游戏开发中的重要性,结构化不仅可用于资源管理,同时在分析问题时也可以使用结构化的思维。请用心观察体会自己现在或过去的项目,有没有在资源管理上遇到问题,是否注意到了资源结构对项目的影响。
欢迎关注「奎特尔星球」微信公众号,来我们一起成长!