news 2026/10/12 9:43:29

Infernux 多平台构建指南:一套代码发布 Windows、Linux、Android 与 Web

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Infernux 多平台构建指南:一套代码发布 Windows、Linux、Android 与 Web
  • 游戏开发
  • 图形学
  • 3D渲染

【免费下载链接】Infernux

Building a Neural Network-Native Engine (3N). Python authoring, C++ runtime, Vulkan/WebGPU. Windows, Linux, Android and Web.

项目地址:https://gitcode.com/gh_mirrors/in/Infernux
点击查看免费下载

Infernux 是一款 Python 创作、C++ 运行时、Vulkan/WebGPU 渲染的开源游戏引擎,支持将一套代码发布到 Windows、Linux、Android 与 Web 四大目标。本多平台构建指南带你从克隆仓库开始,一步步走通引擎构建与 Player 导出流程。

🗺️ 先看平台支持矩阵:谁有编辑器,谁有 Player

在动手之前,先明确各平台的角色定位——这决定了你要构建什么、在哪个机器上构建:

目标平台编辑器玩家(Player)图形后端
Windows x64✅ 有✅Vulkan
Linux x86_64✅ 有✅Vulkan
Android arm64 / x86_64❌ 无APK / AABVulkan
Web❌ 无HTML / JS / WASMWebGPU

💡 macOS、原生 iOS 与 Headless Player 包目前不在支持范围内,完整矩阵见 docs/platform-support.json 和 SUPPORT.md。

编辑器的样子——一个真实场景,65,536 个 GameObject 的体素大陆:

Vulkan(桌面/Android)与 WebGPU(浏览器)共享同一套引擎侧渲染接口,渲染语义在不同平台间保持一致:

📦 第一步:克隆仓库并准备 Conda 环境

四个平台共用同一个 Conda 环境定义(Python 3.13,cp313ABI)。CMake 会严格校验 Python 版本,防止构建出与发布版不兼容的 wheel,所以请直接用官方 setup 脚本初始化环境:

git clone --recurse-submodules https://gitcode.com/gh_mirrors/in/Infernux cd Infernux

仓库内置了各平台的构建预设,入口是 CMakePresets.json,按主机系统自动加载 cmake/presets/Windows.json、cmake/presets/Linux.json 与 cmake/presets/Android.json——你不需要手写任何 CMake 参数。

🪟 Windows 构建步骤:四行命令跑起编辑器

前置要求:Visual Studio 2022(MSVC v143 工具集)、CMake 3.25+、Vulkan SDK。

# 1. 初始化子模块并创建/修复 infernux Conda 环境 ./scripts/setup/configure_development.ps1 conda activate infernux # 2. 配置 Release 构建(Visual Studio 17 2022 生成器,x64) cmake --preset windows-msvc-release # 3. 编译引擎运行时 + Python 扩展 cmake --build --preset windows-msvc-release # 4. 打包并安装 Python wheel cmake --build --preset windows-msvc-install-wheel # 5. 启动编辑器 Hub python packaging/launcher.py

日常开发可改用windows-msvc-dev预设(RelWithDebInfo,带调试信息)。完整预设清单见 cmake/presets/Windows.json。

🐧 Linux 构建步骤:Clang + Ninja 交叉零配置

在 Ubuntu / Debian 上先装一次系统依赖,再走与 Windows 几乎镜像的流程:

# 1. 安装系统级依赖(clang、lld、pkg-config 等) scripts/setup/install_linux_dependencies.sh # 2. 初始化子模块 + 创建 infernux 环境 bash scripts/setup/configure_development.sh conda activate infernux # 3. 配置(Ninja 生成器,clang/clang++,lld 链接器) cmake --preset linux-clang-release # 4. 编译 cmake --build --preset linux-clang-release # 5. 安装 wheel cmake --build --preset linux-clang-install-wheel

Linux 预设的关键变量(Ninja + clang +INFERNUX_BUILD_PLAYER_HOST=ON)统一收敛在 cmake/presets/Linux.json 的linux-base中,无需逐条传递。

📱 Android 交叉构建:NDK 生成 APK

Android没有编辑器,在 Windows 或 Linux 主机上交叉构建。预设中已固化了全部关键参数(见 cmake/presets/Android.json):

  • NDK 工具链文件(android.toolchain.cmake,NDK 29)
  • ANDROID_ABI=arm64-v8a、ANDROID_PLATFORM=android-26
  • 目标设备专用的 Python 3.13 运行时路径
# 需要预先设置 ANDROID_SDK_ROOT 指向 Android SDK cmake --preset android-arm64-release cmake --build --preset android-arm64-player

⚠️ 交叉构建前需先准备 Android 目标 Python 运行时,可用 scripts/setup/build_android_python_runtime.sh 完成;InfernuxHub 也会统一管理共享的 Android 工具链。

🌐 Web 构建:WASM 编译 + WebGPU 跑进浏览器

Web 目标是web-wasm32,产物为 HTML/JS/WASM,运行时通过 WebGPU 呈现。构建前先准备 Web 工具链(Emscripten / Dawn 相关依赖):

scripts/setup/build_web_toolchain.sh

之后即可通过编辑器内导出或 CI 流程构建web-wasm32目标。浏览器侧能力(compute、Python 扩展)与桌面不同,但平台准备工作由引擎的平台插件负责,你的游戏项目代码无需改动——这正是"一套代码"的关键。

🚀 从编辑器到 Player:平台插件一键导出

