从渲染区域切换到3D游戏中不同场景/区域的最佳方法是什么?
假设你有一个角色并且他移动到一个新区域,你将如何卸载该区域并加载新区域。您是否只使用不同的加载调用加载渲染功能,只有在它们落入某些参数时才加载它们,或者您是否为每个区域创建枚举器,并在卸载当前数据后使用类似switch语句切换到新区域区域?
我总是在我为业余爱好制作的小游戏中创造了非常糟糕的过渡,它通常会在某个时间点杀死我的表现。
答案 0 :(得分:1)
使用enum
或/和switch
/ case
不是很灵活。
你可以简单地使用一个函数,例如load_area(i)
来卸载先前的级别/区域,然后加载级别i
(它可以使用智能资源管理器,如下所示)
Andon M. Coleman)。
您应该将资源处理与游戏逻辑和引擎分开。例如,渲染系统应该显示当前加载的可绘制资源,而不是循环遍历枚举并选择要渲染的场景。
您应该尽量减少卸载/装载阶段;根据游戏的不同,您可以通过使用类似LOD(详细程度)的管理器来完全避免离散转换,该管理器根据游戏的当前状态动态更新资源。