UDN
Search public documentation:

UnrealOniOSCH
English Translation
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3主页 > 移动设备主页>虚幻引擎3: 移动设备概述 > 虚幻引擎 3: Apple iOS概述

虚幻引擎 3: Apple iOS概述


概述


使用虚幻引擎3开发针对Apple的iOS平台的游戏在很多方面和开发其他移动设备平台上的游戏类似。平台确实有它们自己的一些特点和必须说明的注意事项,但是, 本文档提供了使用虚幻引擎3开发针对iOS设备的游戏的通用概述。

入门指南


使用虚幻引擎3开发针对iOS设备的游戏需要考虑一些特殊的要求、流程及注意事项。比如设置构建针对iOS设备的开发环境,测试、打包及部署在iOS设备上运行的虚幻项目的一般流程。

请参照入门指南: iOS开发页面获得关于开始创建并运行针对iOS设备的游戏的详细信息。

Gamma校正


从 2011 年 6 月起

iOS设备上支持Gamma校正,从而使得关卡创建和内容创建在不同平台上保持一致的光照效果。

mobile_gamma_results.jpg

启用Gamma 校正

默认情况下不会启用移动设备平台上的 Gamma 校正。要利用移动设备游戏的 gamma 校正,请启用您的地图的 World Properties(世界属性) 中的 Use Gamma Correction(使用 Gamma 校正) 属性。

gamma_enabled.jpg

性能注意事项

移动设备上的 Gamma 校正可能会对性能产生非常明显的影响。它主要指的是一种可以在以后的移动设备上使用的功能。当前。iPad 2 是唯一一种真正可以使用 gamma 校正运行游戏的设备。

VGA输出


引擎通过使用VGA Dock Adapter 支持基本的VGA输出。它将通过VGA显示3D视图,有以下注意事项:

  • 您必须在命令行上使用-vga运行游戏。
  • 您必须在游戏启动之前连接VGA转接器。
  • 它查找VGA设备获得所支持的分辨率,并选择最高的最高分辨率,其宽度不高于1024(该宽度通常用于匹配iPad的分辨率1024x768) 。
  • 加载 屏幕/视频 通常看上去是不正确的。
  • 触摸输入是在设备上固体的粉红色区域完成的。但是,目前没有输入位置的重新映射,所以如果分辨率选为640x480,您将需要使用粉红色区域左上角的640x480部分的区域。

通过iOS设置应用程序进行命令行设置


引擎支持通过iOS中的外部设置应用程序(这是设置WiFi、声音、飞机模式等的标准的设置地方)中的开关和字符串来修改游戏的命令行。这些设置在Settings.bundle目录中的Root.plist文件中指定:

   //depot/UnrealEngine3/UDKGame/Build/IPhone/Resources/Settings/Settings.bundle/Root.plist
   //depot/UnrealEngine3/UDKGame/Build/IPhone/Resources/Settings/Distro_Settings.bundle/Root.plist

这些是您在Settings(设置)中看到的东西:

SettingsOuter.png SettingsInner.png

一般,这些设置用于调试,而且您应该不想随同您的游戏发行它们。Distro_Settings.bundle将会在制作发布版本时使用(发行版本)。如果您不想在Settings应用程序中显示所有信息,那么简单地删除Distro_Settings.bundle目录即可。当制作发布版本时它将 不会 回滚到 Settings.bundle,它将进使用Distro_Settings.bundle。

Root.plist文件已经进行了文档化, 但是对于那里的UE3命令行,您需要知道如何指定放到命令行上的东西。这里是我们使用的两个示例设置:

  <dict>
    <key>Type</key>
    <string>PSToggleSwitchSpecifier</string>
    <key>Title</key>
    <string>Benchmarking?</string>
    <key>Key</key>
    <string>-benchmark</string>
    <key>DefaultValue</key>
    <false/>
  </dict>
  <dict>
    <key>Type</key>
    <string>PSTextFieldSpecifier</string>
    <key>Title</key>
    <string>Benchmark seconds</string>
    <key>Key</key>
    <string>-benchmarkseconds=</string>
    <key>KeyboardType</key>
    <string>NumberPad</string>
  </dict>

有很多项需要设置,每项占两行,<key(关键信息)>在第一行,然后第二行依赖于那个关键信息。现在我们详细介绍它们:

  • Type(类型) - 这是设置的类型。PSToggleSwitchSpecifier 是一个 On/Off(打开/关闭) 开关,PSTextFieldSpecifier是个文本框。
  • Title(名称) - 这是显示给用户的信息 (如果它太长,文本域将没有太大的空间来显示这些文本)。
  • Key(关键信息) - 这是最重要的信息。这个信息将会放到命令行上。它必须以 -= 或 ? 开头。对于Toggles(切换开关),如果Toggle设置为On(打开),那么将会把Key(关键信息)放到命令行上。对于TextFields(文本域),如果文本不为空,那么将会把那个Key(关键信息)放到命令行上,后面跟着用户输入的文本。
  • DefaultValue(默认值) - 您可以把设置的值初始化为您期望的任何值。
  • KeyboardType(键盘类型) - 使用的键盘类型。请参照这些文档获得关于TextFields(文本域)的更多信息。

您也应该可以使用Slider(滑块)和MultiValue(多值)类型,尽管我们还没有测试这些类型。不论设置的类型是什么,代码都将简单地获取设置的字符串值。请参照 main.mm获得关于代码如何处理这个问题的信息。

设置应用程序的非命令行应用


您也可以暴露在Settings.bundle文件这里描述的相同的设置。如果您使用PSGroupSpecifier创建一个新组,然后使用不以 - 或 ?开头的Keys(关键信息)创建更多设置,那么您可以使用"mobile LoadSetting "控制台命令来获得值(通过使用在Root.plist文件中指定的大小写敏感的Key)。

版本字符串


Version.png

当UnrealFrontend打包iOS应用程序包时,它为引擎的每个版本和iOS可执行文件的编译日期添加了一个 键/值 对。这个key(键)称为EpicAppVersion。这个值显示在非-发行版本上。但是,您可以强制设置它的显示状态的开关情况。 正如在UDKGame的UDKGame's Config\Mobile\MobileEngine.ini中所看到的那样,通过Engine.ini文件来实现这个处理:

[Build.Version]
bForceShowAppVersion=False
bForceHideAppVersion=False

Game Center(游戏中心)


iOS上的虚幻引擎3通过Game Center支持多玩家和成就。请参照Game Center(游戏中心)文档获得关于如何设置及使用这些功能的信息。

iAds


在iOS平台上的虚幻引擎3中提供了通过Apple的iAd网络在游戏中显示广告的支持。请参照 游戏中的广告 页面获得关于如何在您的游戏中使用广告的详细信息。