我有一个基于关卡的游戏,它使用平铺引擎来呈现这些关卡。水平的大部分通过水平如地面和天空保持静止
我想过将地面和天空从平铺数据预渲染到渲染纹理,只绘制每一帧而不是每帧绘制一堆预制件。
整个关卡始终是可见的,所以对于不会被绘制的事物没有任何关注
我可以看到渲染纹理的唯一缺点是它占用了内存中的空间(虽然是图形化的),而预制件很小并且复制到整个地方。
什么是更好的?预先绘制整个图形或者每帧都绘制所有预制件?
答案 0 :(得分:0)
平铺贴图的重点是,您可以多次重复使用图像的某些部分,从而节省内存,并且在大多数情况下,渲染速度更快。由于您很可能会在地图上移动物体,因此无论如何都需要在每个帧上渲染地面和天空图像,否则,到处都会有图像!最简单的测试方法是尝试两种方式,并使用工具查看每种方式如何影响速度,内存和电池寿命。
我玩过两种方式,而且我发现瓷砖地图在很大程度上对背景图像更有效,尽管它们有点难以维护。
我的一般经验法则是,如果我的背景中有一堆部分可能只是重复的图块,并且图块集的大小大约是整个图像大小的50%或更小,我实现了瓷砖地图。否则,我只是使用图像。
另一个注意事项,如果你的天空都是一种颜色,并且在任何地方都没有差异,那么我发现最好的办法就是拍摄一个1像素的那种颜色的图像,(或者一个白色的像素,并使其成为为天空的颜色着色!)并将其缩放到合适的大小。这很容易维护,并且速度,内存和电池寿命都很容易,但是你会牺牲细节。
希望有帮助!