返回介绍

Unity iOS 基础

发布于 2021-06-19 18:03:20 字数 1929 浏览 1101 评论 0 收藏 0

本部分涵盖开始使用 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 元素。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文