Cave Engine 1.4.0 - 发布说明!

Uniday Studio
Uniday Studio
March 04, 2026 · 1 min read · Updated May 22, 2026

Cave Engine 1.4 为独立开发者带来了重大改进,包括新的入门系统、更好的项目模板、Blender 风格的摄像机控制、地形性能优化、扩展的 Python API 以及针对 Windows 和 Linux 的数十项稳定性修复。在本次发布说明中,探索所有新功能、编辑器改进、渲染优化和工具,让 Cave Engine 更快、更易用且更强大,助力游戏开发。


大家好,我是 Guilherme,Cave Engine 的主要开发者,我很高兴为大家撰写这篇版本说明。

过去四个月,工作室里异常忙碌,我们在游戏和工具开发上达到了前所未有的进展。Uniday Studio 现在制作的下一个游戏比我们以往做过的任何项目都要复杂,因此引擎发生了很大演变。这次版本说明希望能带你实际感受这些变化。

Cave Engine 1.4是引擎迄今为止最优秀的版本。改进和修复数不胜数,Windows 和 Linux 平台的稳定性显著提升。你可以期待更好的用户体验、更高的性能、更多的工具以及更先进的功能,助你打造游戏。

新功能亮点

接下来我会向你介绍最令人兴奋的功能,让我们直接进入主题吧。


新手引导教程

如果你是新手,1.4 版本真的是体验 Cave 的最佳版本。它集成了入门引导系统,帮助你了解如何测试游戏、修改游戏甚至导出为可运行的程序。我也大幅提升了引擎内教程和文档,令大家的使用更加轻松。

Screenshot_234.png

这正是我努力的方向——不只是制作教程,而是让引擎本身足够简单,根本不需要教程。 :)


全新的项目创建体验

现在在 Cave 中创建新项目更加令人兴奋,带来了很多新特性。

cave-new-project-options.png

我彻底重写了新项目菜单,你可以选择空白项目、第一人称、第三人称或俯视视角的游戏模板。新的游戏模板更稳定、更完整。稍后我会详细介绍。此外,新项目系统还新增了一个随机游戏名生成按钮,当你灵感枯竭时,点击它即可获得一个随机项目名称,激发创意。


新的默认项目资源

创建新项目时,你可以从丰富选项中选择,用默认资源初始化你的游戏。这些资源包括已有的:

  • 主菜单
  • 暂停菜单
  • 第一人称角色控制器
  • 第三人称角色控制器
  • 俯视角色控制器
  • 完整动画原型角色(支持逆向运动学)
  • 生命值条和游戏结束系统
  • 关卡完成和下一关系统
  • 带生成地形的默认场景
  • 默认网格原件(立方体、球体、圆柱体、平面、圆锥体)
  • 默认测试材质
  • 程序化天空贴图(云朵、星星、太阳等)
  • README 文件,说明所有新增内容及扩展方法

现在你还可以获得:

Screenshot_235.png

  • 改进的地形生成,场景内添加的物体将自动贴合地形。
  • 带网格和物理的车辆控制器及模板。
  • 基于 Cave 的状态机系统构建的基础巡逻 AI 敌人模板。
  • 更多默认网格原件,这些为你提供墙壁、门、窗户、楼梯等模块资产。
  • 新增默认“坡道”网格。

众多编辑器 UI 和体验改进

我对编辑器用户界面和整体交互体验做了大量改进。这里先列举主要改进,其他可以自己探索。

新的 UI 元素组件界面

Screenshot_236.png

现在设置 UIElement 的位置、缩放和锚点更加简单直观。我还改进了 Behavior 选项卡。

Python 脚本编辑器改进

当你从资源浏览器打开 Python 脚本时,现在可以在属性选项卡中全屏编辑脚本,省去了多余的窗口切换。这样就在 Cave 编辑器内写代码变得更便捷。

Screenshot_238.png

此外,我们新增了 Inspect 选项卡以查看脚本内容,编辑器工具也有独立标签页,供你注册、重载工具或运行脚本。

Shader 程序编辑器改进

类似 Python 脚本编辑器,现在顶点和片段 Shader 可以直接在属性选项卡中编辑。当然,你仍可选择单独打开它们。

控制台标签页改进

新增一键复制所有消息按钮,方便调试或分享控制台输出。

新实体菜单新增 Proto 角色和车辆

cave-screenshot-1asd.png

如果你未删除默认的 Proto 角色或车辆,它们会显示为新实体选项,按 Shift + A 即可快速添加到场景。

自动创建刚体

拖动网格到场景时,按住 Ctrl 将自动为其创建刚体。


类似 Blender 的摄像机控制(3D 视图)

这是 Cave Engine 推出以来最受期待的功能之一,现在终于来了。你可以按住鼠标中键在 3D 视图中绕物体旋转,就像在 Blender 一样。

该功能仍属试验性质,欢迎你在我们的 Discord 服务器反馈问题或建议改进。


状态机系统改进

cave-template-and-hsm.png

在编写状态转换代码时,不再需要通过字典方式访问“from state”的局部变量,这些变量将直接作为局部变量可用。

更新前代码示例:

result = state.get("myVar") == 3

更新后代码示例:

result = myVar == 3

路径组件系统改进

Screenshot_237.png

路径组件和路径工具自上个版本(1.3)起为试验功能,此次 1.4 版本中重点新增了两个 PathComponent 方法:GetSampleAdvance(...)GenerateProceduralMesh(...)

