2014-02-10 17 views
1

我有两种模式可以在这一刻继续编程一个六角形地图,我不知道哪种方式更好。也许你可以帮助我:)很多或很少纹理(性能3D引擎)

我用一个纹理来表示“网格”,所以具有此纹理的队伍是静态的,不会在运行时移动或编辑。我有一个7700x6736像素的纹理,然而,他的尺寸只有3.131KB,当我运行在一个随机引擎(在这种情况下为Unity)时,帧速率非常好(VSynk和常量60fps) 100无VSynk)

该纹理在一个透明材料的小队(2个三角形)

与第二模式相关联的,我有一个14层的纹理到550x496像素和21KB。但是在这种模式下,我需要14个小队(28个三角形对2个)和14个具有不同纹理的材质,而另一个则需要1个。

也与本次模式下,我需要问每个班的距离隐藏或不隐藏(一个简单的遮挡剔除)

什么是你认为的更好的办法?

回答

0

虽然您的7k纹理可以在您的开发机器上运行,但在您定位的某些平台中可能不支持。我会使用2048^2作为安全最大值,甚至是1024^2。

第二个问题是它可能使用3MB作为JPG/PNG压缩文件,但在您的视频内存中它将作为一个未压缩的文件(除非您使用某种纹理特定的压缩,但是您可能遇到平台问题再次支持)。

此外 - 你应该考虑如果你真的需要非Power Of Two纹理,官方应该支持ATM,但你仍然可以在一些较老的硬件上遇到问题。

一般而言,您的解决方案取决于您想要定位的平台,特别是如果您计划定位移动设备(以及哪些平台)。

+0

感谢您的回复。我需要两个纹理的非功率或六角形地图不起作用。平台目标是Windows。 我想最好的解决方案是不同纹理的各种实体,不是吗? – user3041700

+0

我会去找几个较小的纹理,这种方式有点难以编码,但是可以避免将来的硬件支持问题。此外,我仍然没有看到NPOT纹理的需求 - 你能否给我们一些截图:)? – kolenda

+0

我需要一个NPOT纹理,因为我在运行时创建了一个Map纹理(六边形),并且我得到了每个六边形的宽度和高度,读取的是我使用的基本六边形纹理: 我无法上传图像,因为我没有范围,但我可以链接其他论坛与图像相同的问题:) http://forum.unity3d.com/threads/227467-Many-or-few-textures-(performance) – user3041700