Unity技术-开发规范

举报
芝麻粒儿 发表于 2021/11/30 08:58:44 2021/11/30
【摘要】 👉关于作者众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等) 👉前提 为什么要规范/规范的目的Unity开发通常需要和三维,美术,设计等并行开发,沟通交流频繁,...

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

👉前提

为什么要规范/规范的目的

Unity开发通常需要和三维,美术,设计等并行开发,沟通交流频繁,而且中大项目还可能多人开发,所以一个好的项目规范,能提升开发效率。优点多多:

  • 1.方便代码的交流和分片维护,使代码清晰人人都读得懂,可维护强;
  • 2.前期开发团队管理效率高,分工明确,有效避免写了后面搞不明白前面,防止了恶性加班;
  • 3.后期更新/维护速度快,逻辑明确,项目清晰;
  • 4.规范的代码虽然不一定带来高性能,但一定是优雅的,赏心悦目的,不枯燥提升心情愉悦性;
    良好的规范很重要,任谁也不想在“脏乱”的环境工作

👉实践过程

😜文件目录规范

image.png

一级目录:

【01_Scenes】:存放所有场景,方便快速找到对应场景,如果场景有先后顺序命名可以挂上编号

【02_UI】:存放2D方面的资源,比如图片精灵等,如果过多可以分二级文件夹,其命名规则和用到的地方相对应

【03_Model】:存放3D资源,模型材质等所有相关内容

【04_NetAndData】:存放网络通信和本地数据库等相关内容,比如:服务器访问,本地存储等

【05_Utils】:存放平时用到的封装工具类,比如:Screen屏幕类,Time类,Math类,文件操作类,时间类,字符串类等等

【06_Scripts】:存放脚本,偏向于存放二处及以上使用次数的脚本,像那些单独使用的脚本且跟控件/模型有关联的,把她们放到一起即可

【07_Audio】:存放声音文件

【08_Others】:存放其他文件,暂时不清楚放在哪个分类下的文件,可以以后再分类

【09_Test】:测试文件夹,平时测试功能,下个测试脚本啥的,都放到这,产品发布之前可以直接删除

【Plugins】:系统默认文件会自动识别,为插件目录,存放扩展Unity编辑器的代码工具,编译的时候不会打包进去

【Prefab】:系统默认文件会自动识别,存放经常反复利用的对象或资源,充分复用

【Resources】:系统默认文件会自动识别,默认的资源路径,发布的时候会自动打包进去,在代码中可以直接访问

有更合适的可以再增加

二级目录:

可以根据自己项目需要增加对应的文件夹,比如存放3D资源的【03_Model】文件夹和存放2D资源的【02_UI】文件夹

3D你可以按照模型分类,也可以按照资源分类

image.png

【Animators】:动画控制器 相关的资源文件。

【Materials】:材质 相关的资源文件。

【Shaders】:着色器 相关的资源文件。

【Scripts】:脚本 相关的资源文件。

【Textures】:纹理 相关的资源文件。

或者

【ModelOne】:存整个模型的所有东西,材质/模型/纹理等

【ModelTwo】:同上,存另一个模型的全部

如上,资源明确,调理清晰, 一看就知道项目层级,至于更深的三四级目录,看项目需要,灵活设置。

😜文件名规范

  • 1.大驼峰命名法,每个单词首字母大写,并且能够表现出改文件的功能意义。比如有个手模型,可以起名字为:ModelHand
  • 2.同级下且名称相同的文件,命名用下划线”_”加编号来区分,比如:Scene_01,Scene_02,Scene_03,Scene_04
  • 3.同属于一个整体的各个资源名称尽量要一致,比如手模型包含了贴图和对应的脚本,起名:ModelHand,ScriptHand,TexturesHand或者HandModel,HandScript,HandTextures
  • 4.命名尽量使用英文,如果多人协同合作英文有障碍的话,使用拼音,但一定要全拼且符合大驼峰命名。比如手电模型:起名ShouDian,可别来SD,让人误会成SD卡或者傻蛋,非常不推荐缩写。

😜资源规范

  • 1.命名遵循上面的上面文件命名规范
  • 2.图片资源统一尽量使用png格式
  • 3.图片不要过于追求效果,在不影响视觉的前提下能小就小一些
  • 4.可以提前使用TinyPng软件来进行图片压缩,我在Android中也强烈推荐过,超级神器,效果显著
  • 5.多人协作坐标模式提前商定好,统一的坐标系能帮助更好的观看模型效果,否则会导致场景乱套
  • 6.移动设备面数控制300-1500,PC端建议范围是1500-4000,整个屏幕建议控制在7500面以下
  • 7.贴图尺寸为2的N次方,最大不超过1024*1024,特殊情况再进行特殊处理

😜代码规范

  • 1.驼峰命名法,且命名要表达出符合她的意思,要么英文要么频音,强烈反对缩写
  • 2.注释尽可能写详细,便于维护和后期查阅
  • 3.禁止在频繁更新的函数(Update/OnGui)中使用协程,声明变量,等创建类操作,对性能造成影响
  • 4.对可能造成功能失效,影响业务流程的代码添加异常捕获,便于调试
  • 5.尽可能将计算量大的耗时任务放到子线程进行,避免堵塞
  • 6.其他规范待补充

👉其他

📢作者:小空和小芝中的小空
📢转载说明:务必注明来源:https://zhima.blog.csdn.net/ https://juejin.cn/user/426576084
📢欢迎点赞👍收藏🌟留言📝

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。