Unity iOS 基础

本部分涵盖开始使用 iOS 时最常见也是最重要的问题。

前提条件

我刚刚收到 Apple 的 iPhone 开发人员许可,但是我以前从未开发 iOS,我该怎么做?

:下载 SDK,在 Apple 开发人员网站上启动并运行,设置您的团队、设备和配置文件,我们提供 基本步骤列表,帮助您开始使用。

构建的游戏是否可以在 iPhone 模拟器上运行?

: 不能,但如果使用最新的 SDK,Unity iOS 可以构建到 iPad 模拟器。但是,模拟器本身对 Unity 并不是十分有用,因为它不能模拟所有 iOS 输入或准确模拟在 iPhone/iPad 运行的性能,您应该将运行 Unity 远程应用程序的 iPhone/iPad 作为远程控制,直接在 Unity 内部测试游戏设置。然后,已经准备好测试性能和优化游戏时,可以将其发布至 iOS 设备。

Unity 功能

我该如何使用触摸屏和加速度计?

:在 Unity iOS 安装内部的脚本参考中,您将找到很多类,这些类提供 挂钩,连接到构建应用程序将要使用的设备功能。请参考输入系统页面,了解更多信息。

我现在的粒子系统在 iOS 上运行非常慢,我该怎么做?

:iOS 的填充率 (fillrate) 相对较低。如果粒子效果有多个层次且占据大部分屏幕,那么即使是最简单的着色器 (shader) 也将抹杀 iOS 性能。我们建议您在脱机状态下将粒子效果烘培成纹理序列。然后在运行时,可使用 1-2 粒子通过动画形式显示。这种方法让您使用最少的代价获得相当不错的效果。

我能否使用复杂的物理系统构建游戏?

:iOS 上运算物理仿真代价很高,它需要进行大量浮点数字运算。可能的话应彻底避免使用网格碰撞器 (MeshColliders),但在必要时也可以使用。为了提高性能,可通过编辑 (Edit)->时间 (Time)->固定时间增量 (Fixed Delta Time) 使用较一个低固定帧速率。建议将帧速率限制在 10-30 之间。在使用低物理帧速率时,启用刚体插值可获得更平滑的移动效果。为实现完全流畅的帧速率而不卡机,最好根据游戏在 iOS 上取得的平均帧速率,选用固定的时间增量值。建议 1:1 或一半的帧速率。例如,如果您想要获得 30 fps,则应该使用 15 或 30 fps 的固定帧速率(亦即 0.033 或 0.066)。

我能否在 Unity iOS 访问图库、音乐库或本地 iPod 播放器?

:可以,只要您实现它。Unity iPhone 支持本地插件系统,您可以在这里添加任何需要的功能,包括访问图库、音乐库、iPod 播放器及其他任何 iOS SDK 公开的功能。Unity iOS 不提供 通过 Unity 脚本访问上述功能的 API。

UnityGUI 注意事项

UnityGUI 可以给游戏性能带来哪些影响?

:当使用多种控件时,UnityGUI 相当耗费性能。在游戏运行时,最好将 UnityGUI 的使用限制在游戏菜单或尽量减少使用 GUI 控件。需注意的重要一点是,包含 OnGUI() 调用的脚本对象往往需要更长的处理器时间,即使空 OnGUI() 块也是如此。因此在不使用 GUI 控件时,最好禁用所有包含 OnGUI() 调用的脚本。将脚本标记为 enabled = false 即可。

还有其他 UnityGUI 使用提示吗?

:尽量不要使用 GUI 布局 (GUILayout)。如果在一个 OnGUI() 调用中完全没有使用 GUI 布局 (GUILayout),就可以通过 MonoBehaviour.useGUILayout = false; 禁用所有 GUI 布局 (GUILayout) 渲染。这项设置能双倍提高 GUI 渲染性能。最后,渲染三维场景时要尽量少使用 GUI 元素。

Page last updated: 2013-06-28