欢迎光临
我们一直在努力

游戏引擎Flax Engine源码分析(一)综述

2021SC@SDUSC


一、概述

第一篇综述主要介绍我们分析的项目和一些暂定的分工。这个过程将通过项目网站和项目部署的过程进行。

flax Engine是一款开源的轻量级游戏引擎,跨平台支持(Windows、Linux、Android、PS4.Switch、Xbox One、Xbox Series X/S、UWP...),是由游戏开发者为游戏开发者制作的一整套游戏开发工具。

游戏引擎Flax Engine源码分析(一)综述

网站地址:

Flax - Flax Engine

Flax Engine前身是由波兰的Wojtek Figat作为首席开发人员开发的Celelej,目前已更新到Flax1.2版本。Flax1.0于2020年底推出同时开放源代码,有关引擎开发过程的更多内容可到官方网站上自行查看开发博客。

游戏引擎Flax Engine源码分析(一)综述


二、软件

因下载安装Flax Launcher的过程较为简单,不再赘述,以下是安装好后的软件截图:

仅下载Launcher App是无法进行游戏开发的,需要在客户端的Engine界面下载对应版本的Flax Engine。

游戏引擎Flax Engine源码分析(一)综述

编辑器Editor:

游戏引擎Flax Engine源码分析(一)综述


三、项目部署

接下来将介绍项目源码部署过程 。

首先登陆Flax官网,点击GET STARTED NOW:

游戏引擎Flax Engine源码分析(一)综述

进入下载页面,该页面最底部即该项目源码地址,也可点击此处进入GitHub

游戏引擎Flax Engine源码分析(一)综述

下图是项目所在,我们现在主要关注源代码部分:

游戏引擎Flax Engine源码分析(一)综述

点击FlaxEngine进入: 游戏引擎Flax Engine源码分析(一)综述

我们首先看它的README部分,它一般会介绍项目部署的方法和一些注意事项。因此,我们在其中看到了Windows系统下部署该项目的方法:

游戏引擎Flax Engine源码分析(一)综述

用于 Visual Studio 的 Flax 插件

Flax Visual Studio 扩展提供更好的编程工作流、C# 脚本调试功能,并允许附加到正在运行的引擎实例以调试 C# 源代码。我们可以直接使用Visual Studio搜索该插件安装。

Windows

  • 安装 Visual Studio 2015 或更新版本
  • 安装 Windows 8.1 SDK 或更新版本
  • 安装 Microsoft Visual C++ 2015 v140 工具集或更新版本(下载安装Visual Studio的过程不在该博客阐述)
  • 克隆源码(使用 LFS)
  • 运行GenerateProjectFiles.bat
  • 打开Flax.sln并将解决方案配置设置为Editor.Development和解决方案平台为Win64
  • 将 Flax (C++) 或 FlaxEngine (C#) 设置为启动项目
  • 编译 Flax 项目(按 F7 或 CTRL+Shift+B)
  • 运行Flax(按 F5 键)

下载安装VS的过程不在该博客阐述,请读者自行搜索其他博客。我将直接从克隆源码仓库开始:

(1)Clone repo

点击右上角的Code,复制URL:

游戏引擎Flax Engine源码分析(一)综述

这里我们注意到上面项目的README.md中Clone repo(with LFS)也就是说,这里我们需要用到Git的大项目管理工具LFS(提到LFS,全称Git Large File Storage,GitHub 限制了存储库中允许的文件大小。要跟踪超出此限制的文件,需要使用 Git Large File Storage),也就是说Flax Engine的源代码大小超过了100MB,Git LFS 具体使用方法可到GitHub文档的存储库/处理文件/管理大文件查看,这里我们不需要管理,仅需要下载编译,使用更简单的方式。

游戏引擎Flax Engine源码分析(一)综述

下载GitHub Desktop,新版本的GitHub Desktop自带LFS,我们将上面复制的源代码下载URL粘贴到此处,接下来就等待项目下载完毕:

游戏引擎Flax Engine源码分析(一)综述

下载完毕: 游戏引擎Flax Engine源码分析(一)综述

(2)运行GenerateProjectFiles.bat

(3)使用VS进行项目编译

在解决方案处找到Flax.sln:

游戏引擎Flax Engine源码分析(一)综述

点击后项目结构变更为(请忽略此处的已忽略标志,因为我更改分支后未重新编译):

游戏引擎Flax Engine源码分析(一)综述

按步骤将解决方案配置设置为Editor.Development和解决方案平台为Win64 ,将 Flax (C++) 或 FlaxEngine (C#) 设置为启动项目:

游戏引擎Flax Engine源码分析(一)综述

点击编译( F7 or CTRL+Shift+B):

游戏引擎Flax Engine源码分析(一)综述

编译完成:

游戏引擎Flax Engine源码分析(一)综述

运行FlaxEngine(C#),因为运行Flax(c++)需要打开具体Flax项目,这里不做演示:

游戏引擎Flax Engine源码分析(一)综述

至此,项目部署完毕。

四、项目结构

我们首先看看官方文档给出的项目结构:

游戏引擎Flax Engine源码分析(一)综述

如下:

工作区目录

  • Binaries/ - 可执行文件
    • Editor/ -Flax Editor二进制文件
    • Tools/ - 工具二进制文件
  • Cache/ - 引擎和工具使用的本地数据缓存文件夹
    • Intermediate/ - 引擎构建的中间文件和缓存
      • ProjectName / - 每个项目的构建缓存数据
      • Deps/ - Flax.Build 依赖项构建缓存
    • Projects/ - 项目文件位置
  • Content/ - 引擎和编辑器使用的资产和二进制文件
  • Development/ - 引擎开发文件
    • Scripts/ - 实用程序脚本
  • packages/ - Nuget 包缓存位置
  • Source/ - 源代码涂层
    • Editor/ - Flax 编辑器源代码
    • Engine/ - Flax 引擎源代码
    • Platforms/ - 每个平台的源和依赖文件
      • DotNet/ - C# 依赖项
      • Editor/ -亚麻编辑器二进制文件
      • PlatformName / - 每个平台的文件
        • Binaries/ - 每个平台的二进制文件
          • Game/ - 亚麻游戏二进制文件
          • Mono/ - Mono 运行时文件和数据
          • ThirdParty/ - 预构建第三方二进制文件
    • Shaders/ - 着色器源代码
    • ThirdParty/ - 第三方源代码
    • Tools/ - 开发工具源代码

再来看一下我们编译之后的目录:

游戏引擎Flax Engine源码分析(一)综述

这里将c++代码和c#代码分离了,具体原因和区别我暂时不清楚,不过也能明显看到一些第三方工具和平台支持是使用c++。

接下来是引擎的目录结构:

游戏引擎Flax Engine源码分析(一)综述

接下来我的工作是分析引擎渲染部分的代码,也就是Renderer和Render2D的部分,但后续是否会增加其他部分的分析需要根据后续分析的情况而定。

和我同组的其他组员将分析引擎其他一些部分的代码。

以上是这次项目的综述,了解并部署了项目,后续将进行源码的分析阶段,也是学习的过程。

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《游戏引擎Flax Engine源码分析(一)综述》
文章链接:https://www.456zj.com/37488.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址