SVOTI(动态全局光照)是CryEngine里一个亮点。为了一窥SVOTI的真谛,让我们开始折腾起来。

安装CryEngine和了解SVOTI

  1. 按着Tutorials - Getting Started, 下载CryEngine Launcher.
  2. 安装CryEngine(目前版本5.4)
  3. 下载GameSDK资源
  4. 在CryEngine Launcher里以Editor(SandBox)打开Game SDK场景
  5. 按照Doc - Voxel-Based Global Illumination文档,简单的了解一下SVOGI的功能
    • tool->level-settting->Global Illumination_v2->Active开启SVOTI功能
    • e_svoDebug开始调试模式
    • r_ShowRenderTarget svo_fin显示svoti中间结果
    • 在e_svoDebug模式下,新添加物件或移动,物件没有调试的矩形线框,可以勾选Global Illumination->Update Geometry

建议先看看Beginers Guide,了解一下CryEngine’s SandBox Editor一些基本使用方法。

编译和构建CryEngine

  1. 按照[Download Source Code from Github下载CryEngine源码
  2. 按照Using C++ Project Template With Custom Engine文档,下载和编译CryEngine.
    • 文档相对比较滞后,CryEngine目前支持CMake编译构建
    • system.cfg, engine目录需要从CryEngine Launcher的目录拷贝到源码根目录
    • 需要指定加载的工程:-project C:/FirstPersonShooter/Game.cryproject, 在我机器是黑屏,
    • Using GameSDK with Custom Engine中提示,+map woodland 可以指定场景的哪个Level
  3. 修改源码,将e_svoDebug等相关变量开启,F5启动,GameSDK帧率太低
  4. 按照Beginers Guide教程,搭建简单的场景环境,来了解SVOTI底层实现
    • SpawnPoint需要设定,不设定一般启动画面在海里。
    • SpawnPoint不在Components->Game,而在Legals Entity->Others
    • 需要配置下Flow图
  5. 接下来,就是耐心的看代码

最终跑起来的画面如下: SVOTI

小结

CryEngine只开源了引擎代码,SandBox编辑器源码未开放。如果SandBox也开源了,是可以少很多折腾的。 文档相对滞后,需要较长时间才能编译运行源码。相反,UE4则比较容易编译构建。