在放大Unity3d中的对象时使用切片作为纹理

时间:2015-11-03 12:28:19

标签: unity3d textures zoom tile

我有一个智能手机(Android到目前为止)应用程序的问题我在unity3d编程。 我得到了以下设置: 我有一个球体,到目前为止,我有一个世界的纹理。它的分辨率已设置为最大值,但当我“放大”它时,它看起来很恶心。我想像谷歌地图一样重新加载纹理贴图,以获得更高的分辨率而不会对内存产生太大的影响。这种方法是否很好?如果是这样的话:我该怎么做? 到目前为止还没找到合适的东西,或者我错了。

编辑:有些人可能会误解我,我会再次尝试一些细节。 我想要设置的是地球作为带有地图的球体。只要你没有放大太远,那个地图就可以了,这很明显,因为纹理有效分辨率。现在,为了保持良好的图像质量,当放大那个人可以看到一个城市的街道,我想加载像谷歌地图这样的额外的“卫星图片”(你知道:你放大,谷歌地图总是重新加载在该特定区域中的图像仍然提供良好的图形质量)。我如何实现这种特定行为?提供我需要的所有瓷砖没问题,我有一个矢量图形,我可以从中导出所有需要的瓷砖,但我不知道如何在该特定区域放大时重新加载这些瓷砖(以减少内存消耗,drawcalls等等。)

任何帮助都非常感谢,因为我是团结编程的初学者。非常感谢你提前!

达斯汀

1 个答案:

答案 0 :(得分:0)

您是否实际放大或移动相机距离更近? Unity有一些内部过滤器,可以让纹理更容易在更远的距离加载。缩放时,相机实际上不会移近,这意味着它的更详细版本将无法正确加载。

同时检查您正在使用的纹理的“最大纹理大小”设置。也许它被拒绝得太低了。尝试将其调高到更高的分辨率。

如果在最大纹理尺寸变得更高的情况下它看起来仍然模糊不清,那么你的纹理可能没有足够高的分辨率开始。使它具有足够高的分辨率,使其近距离看起来很好。然后开始降低最大纹理尺寸分辨率,直到关闭它“足够好”。

接下来,通常情况下,它会开始在远处看起来模糊,或者从看起来很好到模糊有明显的线性过渡。您可以通过调高Ansio级别来解决此问题。 谨慎使用,因为它会增加渲染负载。只使用你需要的东西,尤其是手机游戏。