前言

想了许久,最终决定以参与一款项目的过程来逐步解讲TA的相关知识点,这样会比较循序渐进的去了解TA。

首先,在项目的前期,TA是需要制定很多标准的,从目的上来讲大致可分为:

  1. 美术资源标准化,方便项目管理。
  2. 美术资源符合策划与程序要求的规则,这样便于他们使用,当然了这里也并不是说要一味的去满足他们的需求,你同时也要为美术考虑,不能给美术增加过多的工作量,这中间的平衡点要把握好。
  3. 美术资源性能方面的优化标准,这点很重要,一不小心就容易出现大量返工的情况,这会给项目带来很大的成本开支以及延长开发周期。

所以,综上所述,前期的标准制定非常非常的重要!


项目文件夹结构

本篇是美术资源标准的第一篇,我们将来讲解最为基础的东西——文件夹目录结构。后面陆续讲解下美术各个模块的标准与规则,包括模型、贴图、UI、地编、Shader、特效等。

不要轻视文件夹这个话题,文件夹结构就相当于建筑的地基,如果没有打好,楼倒是不会倒的,但是会让建筑工程师建造的很痛苦。

废话不多话,以下截图是我个人比较喜欢的一种目录结构方式,抛开程序的我们不管(我们也管不了),只针对美术相关的资源进行目录分配,当然,你也可以根据自己项目的情况来制定,只要清晰,方便管理就好。

具体说明下:

Assets是资源根目录,我们将美术需要用到的文件夹分成两大类:

  1. 原始资源文件,存放在Assets/Arts目录下,这里的原始并不是指.max或者.ps之类的文件,而是指资源导入引擎后的原始文件。在Arts目录下可以按美术工种模块来分为UI(界面)、Character(角色)、Map(关卡地图)、Fx(特效)、Shader(着色器)、TA(技美)、Sounds(音效音效,要不要放在美术文件夹根据各个项目需要)、ThirdPlugins(第三方插件)。每个文件下又可按自己项目的需求再细分多个文件夹。其中TA中主要用于存放TA为项目开发的插件以及脚本之类的。
  2. 程序调用资源,存放在Assets/Resources目录下,命名为“Resources”的文件夹(可多个)会被Unity自动识别,我们将可通过Resources API来在程序运行时进行资源加载与卸载。有一点要注意的是,Resources目录下的所有资源都会被打包进游戏中,不管实际有没有用到,另外如果资源过多,也会大大的影响游戏打包时间与游戏启动时间。所以此目录内的内容最好事先与程序协调沟通好如何存放需要的资源。

关于Resources文件夹的使用建议可以参考官网上的一篇教程:

The Resources folder - Unity​unity3d.com

推荐做法:

在正式项目中,官方也是不推荐存在Resources文件夹的,但是呢在开发期间我们保留Resources目录,这样便于调试,打包后游戏运行时采用AssetBundle的加载方式,也就是说需要程序在开发期间支持两种模式,打包时删除Resources目录(此时Resources目录中的资源全部打AB包)。


命名规则

资源本身的命名也同样很重要,特别是Prefab的命名,因为游戏内使用某个美术资源时就是通过加载Prefab来实现的,至于是直接加载还是通过策划配置成相应的ID来加载这个要看程序怎么规划了,总之不管哪一种,命名统一、方便、直观,将给项目带来很大的便利性。

我们将从以下三个方面来列一下有关命名的一些规则:

  1. 命名中尽量只包含英文字符与数字,以及_(下划线)和@符号(主要用于动画片断识别)。其它的符号尽量不要出现。
  2. 大小写统一,比较常用的有两种,小驼峰和大驼峰命名法,小驼峰是指除第一个单词首字母小写以外,其它单词首字母都是大写,比如:myTestExample。而大驼峰是指每个单词的首字母都是大写,比如MyTestExample。
  3. 语义清晰,什么意思呢,就是当看到文件的命名时能直观的知道这个资源是什么,在名称上可以用拼音也可以用英文语义,只要便于理解就好。

举个例子,比如有一头怪物,名字叫“地狱犬”:

Character_Monster_HellDog或者Character_Monster_DiYuQuan

再举个例子,比如场景中的传送门特效:

Fx_Map_Portal或者Fx_Map_portal

例子中有用英文语义的也有直接用汉语拼音的,根据过往经验,大多美术英文都不太好,不如索性直接用拼音,只要大小写统一定好,这样在阅读命名时会轻松一些。


协同合作

在团队合作开发的项目中,最常用的协同工具就是SVN和GIT,很多美术对这类工具不太熟悉,做为TA要耐心的教一下他们,否则的话在项目进行的过程中会出现各种各样的状况需要你去补救。关于SVN和GIT,网上的资料也很多,这里不再多说。

有一点要重点说明的是,一定要保证美术提交到SVN或者GIT上的资源符合之前定的标准,关于这一点,我建议TA为美术制定一些批量处理工具,或者制作一个提交SVN时进行资源检测的工具,如果有哪个资源不符合标准则进行提示,并且不能够提交,虽然霸道了点,但是真的很有必要!在讲到后面的插件开发时我们会详细介绍下如何去实现这样的一个SVN提交与检测的工具。


