内容来自这个网站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。

最新文章

  1. Linux 常用服务总结
  2. [Linux] - centos使用mount + nfs 远程共享存储
  3. KnockoutJS 3.X API 第五章 高级应用(5) 使用预处理扩展Knockout绑定语法
  4. 股市非常态,CCI指标买卖点实例图解
  5. ExtJS4.x 开发环境搭建
  6. Java系的大网站架构-LinkedIn和淘宝
  7. C# 我是个传奇的 using
  8. vmware安装Linux时无法打开xpdf
  9. CentOS 通过yum来升级php到php5.6
  10. FTP配置之 chroot_list 用户切换文件夹
  11. windows 10 防火墙设置规则:允许特定ip端口
  12. Docker入门 配置篇
  13. Java-大数据方向学习和已掌握知识点整理
  14. Excel中concatenate函数的使用方法
  15. go 练习
  16. Alpha冲刺随笔五:第五天
  17. iOS 允许后台任务吗?
  18. NuGet 安装EntityFramework5 历程
  19. hadoop HA集群搭建步骤
  20. A New Function LightOJ - 1098()

热门文章

  1. Linux安装 NTFS 支持
  2. Ionic+AngularJS 开发的页面在微信公众号下显示不出来原因查究
  3. input,button制作按钮IE6,IE7点击时1px黑边框的解决方法
  4. IOS @property的参数说明
  5. jwt 在.net core 2.0的使用
  6. LCA最近公共祖先(POJ1330)
  7. 2018.8.15 AOP面向切面编程简单理解
  8. json 序列化和反序列化的3个方法
  9. 将matlab处理结果保存为图像文件
  10. SpringBoot学习11:springboot异常处理方式1(自定义异常页面)