第一个方法可接收一个位置输入,返回路径上距离该位置最近的点及其前进值。这对于让角色、车辆等对象沿路径移动非常实用。

第二个方法则是沿路径自动生成并放置网格,方便你制作道路、墙壁、建筑等元素。


地形系统改进

本版本对地形系统做了大量优化,我可以预告:整体渲染速度提升显著。

cave-terrain.png

现在支持撤销操作(Ctrl + Z)

终于可以撤销地形雕刻及其他操作了,这大大提升了使用体验。

地形渲染优化

我成功将绘制调用数减少了约 100 倍,接近理论最小值。内部系统也同步优化,提高渲染效率,期待性能提升。

新的路径对齐模式

路径系统的改进也影响了地形系统。你可以选择场景中的路径用于地形整形,适合制作道路等。

更优秀的高度图生成

原高度图生成效果较差,这次进行了调整,能生成更丰富的地表。修复了所有地形默认使用相同随机种子的问题,导致地形千篇一律。

现在你可以通过代码设置随机种子,地形生成也会随种子变化。

新的地形射线检测方法

给定一个起点和目标位置,你可以调用地形组件做射线检测,检测是否与地形碰撞,返回碰撞点位置和法线。


渲染性能提升

对 OpenGL 缓存系统进行了大量内部优化,减少驱动开销。Cave Engine 之前已有众多优化,现又迈上新台阶。

在某些场景中,我测得驱动开销降低近千倍。性能提升因机器异同而异,但如果你之前受限于驱动开销,这次版本很可能带来显著提升。

新的内部优化包括:

  • 着色器程序绑定缓存
  • Uniform 值缓存
  • 缓存失效逻辑

这些更改减少了冗余的 OpenGL 调用并提升了渲染性能。

此外:

  • Uniform 绑定安全性改进
  • 可能的 AMD 深度清除问题的解决方法

Linux 版本修复

我还修复了部分 Linux 用户在使用引擎时遇到的无数 Python 路径问题,尤其是在创建新项目时。


新的 Python API

除了上面提到的大部分功能外,还新增或更新了多个 Python API 来支持它们,这里列出几个示例。

VehicleComponent.SetSteering(...)
Mesh.AddMeshAsLod(...)
PathComponent.GenerateProceduralMesh(...)
PathComponent.GetSampleAdvance(...)
PathEdge.GetPointA()
PathEdge.GetPointB()
Transform.AlignAxis(...)

还增加了 VSync 和 FPS 限制的新选项。请查看 Python 存根文件以全面了解新增内容。


更多 cave.ui API 和更好的工具开发

如果你喜欢或需要为编辑器编写自定义工具来帮助构建游戏或辅助开发,现在情况更好了。你可以查看我们的 cave.ui 代码中的 API 存根,并期待一个更加稳定的编辑器工具体验。调试标签页在游戏重新加载时也会重新加载。


Bug 修复

本次版本修复了以下问题:

  • 修复 Linux 导出问题
  • 修复 Linux 崩溃问题,原因是不正确的 Python 路径
  • 修复地形高度图总是生成相同结果的问题
  • 修复模板重新加载时的递归崩溃
  • 修复手动曝光使用时缩略图变黑的问题
  • 修复默认 DebugTab 代码错误
  • 修复字符串为空时 CodeEditor 无法编辑的问题
  • 修复动画网格的 AABB 边界错误
  • 修复地形区块剔除错误
  • 修复缺失的 StateMachine 组件引用
  • 修复各种编辑器 UI 拼写错误
  • 修复文档拼写错误
  • 修复 EntityMap 崩溃
  • 修复 CodeEditor 字符串高亮问题
  • 修复 CodeEditor 字符串后注释高亮问题
  • 修复剪贴板复制实现未使用 SDL 的问题

已知问题

这里提及一些已知问题。它们尚未修复的原因是因为优先级较低或我们无法稳定复现。如果你对此有任何线索,请在我们的 Discord 服务器告知。

  • Cave 在部分(或大多数)Wayland Linux 系统上无法正常运行(目前只支持 X11)。
  • 有时根据摄像机角度地形区块会消失(误判剔除问题)。这是一个非常罕见的故障,目前我还没能复现它。
#Cave Engine #release notes #game engine #new game engine #python game engine
Cave Engine

No Royalties. No Limits.

Pay once, own it forever. 100% of your revenue stays with you.

Learn More

Comments

Join the Discussion

Please login or create an account to leave a comment on this blog post.

No Comments Yet

Be the first to share your thoughts about this blog post!

Recent Posts

Cave Engine 1.6.0 Release Notes: Logic Bricks Visual Scripting is Here!

May 13, 2026

Cave Engine 1.6 introduces Logic Bricks, a new Visual Scripting system built for faster, easier game development with zero compile time, full Python API parity, debugging tools, editor improvements, asset pipeline fixes, physics updates, UI improvements and more.

Cave Engine 1.4.1 - Release Notes

March 19, 2026

Explore everything new in Cave Engine 1.4.1. Performance improvements, DDS texture support, new APIs, profiler updates, and critical optimizations for 3D game development.

The 4 Best Python Game Engines in 2026 (For Developers Who Love Python)

March 10, 2026

Discover the best Python game engines in 2026 including Cave Engine, Panda3D, UPBGE, and Ursina. Compare real Python scripting engines for indie developers.