0

从渲染区域切换到 3D 游戏中不同场景/区域的最佳方法是什么?

假设您有一个角色并且他移动到一个新区域,您将如何卸载该区域并加载新区域。您是否只是使用不同的加载调用加载渲染函数,并且仅在它们属于某些参数时才加载它们,或者您是否会为每个区域创建枚举器并在卸载当前数据后使用类似 switch 语句来切换到新区域区域?

我总是在我为爱好而制作的小游戏上创建非常糟糕的过渡,这通常会在某个时间点或某个时间扼杀我的表现。

4

1 回答 1

1

使用enum或/和switch/case不是很灵活。

您可以简单地使用一个函数,例如load_area(i),卸载前一个级别/区域然后加载级别i(它可以使用 Andon M. Coleman 建议的智能资源管理器)。

您应该将资源处理与游戏逻辑和引擎分开。例如,渲染系统应该显示当前加载的可绘制资源,而不是循环遍历枚举并选择要渲染的场景。

您应该尽量减少卸载/加载阶段;根据游戏的不同,您可以通过使用类似 LOD(细节级别)的管理器来完全避免离散转换,该管理器会根据游戏的当前状态动态更新资源。

于 2013-08-21T21:04:19.267 回答