房间和入口的介绍

房间<class_Room>即单间)和 :ref:入口<class_Portal>。入口是房间之间的开口,:ref:相机<class_Camera>(和灯光)可以通过这个开口看到另一个房间。 可以用来实现许多功能:

  • 入口遮挡剔除,可以减少绘制对象的数量来提高性能,包括相机和阴影贴图。
  • 游戏回调,允许关闭游戏区域以外的活动 - AI、物理、动画、过程等。 这些功能的代价是,必须手动将关卡划分为房间,并在房间之间添加入口。 注解 同名游戏混淆。它们不会扭曲空间,只是表示相机(或灯光)可以透过的窗口。

    尽量减少手动操作

    尽管为大关卡创建房间所涉及的工作似乎令人生畏,但有几项因素可以使这变得更容易些:
  • 如果您使用的是现成素材库,已经在重复使用房间或区域,这是节省精力的理想方式。您可以把关卡图块用作房间,并且已经放置了入口。
  • 如果你正在创建程序式关卡,你可以创建房间和入口,作为你正在编写的程序式生成算法的一部分。
  • 那么,如果您手动创建自由形式的关卡,请记住,对于入口的使用没有任何规定。即使你将一个大型游戏关卡分成两个房间,它们之间只有一个入口,这仍然可以带来相对较大的性能提升。 工作让人聪明。 一般来说,当涉及到中型和大型关卡时,做一点入口总比不做要好。

    一些注意事项

    注解 高级功能。在熟悉 Godot 编辑器并成功制作出几个测试游戏之前,你不应该尝试使用房间和入口。 作为游戏设计师,它给了你很大的权力,但代价是,它需要具有非常好的关卡设计技巧。它的目标是产生专业级的结果,并假定用户准备为此付出努力。它并不打算用于所有的 3D 游戏。并非所有的游戏都能从中明显受益,而且,它所需要的时间可能比短期游戏竞赛要多。