Godot - 如何处理视口外的场景?
Godot - How Are Scenes Handled Outside of the Viewport?
在 Godot 引擎中,我想知道 objects/scenes 离开视口时会发生什么?例如:我正在尝试制作一张包含大量 scenes/entities 的大地图(例如多个移动的敌人,以及资源节点)。我正在尝试找出处理不再需要加载到内存中的实体的最佳方法。
我最初的想法是,每个被移动到的图块,检查保存所有图块的“地图”数组,并将新的图块从屏幕上加载一点,反之亦然,那些将消失的图块。我认为这是一种可怕的做法。我还考虑过让“区域”一旦进入,就可以加载接下来的部分——但这也变得非常复杂。
我注意到 Godot 已经在处理这个问题的一部分。例如,当发射粒子的对象离开视口时,它会停止发射粒子。
在全局性能方面,拥有多个实例应该不是问题,但如果您有很多实体,您可能希望仅在它们位于视口中时才执行代码。
例如:
if(isInViewport):
Do everything
Else:
Do nothing but exist
为此,VisibilityNotifier2D class 可能会有用。
在 Godot 引擎中,我想知道 objects/scenes 离开视口时会发生什么?例如:我正在尝试制作一张包含大量 scenes/entities 的大地图(例如多个移动的敌人,以及资源节点)。我正在尝试找出处理不再需要加载到内存中的实体的最佳方法。
我最初的想法是,每个被移动到的图块,检查保存所有图块的“地图”数组,并将新的图块从屏幕上加载一点,反之亦然,那些将消失的图块。我认为这是一种可怕的做法。我还考虑过让“区域”一旦进入,就可以加载接下来的部分——但这也变得非常复杂。
我注意到 Godot 已经在处理这个问题的一部分。例如,当发射粒子的对象离开视口时,它会停止发射粒子。
在全局性能方面,拥有多个实例应该不是问题,但如果您有很多实体,您可能希望仅在它们位于视口中时才执行代码。
例如:
if(isInViewport):
Do everything
Else:
Do nothing but exist
为此,VisibilityNotifier2D class 可能会有用。