使用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。