简介

Blender 游戏引擎(BGE)是一个用于实时项目的工具,从建筑可视化和模拟到游戏都适用。

提醒一下,在你开始使用 Blender 游戏引擎制作任何大型或是严肃的项目之前,你应该注意到,它目前对计划重定向和重构的支持不怎么好,至少会破坏兼容性。欲进一步了解更多详细信息,你应该通过邮件列表或 IRC 频道与开发人员联系,并阅读 开发路线图.

用例和游戏示例

Blender 拥有自己内置的游戏引擎,可让你创建交互式 3D 应用程序或模拟程序。游戏引擎和传统 Blender 系统的主要区别在于渲染过程。在普通的 Blender 引擎中,图像和动画是离线构建的——一旦渲染出来就无法修改。相反,Blender 游戏引擎实时地渲染场景,并在渲染过程中包含用于用户交互的工具。

../_images/game-engine_introduction_screenshot.jpg

来自于“Yo Frankie”的屏幕截图,用 Blender 游戏引擎制作。

Blender 游戏引擎负责监控一个游戏循环,按顺序依次处理逻辑,声音,物理和渲染模拟。该引擎用 C++ 编写。

默认情况下,用户可以访问到强大、高级、以事件为驱动的 逻辑编辑器 ,它由一系列称为“逻辑块”的专门组件构成。逻辑编辑器 提供了与仿真模拟的深层交互,其功能可以通过 Python 脚本进行扩展。它旨在将复杂的引擎功能抽象为简单的用户界面,而不需要编程经验。逻辑编辑器 的概述可以在 游戏逻辑屏幕布局 中找到。

游戏引擎与 Blender 现有的代码库紧密集成,它允许在传统建模功能集和程序提供的游戏特定功能之间快速转换。从这个意义上讲,游戏引擎可以有效地应用于游戏设计的各个领域,从原型设计到最终发布。

游戏引擎可以模拟 Blender 里的内容,但是它还包括将二进制运行时(文件)导出到 Linux,macOS 和 MS-Windows 的功能。

游戏引擎利用了很多强大的库:

  • Audaspace:用于控制音频的声音库。使用 OpenAL 或 SDL。
  • Bullet:一个具有三维碰撞检测,柔体动力学和刚体动力学的物理引擎。
  • Detour: A pathfinding and spatial reasoning toolkit.
  • Recast:一种用于游戏的先进导航网格构造工具集。

当在 BGE 中模拟或创建游戏时,有四个必要步骤:

  1. 创建能被渲染的可视化元素。这通常是 3D 模型或图像。
  2. 使用逻辑块来启用场景内的交互,再编写脚本自定义行为并确定何时被调用(最后使用合适的“传感器”来触发,例如:键盘或游戏杆)。
  3. 创建一个(或多个)摄像机,使用其视锥体来指定场景的渲染区域,并通过修改参数以支持游戏将显示的环境,例如:立体渲染(注:就是配合 3D 眼镜观看的效果)。
  4. 启动游戏,使用内部播放器或导出运行时(文件)到合适的平台。