# 把 GameCube 游戏移植到 PC

> 在 Summer Engine 里重建一款你拥有的 GameCube 游戏并导出桌面构建。一套主机操作方案得学会键盘和鼠标。

- URL: https://www.summerengine.com/zh/port-gamecube-game-to-pc
- Keyword: 移植 gamecube 游戏到 pc
- Related: https://www.summerengine.com/zh/porting

把 GameCube 游戏移植到 PC，意思是在 Summer Engine 里重建一款你拥有的游戏，并导出 Windows、macOS 和 Linux 构建。不需要商店审批，所以排期由重建本身决定，而不是由平台方决定。

GameCube 游戏带来一个扎实的基础：3D 内容、一套手柄操作方案，而且往往以每秒 60 帧为目标。它没带来的是关于键盘、鼠标、可调大小窗口或设置菜单的任何概念。

有特色的转换点在于：带段落感的模拟扳机、行程很短的 C 摇杆、带过扫描边距的 4 比 3 电视取景，以及按块数受限的记忆卡存档。每一项单看都很小，每一项你跳过都会被察觉。

## 教一套主机方案使用键盘和鼠标

GameCube 的布局稍作调整就能映射到现代手柄，所以真正新增的工作是键盘和鼠标。模拟扳机的数值要变成带修饰键的按键，或者带阈值的鼠标键，而 C 摇杆变成鼠标视角，附带灵敏度和反转设置。给每个操作一个合理的默认按键，并支持完整改键。检测当前使用的设备并切换按键提示，因为玩家在用鼠标时屏幕上却显示手柄图标，是主机转 PC 移植里被反馈最多的问题。

## 显示、取景与设置菜单

加上分辨率选择、窗口化、无边框和独占全屏、垂直同步、帧率上限、画质预设和界面缩放选项。相对 480p 原作，提升渲染分辨率、贴图质量、阴影贴图尺寸、过滤和绘制距离。然后有意识地处理画面比例：带过扫描安全边距的 4 比 3 构图，在拉宽到 16 比 9 时会露出多余的场景，所以要检查演出揭示、过场取景和竞技场布局。为沙发距离的电视设计的界面，需要按书桌距离的显示器重做。

## 存档、文件路径与三个操作系统

把记忆卡块数换成真正的存档文件，写进各平台的按用户数据位置：Windows 上的 AppData，macOS 上的 Application Support，Linux 上的 XDG 数据目录。绝不要写在可执行文件旁边，因为装进受保护目录后，那里对普通用户是只读的。补上当年因块数限制而做不了的东西：自动保存、多存档位，以及能完整恢复现场的存档内容。如果你在商店之外分发 macOS 版本，还需要做公证，以避免 Gatekeeper 警告。

## 可变硬件上的帧率与时序

主机硬件是固定的，所以原始代码可以假定一个刷新率。PC 硬件不是，玩家用的显示器有 60、144 和 240 赫兹。把按帧计数的数值换成按时间计的，使用固定的物理时间步长，并让渲染与模拟解耦，这样一台快机器不会改变玩法速度。在不限帧率下测，也在一台弱机器上以 30 帧测，因为两端都会冒出问题，而其中只有一端会在你的开发机上出现。

## FAQ

### 我能把 GameCube 游戏移植到 PC 吗？

可以，前提是游戏归你或你持有授权。你在现代引擎里重建它并导出桌面构建。Summer Engine 能从对原作的一段描述生成可玩场景，让你用 C++、GDScript 或 C# 编辑，并导出 Windows、macOS 和 Linux 版本。

### 模拟扳机在键盘上怎么处理？

它需要一个设计过的映射，而不是直接对应。半按可以变成一个按键或鼠标键，按到底的那一下可以是同一输入加修饰键，或者第二个按键，并配上清晰的画面或音效反馈，好让玩家分得清两种状态。

### C 摇杆映射到鼠标视角吗？

是的，而且通常会让游戏更好。C 摇杆很小、行程很短，所以为它调的镜头速度，在鼠标或现代右摇杆上会显得很慢。重新调整灵敏度，并提供一个滑条和一个反转选项。

### GameCube 移植在 PC 上该把存档放哪？

放在各系统的按用户应用数据目录：Windows 上的 AppData，macOS 上的 Application Support，Linux 上的 XDG 数据目录。补上自动保存和多存档位，因为当年限制它们的是记忆卡块数，而不是设计取舍。

### 为什么主机上的时序到 PC 就坏了？

因为主机硬件固定，而 PC 硬件不固定。按恒定帧率写的逻辑，在不同机器和刷新率上会跑得更快或更慢。把按帧计数的数值换成按时间计的，使用固定物理时间步长，并在不限帧率和低帧率两种情况下都做测试。

[开始你的 PC 移植](https://www.summerengine.com/zh/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api