
将高端游戏移植到 Mac、iPad 和 iPhone
借助游戏移植工具包 3,你可以轻而易举地将游戏移植到 Mac、iPad 和 iPhone 上的统一游戏平台。充分利用提升后的兼容性、扩展版指南和新版工具。
轻松入门
- 在 Windows 游戏评估环境中运行 Windows 二进制文件以获取基准性能评估,并验证着色器能够正确转换。现在你可以使用 Metal 性能 HUD、Metal 调试器和 Metal System Trace 等 Metal 工具,更进一步地进行游戏评估。
- 查看《人机界面指南》,了解如何在 Mac、iPhone 和 iPad 上提供出色的体验。
- 利用适用于 Windows 的 Mac 远程开发者工具,从 PC 上的 Microsoft Visual Studio 中远程构建和调试 macOS 上的游戏。
- 使用游戏移植示例代码,了解如何将游戏子系统映射到 Apple 框架。Metal 着色器转换器能帮助你把 HLSL 着色器转换成可在 Metal 中使用的格式。如果你熟练掌握 C++,Metal-cpp 能为你提供熟悉的界面来启用 Metal 框架。
了解工具包的用途
无论你是要制作新的跨平台游戏还是移植现有游戏,游戏移植工具包 3 都是将游戏移植到 Apple 设备的最佳方式。

评估 Windows 内容在 Apple 芯片上的可执行情况
要了解你的游戏在 Apple 芯片上表现如何或者图形代码是否可移植,请使用 Windows 游戏评估环境对未修改的 Windows 内容在 Apple 芯片上的可执行情况进行评估。你可以测试游戏、了解游戏性能,还可以验证着色器。
最新版本支持:
- 稀疏缓冲区
- 稀疏纹理
- Windows 游戏的性能洞察
- 对优化放大、去噪和帧生成的实验性支持
你甚至可以使用 Metal HUD、Metal GPU 捕捉和 Metal System Trace 等工具,在评估阶段就开始对游戏进行调试和性能分析。当你使用社区项目 (例如 Homebrew) 和产品 (例如 CodeWeavers 的 CrossOver) 时,你还可以通过更多方法尝试这一评估环境。要进一步了解,请观看将高端游戏移植到 Apple 平台。

针对 Apple 设备设计游戏
玩家会期望游戏能完美契合自己的设备。《人机界面指南》的扩展部分重点介绍如何设计游戏让玩家获得更多乐趣,并使他们流连忘返。获取各个重要主题的详细信息,包括如何为全屏游戏内容提供最佳支持,如何设计玩家喜爱的屏幕虚拟控制等等。

从游戏移植代码示例中学习
这些示例基于我们与开发者合作过程中所获得的经验,通过合作,开发者将他们的高端游戏成功迁移到 Mac、iPad 和 iPhone 上。你将学习基本步骤,例如如何转换 Windows 显示、输入和音频 API,以及如何实现着色器的一次构建、多处部署。
在 Mac 上构建并运行,然后部署到 iPad 和 iPhone
现在你可以更轻松地从 Mac 部署到 iPad 和 iPhone,游戏移植代码示例将引导你完成针对这些设备构建游戏的过程。

将着色器代码转换到 Metal
在移植游戏资源时,你可以使用 Metal 着色器转换器将 DirectX Intermediate Language (DXIL) 转换为可直接在搭载 Apple 芯片的 Mac、iPad 和 iPhone 上使用的 Metal 资料库,从而节省时间。最新版本的工具增加了对多项 Metal 功能的支持,包括帧缓冲区提取、函数常量和新的相交函数缓冲区。借助调试信息支持,现在你可以使用 Xcode 中的 Metal 工具对转换后的着色器进行调试、分析和验证。

C++ 与 Metal 搭配使用
采用 Metal 时,可以利用你的渲染团队具备的 C++ 经验和知识。借助 Metal-cpp,你可以从 C++ 访问完整的 Metal 和 MetalFX API,并且相较于调用 Metal Objective-C 头文件,无显著开销。

使用现有的构建基础架构
如果你有 Windows 资源创建管道,适用于 Windows 的 Metal 开发者工具允许你使用现有的基础架构为 Apple 设备构建资源。使用 Metal 编译器和离线二进制文件生成器为 Apple GPU 编译及定制图形和计算着色器,并使用 Metal 纹理转换器将纹理转换为 Metal 支持的格式。

从 Visual Studio 中远程生成
使用适用于 Windows 的 Mac 远程开发者工具 来设置 Mac 以用于远程项目构建和调试,从而节省时间并简化跨平台开发。此工具可让你可以从目标 Mac 上的 Microsoft Visual Studio 中构建基于 CMake 的项目,从而帮助你启动游戏移植,并在以 Apple 平台为目标的跨平台项目中尽早发现移植错误。