FlaxEngine/FlaxEngine

GitHub: FlaxEngine/FlaxEngine

Flax Engine 是一款基于 C++ 和 C# 的开源跨平台 3D 游戏引擎,提供高质量渲染和快速开发工作流。

Stars: 6912 | Forks: 703

Flax Engine

Flax Engine 是一款使用 C++ 和 C# 编写的高质量现代 3D 游戏引擎。 从令人惊叹的图形到强大的脚本,它专为快速的工作流而设计,现已提供许多随时可用的功能供您体验。欲了解更多信息,请访问官方网站([www.flaxengine.com](https://flaxengine.com))。 此仓库包含 Flax Engine 的完整源代码(不包括受 NDA 保护的平台支持)。文档源代码也可以在单独的仓库中找到。欢迎任何人为其贡献代码,或在基于 Flax 的游戏中使用修改后的源代码。 # 开发 * [主页](https://flaxengine.com) * [开发博客](https://flaxengine.com/blog) * [文档](https://docs.flaxengine.com) * [论坛](https://forum.flaxengine.com) * [路线图](https://trello.com/b/NQjLXRCP/flax-roadmap) # 截图 ![PBR 渲染和全局光照](Development/Images/flax-pic-2.jpg "PBR Rendering and Global Illumination") ![渲染](Development/Images/flax-pic-1.jpg "Rendering") ![高性能](Development/Images/flax-pic-3.jpg "High Performance") # 开始使用 请按照以下说明从源代码编译并运行引擎。 ## Windows * 安装 Visual Studio 2022 或更新版本 * 安装 Windows 8.1 SDK 或更新版本(通过 Visual Studio Installer) * 安装 Microsoft Visual C++ 2015 v140 工具集或更新版本(通过 Visual Studio Installer) * 为 **Windows x64** 安装 .NET 8 SDK(或更新版本)(通过 Visual Studio Installer 或[从网络获取](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)) * 安装带有 LFS 的 Git * 克隆仓库(带有 LFS) * 运行 **GenerateProjectFiles.bat** * 打开 `Flax.sln` 并将解决方案配置设置为 **Editor.Development**,将解决方案平台设置为 **Win64** * 将 Flax (C++) 或 FlaxEngine (C#) 设置为启动项目 * 编译 Flax 项目(按 F7 或 CTRL+Shift+B) * 可选:将调试类型设置为 **Managed Only (.NET Core)** 以仅调试 C#,或设置为 **Mixed (.NET Core)** 以同时调试 C++ 和 C# * 运行 Flax(按 F5 键) ## Linux * 安装 Visual Studio Code * 安装 .NET 8 或 9 SDK([https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)) * Ubuntu: `sudo apt install dotnet-sdk-8.0` * Fedora: `sudo dnf install dotnet-sdk-8.0` * Arch: `sudo pacman -S dotnet-sdk-8.0 dotnet-runtime-8.0 dotnet-targeting-pack-8.0 dotnet-host` * 安装 Vulkan SDK([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/)) * Ubuntu: `sudo apt install vulkan-sdk`(已弃用,请遵循官方文档) * Fedora: `sudo dnf install vulkan-headers vulkan-tools vulkan-validation-layers` * Arch: `sudo pacman -S vulkan-headers vulkan-tools vulkan-validation-layers` * 安装带有 LFS 的 Git * Ubuntu: `sudo apt-get install git git-lfs` * Arch: `sudo pacman -S git git-lfs` * `git-lfs install` * 安装必需的依赖包: * Ubuntu: `sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev zlib1g-dev` * Fedora: `sudo dnf install libX11-devel libXcursor-devel libXinerama-devel ghc-zlib-devel` * Arch: `sudo pacman -S base-devel libx11 libxcursor libxinerama zlib` * 安装 Clang 编译器(版本 14 或更高): * Ubuntu: `sudo apt-get install clang lldb lld` * Fedora: `sudo dnf install clang llvm lldb lld` * Arch: `sudo pacman -S clang lldb lld` * 克隆仓库(带有 LFS) * git-lfs clone https://github.com/FlaxEngine/FlaxEngine.git * 运行 `./GenerateProjectFiles.sh` * 使用 Visual Code 打开工作区 * 构建并运行(配置和任务名为 `Flax|Editor.Linux.Development|x64`) ## Mac * 安装 XCode 16.4(或更新版本) * 安装 .NET 8 SDK(或更新版本)([https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)) * 安装 Vulkan SDK([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/)) * 克隆仓库(带有 LFS) * 运行 `GenerateProjectFiles.command` * 使用 XCode 或 Visual Studio Code 打开工作区 * 构建并运行(配置 `Editor.Mac.Development`) #### 故障排除 * `Could not execute because the specified command or file was not found.` 重启电脑 - 确保 DotNet 已添加到 PATH 中以便执行命令行工具。 * `Microsoft.NET.TargetFrameworkInference.targets(141,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 8.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 8.0` 使用 Visual Studio 2022,.NET SDK 8 不支持旧版本。 * `Building for Windows without Vulkan rendering backend (Vulkan SDK is missing)` 安装 Vulkan SDK,然后在运行 GenerateProjectFiles.bat 之前设置环境变量以提供 SDK 的路径:`set VULKAN_SDK=%sdk_path%`。 * `The NuGetSdkResolver did not resolve this SDK` 在 Visual Studio 组件中安装 `.NET SDK`、`NuGet package manager` 和 `NuGet targets and build tasks`。 ## 工作区目录 - **Binaries/** - 可执行文件 - **Editor/** - Flax Editor 二进制文件 - **Tools/** - 工具二进制文件 - **Cache/** - 引擎和工具使用的本地数据缓存文件夹 - **Intermediate/** - 用于引擎构建的中间文件和缓存 - ***ProjectName*/** - 各项目的构建缓存数据 - **Deps/** - Flax.Build 依赖构建缓存 - **Projects/** - 项目文件位置 - **Content/** - 引擎和编辑器使用的资产和二进制文件 - **Development/** - 引擎开发文件 - **Scripts/** - 实用脚本 - **Source/** - 源代码位置 - **Editor/** - Flax Editor 源代码 - **Engine/** - Flax Engine 源代码 - **Platforms/** - 各平台的源代码和依赖文件 - **DotNet/** - C# 依赖项 - **Editor/** - Flax Editor 二进制文件 - ***PlatformName*/** - 各平台文件 - **Binaries/** - 各平台二进制文件 - **Game/** - Flax Game 二进制文件 - **ThirdParty/** - 预构建的第三方二进制文件 - **Shaders/** - shader 源代码 - **ThirdParty/** - 第三方源代码 - **Tools/** - 开发工具源代码 # 许可与贡献 使用 Flax 源代码受 Flax Engine 最终用户许可协议的严格管辖。如果您不同意这些不时修订的条款,则不允许您访问或使用 Flax Engine。 我们欢迎通过 GitHub 上的 Pull Request 为 Flax Engine 的开发做出任何贡献。我们大部分的活跃开发都在 master 分支中进行,因此我们更倾向于在那里接受 Pull Request(尤其是对于新功能)。我们会努力确保所有新代码都符合 Flax 的编码标准。所有贡献均受 [EULA](https://flaxengine.com/licensing/) 条款的约束。 ## SAST 工具 [PVS-Studio](https://pvs-studio.com/en/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - 用于 C、C++、C# 和 Java 代码的静态分析器。
标签:3D渲染, C++, 数据擦除, 游戏引擎