最后

欢迎大家关注更多干货的公众号:Unity技术美术 ( ID:gh_8b69cca044dc )

Unity技术美术QQ交流分享群:19470667(1群已满)、763506271

web.xml放在哪个目录下_美术资源标准(文件夹目录篇)相关推荐

  1. 用户home目录下的.gitconfig 和 库文件夹目录下的 .gitignore 示例

    .gitconfig文件: [user]name = hzhemail = 924948@qq.com[core]editor = viquotepath = false # git config - ...

  2. Java在c盘fld目录下的文件名_VB操作文件夹的几个方法

    ****************移动文件夹************************ 1.添加引用"microsoft    scripting    runtime" 2. ...

  3. python 图片对比文件夹_初学Python-找出文件夹下的所有图片

    这个命题,有2种含义. 1.找出指定某个文件夹目录下的图片 2.找出指定某个文件夹及其子文件夹下的图片 两者的区别在于,子文件夹的图片是否需要找出来.对应的处理方法也略微有所区别,下面具体讲解一下.找 ...

  4. U-Boot源码目录分析(VScode工程创建及文件夹过滤)

    参考:U-Boot工程目录介绍 作者:一只青木呀 发布时间: 2020-10-21 14:47:30 网址:https://blog.csdn.net/weixin_45309916/article/ ...

  5. linux批量更新文件夹里,Linux下使用touch批量修改文件夹和文件的时间

    发布时间:2015-07-26 22:51:41 下面只有两个参数存在差别,......[阅读全文] 阅读(3186) | 评论(0) | 转发(0) 发布时间:2015-06-19 17:25:38 ...

  6. windows下使用RoboCopy命令进行文件夹增量备份

    RoboCopy,它是一个命令行的目录复制命令,自从Windows NT 4.0 开始就成为windows 资源工具包的一部分,然后在Windows Vista.Windows 7和 Windows ...

  7. Win7系统CMD进入文件夹目录的命令

    Win7 系统下用CMD命令进入文件夹目录 Win7下的CMD有些奇怪,打开CMD后显示: C:\Users\lenovo> 此时进入C盘下的文件夹目录可以直接用命令: cd C:\Progra ...

  8. python 打开当前目录的txt文件-Python - 读取其他文件夹/目录中的文本文件

    这是我的情况:我有一些.txt文件在我可以运行脚本的不同目录中.Python - 读取其他文件夹/目录中的文本文件 mainDir/ -face/ -57268-face-_tracker.txt - ...

  9. copy所有的java文件到硬盘_将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad...

    listFiles方法接受一个FileFilter对象,这个FileFilter对象就是过虑的策略对象,不同的人提供不同的FileFilter实现,即提供了不同的过滤策略. //将d:\java目录下 ...

最新文章

  1. CI Weekly #17 | flow.ci 支持 Java 构建以及 Docker/DevOps 实践分享
  2. 德佑地产房产经纪人区域总监访谈:掌门的态度
  3. 米斯特白帽培训讲义(v2)信息收集
  4. vue watch 修改滚动条_Vue.js 中滚动条始终定位在底部的方法
  5. linux 内核优化
  6. 理解运算符优先级(简单易懂,建议收藏)
  7. 在html创建色块,浅谈网页制作中色块使用
  8. 服务器能不能清理系统垃圾,在服务器上如何清理垃圾
  9. 如何预防电脑辐射(转自j2medev)
  10. python 获取MP4视频第一帧 | Python工具类
  11. php+ioncube',PHP安装ioncube扩展
  12. [HNOI2003] 消防局的设立
  13. chdir: No such file or directory (chdir()函数、strtok()函数)
  14. 浪潮之巅 第五章 奔腾的芯 Intel(1)时势造英雄
  15. Flutter视频播放
  16. ANSYS渡槽槽身动水压力的施加(1)——矩形渡槽
  17. BERT-Whole Word Masked(WWM)
  18. jquery导出并下载报表的方式
  19. 同步磁阻电机SynRM高频注入无感 FOC 采用高频注入法实现SynRM零低速下无位置传感器起动运行
  20. 小程序销毁页面的方法

热门文章

  1. python数据结构之线性顺序表
  2. 程序设计思维与实践 CSP-M2 (3/4/数据班)
  3. 西刺ip代理采集和ip测试-国内免费高匿版本
  4. android 各种分辨率的logo大小
  5. c语言自动输入一位数字,c语言:要求输入一个四位整数,然后将各位数字按英文输出...
  6. 迅歌KTV服务器各型号,2017年ktv必点歌曲排行榜(4页)-原创力文档
  7. MongoDB面试问题
  8. OpenMAX编程-音视频等组件介绍
  9. 迷宫问题的求解(广度和深度优先搜索)
  10. AC695X_FCCBQB认证资料获取[杰理全系列]