移动设备不同于目前的高端设备(Wii、Xbox 360和PS3),市场上的手机硬件是很有限的,并且所有的移动设备都是不一样的。像Adroid手机,由于品牌和出厂年限的不同,有一部分手机相对整个市场而言是老旧的、较慢的。但是,作为游戏开发者并不能因为这些老旧的设备,而摒弃这部分的市场,因为尤其在中国,这些手机占有了很大一部分市场份额。那么如何保证好的游戏画面的同时,来保证游戏可以快速有效的运行,就是开发者在游戏开发初期应该考虑的问题。 本文意旨在于给应用Genesis-3D引擎开发新的手机游戏感到不知所措,抑或是在为新的手机游戏进行规划和原型设计,或移植现有项目到移动设备上让其顺利运行的开发者们一些参考。使开发者最好的将开发的游戏进行优化,使得开发的游戏有趣且迅速。
分析很重要,因为它可以帮助你辨别哪些优化有益于较大的性能提高,哪些浪费了宝贵时间。大量的数据都表明,游戏运行的大部分时间花费在了渲染上。优化渲染作为提高游戏运行速度,值得更多开发者注意,并且美术人员也需要知道平台和他们通常要绕过的方法的局限性,使他们能够做出有益的、创造性的决定,而不必重做工作。
1. 在制作美术资源时。应该尽量避免使用法线贴图。真正的法线贴图只有在角色上才会使用。避免使用法线贴图可以减少实时渲染的时间,并且也会减少美术资源的制作时间。例如runcool里,贴图大小不超过256*256像素,模型不到处法线和切线,使用洪培关照等。
2. 引擎虽然支持物体板块。但是在碰撞检测方面,不建议玩家引入刚体。自己处理物体的碰撞检测。例如runcool中引入了子空Actor,在程序上实现碰撞的检测。
3. GPU优化,尤其是在移动设备上的GPU,在做alpha测试 (或者在像素着色器里做剪切和丢弃操作)的时候会产生很大的性能开销。如果可能,你应该用alpha混合来代替alpha测试。如果alpha测试不能避免,应该保证可见的进行alpha测试的像素个数是最小值。
4. 纹理压缩。
(1)iOS纹理压缩,有一些图像,尤其是使用iOS/Android pvr格式压缩的纹理,带有透明通道的图片压缩后质量损失较大,根据自己需求使用。在Genesis-3D引擎的编辑器中,集成了此项功能,压缩后图片将会保留原来的后缀名覆盖掉原有图片,建议在发布前再压缩图片。
(2)Android 纹理压缩,所有的Android 设备都能支持OpenGL ES 2.0 ,并因此支持ETC1压缩格式,因此,尽可能使用ETC1作为首选纹理格式。
引擎官方网站:http://www.genesis-3d.com.cn/
官方论坛:http://bbs.9tech.cn/genesis-3d/
官方千人大群:59113309 135439306
YY频道-游戏开发大讲堂(完全免费,定期开课):51735288
Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!