桌面端构建引擎后,日常发布工作都发生在编辑器内部:

  1. 打开构建设置面板(python/Infernux/engine/ui/build_settings_panel.py),选择构建目标:windows-x64、linux-x64、android-arm64、web-wasm32;
  2. Android 目标还可选择APK 或 AAB产物形态;
  3. 对应平台插件(external/plugins/plugins.json 中的infernux/platform-android、infernux/platform-web等platform_build类插件)声明构建选项并提供运行时载荷;
  4. 点击构建后,python/Infernux/engine/game_builder.py 中的GameBuilder会完成资产烘焙(cook)、GUID 资产索引打包(InxPack)与输出目录事务写入——导出的 Player 自带运行时组件与烘焙资产,不再依赖编辑器工程结构。

这就是构建成果在真实 Player 中的样子——GPU 金币粒子特效实机渲染:

📂 构建产物都放在哪?

Infernux 对生成物有唯一的规范位置,别自建build-*目录:

目录用途
out/build/<preset>/CMake 配置与构建树
out/stage/<preset>/可丢弃的 wheel / Hub 装配树
dist/releases/<version>/最终可上传的发布产物

需要彻底清理时,运行 scripts/maintenance/clean_workspace.ps1(支持-WhatIf预览),详见 CONTRIBUTING.md。

🛠️ 构建常见问题速查

症状原因与解决
CMake 配置阶段拒绝运行Python 不是 3.13(cp313ABI 强制校验),请用 setup 脚本重建infernux环境
Windows 报缺 Vulkan SDK安装 Vulkan SDK 并重启终端
Linux 链接报错确认已运行install_linux_dependencies.sh(clang/lld/pkg-config)
Android 配置失败检查ANDROID_SDK_ROOT环境变量与 NDK 版本
无 GPU 环境跑测试使用*-headless预设,自动排除requires_vulkan_device标签用例

结语

Infernux 的多平台构建把复杂工作收敛到了三层:CMake Presets 管引擎、平台插件管导出、Hub 管环境与工具链。Windows 与 Linux 上写游戏、Android 与 Web 上运行游戏——一套 Python 创作代码,四种发布形态。现在,就从cmake --preset开始你的第一次构建吧 🎮

  • 游戏开发
  • 图形学
  • 3D渲染

【免费下载链接】Infernux

Building a Neural Network-Native Engine (3N). Python authoring, C++ runtime, Vulkan/WebGPU. Windows, Linux, Android and Web.

项目地址:https://gitcode.com/gh_mirrors/in/Infernux
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 9:42:11

Ridge-RF-LSBoost三模型融合:MATLAB时间序列预测实战

简介&#xff1a;一套基于MATLAB R2025b的Ridge-RF-LSBoost组合模型项目文档&#xff0c;面向具备MATLAB与机器学习基础、从事数据分析、智能预测或工程建模的研发人员、高校师生与技术工程师。内容聚焦电力负荷、可再生能源出力、金融时序、设备状态监测等复杂时间序列预测任务…

作者头像 李华
网站建设 2026/10/12 9:41:26

ChatGPT虚拟角色对话生成:从Prompt设计到剧情评估的实战指南

简介&#xff1a;这份研究文档系统探讨ChatGPT大语言模型在虚拟角色对话生成与情节开发中的实际应用与评估方法&#xff0c;面向游戏策划、虚拟现实开发者、影视编剧及对AI叙事感兴趣的入门与进阶读者。文档从ChatGPT的技术原理入手&#xff0c;解析其基于大规模对话数据预训练…

作者头像 李华
网站建设 2026/10/12 9:41:08

porn-image-detect实战指南:语义边界、轻量化部署与多模态证据链

简介&#xff1a;这是一份轻量级色情图片检测工具&#xff0c;面向Python初学者与图像处理入门开发者&#xff0c;提供基于色彩空间转换的简易实现方案&#xff0c;适用于内容安全审核、教学演示或本地化图像过滤等低复杂度场景。资源包共7个文件&#xff0c;含2个核心Python脚…

作者头像 李华
网站建设 2026/10/12 9:40:18

OpenHarmony从零开发记事本:ArkTS状态管理与数据持久化实战

最近花了一个周末&#xff0c;在 OpenHarmony 上从零写了一个记事本 APP。开始之前&#xff0c;我以为这只是个“列表 输入框 本地存储”的小练习&#xff0c;真动手以后才发现&#xff0c;光是把 ArkTS 的状态管理、Stage 模型的生命周期和数据持久化串起来&#xff0c;就够…

作者头像 李华
网站建设 2026/10/12 9:39:08

计算机视觉学术速递精读:热门方向与大作业选题指南

3月18日的这期"计算机视觉与模式识别学术速递"&#xff0c;我一早就开始读了。做这个方向的人都知道&#xff0c;这类速递最怕的不是内容多&#xff0c;而是不知道从哪下手——CV和PR的论文产出量太大&#xff0c;光图像分类、目标检测、分割、生成模型、多模态这几条…

作者头像 李华
网站建设 2026/10/12 9:39:05

腾讯云VectorDB与大模型RAG实战指南

我无法根据您提供的标题生成符合要求的博文内容。原因如下&#xff1a;标题中涉及的“腾讯云国际站渠道代理商”“TokenHub”“Hy3与Hy4 preview”等表述&#xff0c;目前在公开、合规、可验证的技术生态中无权威出处。腾讯云官方文档、开发者中心、混元&#xff08;HunYuan&am…

作者头像 李华