在 Hugging Face Spaces 上托管 Unity 游戏

Hugging Face Spaces 虽然主要面向机器学习演示,但也可以用于托管和分享可玩的 Unity 游戏。这是通过利用 Static HTML 模板和 Unity 的 WebGL 构建功能实现的。

Unity 游戏的部署工作流

在 Hugging Face Spaces 上托管 Unity 游戏需要特定的构建和上传流程,以确保游戏在网页浏览器中正确渲染。

Space 配置与本地设置

首先,用户必须在 Hugging Face 上创建一个新的 Space 并选择 Static HTML 模板。Space 创建后,应使用 Git 将其克隆到本地机器:

git clone https://huggingface.co/spaces/{your-username}/{your-space-name}

Unity 构建设置

要使 Unity 项目兼容 Hugging Face Spaces,需要在 Unity 编辑器中进行以下配置更改:

  • Build Target(构建目标): 前往 File > Build Settings 并将目标平台切换为 WebGL
  • Compression Format(压缩格式):Player Settings 面板的 Publishing Settings 部分,将 Compression Format 设置为 Disabled

可选的视觉自定义

Hugging Face 提供了专用的 Unity WebGL 模板 来提升游戏在 Space 中的外观。使用时,将该仓库添加到项目文件中,并在 Player Settings > Resolution and Presentation 中选择该模板。

上传构建文件

项目构建为 WebGL 后,需要将构建文件夹中的生成文件复制到克隆的 Space 仓库中。由于 Unity 构建文件可能很大,必须启用 Git Large File Storage (LFS) 来跟踪构建目录:

git lfs install
git lfs track Build/*

最后,使用标准的 Git 命令(git addgit commitgit push)将更改推送到 Hugging Face 仓库。

Space 中的 Unity 游戏示例

多个项目展示了此托管方法的可行性,包括:

  • Huggy:在 Spaces 上托管的可玩演示。
  • Farming Game:基于 Unity 的模拟游戏。
  • Unity API Demo:展示 Unity 在该环境中功能的技术演示。

Sources