【问题标题】:Many or few textures (performance 3D engine)许多或很少的纹理(性能 3D 引擎)
【发布时间】:2014-02-10 08:47:15
【问题描述】:

此刻我有两种模式可以继续编程六边形地图,不知道哪种方式更好。也许你可以帮助我:)

我使用纹理来表示“网格”,因此具有此纹理的小队是静态的,在运行时不会移动或编辑。

首先,我有一个 7700x6736 像素的纹理,但是,他的大小只有 3.131KB,当我在随机引擎(在本例中为 Unity)中运行时,帧速率很好(恒定 60fps,VSynk 和 + 100 没有 VSync)

此纹理与小队的一种透明材质相关联(2 个三角形)

使用第二种模式,我有 14 个纹理到 550x496 像素和 21KB。但是在这种模式下,我需要 14 个小队(28 个三角形对 2 个)和 14 个具有不同纹理的材料,以另一种方式对 1 个。

同样,在第二种模式下,我需要询问每个小队的距离是隐藏还是不隐藏(一个简单的遮挡剔除)

您认为更好的方法是什么?

【问题讨论】:

    标签: performance 3d unity3d textures 3d-engine


    【解决方案1】:

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

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

    另外 - 如果你真的需要 Non Power Of Two 纹理,你应该考虑一下,官方应该支持 ATM,但你仍然可能在一些旧硬件上遇到问题。

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

    【讨论】:

    • 感谢您的回复。我需要两个纹理的非幂或六边形贴图不起作用。平台目标是 Windows。我想最好的解决方案是具有不同纹理的各种实体,不是吗?
    • 我会选择一些较小的纹理,这种方式编码有点困难,但您可以避免将来出现硬件支持问题。此外,我仍然认为不需要 NPOT 纹理 - 你能给我们一些截图吗:)?
    • 我需要一个 NPOT 纹理,因为我在运行时创建了一个 Map 纹理(六边形),并且我得到了每个六边形的宽度和高度,读取了我使用的基本六边形纹理 :) 我可以'不上传图片,因为我没有范围,但我可以将具有相同问题的其他论坛与图片链接:) forum.unity3d.com/threads/…
    猜你喜欢
    • 2012-01-26
    • 2022-01-02
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    相关资源
    最近更新 更多