使用Unity做项目的时候,一些好的建议
内容来自这个网站http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/
,我选取了目前我看得懂的一些,翻译了:
1,避免素材分支:
所有的素材应该只有一个版本,比如prefab, scene, mesh。
2,每个成员必须有一个当前项目的备份来测试。
3,使用其他的关卡编辑工具来编辑关卡。
Unity不是一个完美的关卡编辑器。
4,使用XML来保存关卡信息,而不是scene。
5,考虑写一个通用的自定义属性面板
组织场景:
6,使用空的GameObject来做场景里的文件夹。
7,将修改后的prefabs和文件夹(空的GameObject)的位置设置为0,0,0。
8,将你世界的Y轴基础坐标设置为0,这样就让放置对象更加方便。
9,让每个界面都可以单独运行
这样会大大减少测试的时间,要做到所有的场景可以自己运行,需要完成以下两点:
1,当数据不存在时,能够提供虚拟的数据以供当前场景使用。
2,生成对象必须支持多个场景都可以加载,使用类似下面的习惯用法:
myObject = FindMyObjectInScene(); if (myObjet == null) { myObject = SpawnMyObject(); } |
10,将角色和站立对象的pivots(中心点)设置在原点(左下),而不是中心位置。
这样更容易摆放和设置其位置。
11,将prefab用于所有对象。你的场景里面应该只有文件夹(空的gamobject)而不是prefab.甚至唯一的对象,只被使用一次也需要被设置为prafabs。这样就会使得改动不波及到场景。
12,将一些复杂的prefab拆分为几个单独的prefab,不要对已经初始化的对象再进行设置。
如果你有两种敌人,他们只有属性不一样,定义两种不一样的prefab给这种属性,然后再将它们引入,这样做的好处是:
1,修改某个对象,只需要修改一个地方。
2,修改不涉及scene。
13,将prefab和prefab链接起来,而不是instance和instance。
最新文章
- Linux 常用服务总结
- [Linux] - centos使用mount + nfs 远程共享存储
- KnockoutJS 3.X API 第五章 高级应用(5) 使用预处理扩展Knockout绑定语法
- 股市非常态,CCI指标买卖点实例图解
- ExtJS4.x 开发环境搭建
- Java系的大网站架构-LinkedIn和淘宝
- C# 我是个传奇的 using
- vmware安装Linux时无法打开xpdf
- CentOS 通过yum来升级php到php5.6
- FTP配置之 chroot_list 用户切换文件夹
- windows 10 防火墙设置规则:允许特定ip端口
- Docker入门 配置篇
- Java-大数据方向学习和已掌握知识点整理
- Excel中concatenate函数的使用方法
- go 练习
- Alpha冲刺随笔五:第五天
- iOS 允许后台任务吗?
- NuGet 安装EntityFramework5 历程
- hadoop HA集群搭建步骤
- A New Function LightOJ - 1098()
热门文章
- Linux安装 NTFS 支持
- Ionic+AngularJS 开发的页面在微信公众号下显示不出来原因查究
- input,button制作按钮IE6,IE7点击时1px黑边框的解决方法
- IOS @property的参数说明
- jwt 在.net core 2.0的使用
- LCA最近公共祖先(POJ1330)
- 2018.8.15 AOP面向切面编程简单理解
- json 序列化和反序列化的3个方法
- 将matlab处理结果保存为图像文件
- SpringBoot学习11:springboot异常处理方式1(自定义异常页面)