MIT 许可证 NuGet

首页 / 文档 / 环境要求

环境要求与安装

一个 SDK、一次克隆、一条 dotnet run。没有需要安装的启动器, 没有需要注册的编辑器,也没有需要预热的资产管线。

你需要什么

目标你需要
所有目标.NET 10 SDK。引擎与示例项目都将 LangVersion 设置为 preview。
WindowsWindows 10 build 19041 或更新版本、一块 Direct3D 12 GPU,以及 .NET MAUI / Windows App SDK 工作负载。
LinuxVulkan 1.2 驱动与加载器(libvulkan1)。纯 net10.0 — 无需 MAUI 工作负载。
AndroidAPI level 33 或更新版本且带 Vulkan 驱动,外加 android 工作负载。
iOS / Mac CatalystXcode 与对应的 .NET 工作负载。示例应用目标为 17.0;引擎库本身支持 15.0。
Web启用 WebGPU 的浏览器,外加 wasm-tools 工作负载。

桌面与移动端共享一个项目文件,因为应用项目是 MAUI 单项目(UseMaui 加 SingleProject)。只有入口点因平台而异, 而且每个入口点都只有几行 — 参见 平台入口点。

引擎库不是 MAUI

Season.csproj 仅为移动端与 Windows 目标框架设置 UseMaui。Linux 目标是纯 net10.0, Web 目标是 net10.0-browser;两者都不引入 MAUI。 MAUI 只被用作需要的平台上的打包与生命周期宿主,而不是 UI 框架 — 引擎自己绘制每一个像素。

运行参考应用

确认你的机器已就绪的最快方式,就是运行那个同时驱动每一个子系统的应用。

git clone https://github.com/SeasonRealms/SeasonEngine.git
cd SeasonEngine

# Windows, Direct3D 12
dotnet run --project Apps/Engine/Engine.csproj -f net10.0-windows10.0.19041.0

# Linux, Vulkan
dotnet run --project Apps/Engine/Engine.csproj -f net10.0

# Web, WebGPU - the ASP.NET host serves the Blazor WebAssembly client
dotnet run --project Apps/EngineWeb/EngineWeb.csproj
项目它是什么
Apps/Engine3D 参考应用。多目标 Linux、Android、iOS、Mac Catalyst,以及在 Windows 主机上的 — Windows。
Apps/EngineWasm同一个应用作为 Blazor WebAssembly 客户端(net10.0;net10.0-browser)。
Apps/EngineWeb托管 WebAssembly 客户端的 ASP.NET 宿主。这才是你要运行的那个。
Samples/Creator基于同一套控件的 2D 应用,拥有同样的三项目结构(Creator、CreatorWasm、CreatorWeb)。

Samples/Creator 是更轻量的那个:没有 3D 场景挡路, 所以面板与布局模型更容易看清。在 Windows 上你也可以安装 Microsoft Store 版本, 完全跳过工具链 — 参见 下载。

把引擎添加到你的项目

包在 NuGet 上,MIT 许可证:

dotnet add package SeasonEngine

或者从克隆中引用引擎项目,仓库里每个示例都是这么做的:

<ProjectReference Include="..\..\Season\Season.csproj" />
暂时优先使用项目引用

包版本仍处于 0.x 区间,API 仍在变动。项目引用只花你一行, 却换来了阅读任何让你惊讶的实现细节的能力。引擎类型上的 XML 文档异常详细 — 它记录了决策是为什么做出的,而不仅仅是一个成员做什么 — 本站上好几处犀利的解释都直接摘自其中。

你的项目需要与示例相同的多目标结构。与其从零组装, 不如复制 Samples/Creator/Creator.csproj:它是仓库里 最小的完整多目标项目文件,而且已经包含 项目布局中描述的资产项组与 Linux include/exclude 目标。