unity4.3的2d,是在3d中用正交投影实现的。投影不是重点,重点是增加了2d的物理组件,提供2d的碰撞和物理支持。
场景分层
2d的场景构建讲究分层,不同的对象分布到不同的层中,方便管理。
一般说来分5层
- 静态背景层。静态的远景,然后云,水,雾气等可以做一个缓慢的循环动画。
- 动态背景子物体。飞鸟,小动物,小植物等偶尔出现的对象,但是不和游戏交互。
- 静态前景层。和游戏发生实际交互的地面,墙和物体,是实际的关卡内容。这些物体一般要设定碰撞多边形和物理材质。
- 游戏对象层。玩家,怪物等活物。
- UI层。界面和粒子等。
要快速做原型,主要是集中力量做操作逻辑,前景层,游戏对象逻辑和粒子表现。
动画技术
骨骼动画编辑器
unity4.3内置了2d骨骼动画编辑器,所谓骨骼动画就是子部件的移动缩放和旋转。内置的编辑器可以所见即所得的编辑角色的各种动画。
原始的精灵动画,也作为骨骼动画的一种特殊表现形式出现。
动画融合
为不同的两个动画同时播放提供基于权重的融合支持,比如一边跑一边开枪,可以是跑和开枪两个动画的融合。
动画切换状态机
以前从一个动画向下一个动画切换的时候,需要用代码详细控制。unity4.3内置动画状态编辑器,让动画切换规则可见,并且定义了一些基本的切换规则,可以无需代码实现动画的自动切换。
至于需要代码控制的切换,只需调用SetTrigger
。
其他
UI控件
GUITexture和GUIText
声音
AudioSource
线程
过一阵再做一件事情,可以用SetDelay
,也可以用StartCoroutine
。
时间控制
Time.timeScale
相比之下,cocos2dx显得落后很多。落后的原因,我觉得差不多是两块:收益和技术。
感觉cocos2dx做引擎没能挣什么钱,靠的是前台的游戏养活。收益不足的话,怎么补充人员开发更丰富的工具呢。光靠开源代码,是没法和unity这种工具抗衡的。
另一块是技术。现有的开发者技术很强,但是收益不足的话,无法吸引更多技术强力的开发者进来,为cocos2dx提供更强的动力。