我们有一个由 Unity 程序员开发的游戏。
我们提供的导入的 PNG 文件似乎存在问题。它是一个简单的实心圆,我在它周围留下了一些透明的空间。它非常大,150dpi,然后被游戏代码缩放到合适的大小。
但有时,这些圆圈似乎有一个平坦的边缘,就像缺少一排像素一样,我们尝试的任何尝试似乎都无法纠正这一点。
寻找可以尝试的东西的想法。跟抓拍有关系吗?出于某种原因缩放问题?它应该是 256 的倍数还是类似的东西。
你能提出的任何建议都会很棒非常感谢
有时图像可以缩放到不完全适合像素的大小。例如,图像被缩放为 100.2 像素宽或位于左上角 50.3、41.2 像素处。这可能会导致丑陋的混叠伪影,这听起来就像您所看到的那样。此外,将大纹理映射到较小尺寸可能会产生伪影(有时它会隐藏伪影,如果你这样做,那该死的......)。
尝试关闭 mipmapping,并确保图像的大小和位置是整数。Unity 有 2D 框架可以让这更容易(NGUI 有一个“使像素完美”按钮,我假设其他有类似的东西)。此外,提供接近屏幕分辨率的图稿也会有所帮助。
听起来您导出 PNG 或将其导入 Unity 的方式可能存在问题。在不知道大小或您使用图像的准确程度的情况下,我只能谈论一般的最佳实践。
Unity 的缩放算法很好,但并不完美。如果您将图像用作纹理(即场景中的几何图形),则纹理的大小需要为 2 的幂(2px、4px、8px、16px、32px、64px、128px、256px、512px)但它不需要是正方形的,所以 256x512px 就可以了。如果您的图像尺寸不是 2 的幂,我相信统一会挤压可能导致视觉伪影的图像。
如果您在 GUI 上使用图像,则可以任意调整大小。
首先要看的是导入设置。假设您已经将纹理拖入 Unity,请在项目窗格中选择纹理并查看检查器中的选项。
纹理类型: Unity 将根据其目标用途以不同方式处理图像,因此请确保您的类型设置正确。
滤镜模式:您选择的滤镜模式很大程度上取决于图像的内容。查看您想要哪个的最简单方法就是全部尝试。
希望其中的一些内容对您有所帮助。
您还应该检查项目文件夹中图像的导入设置,检查尺寸设置。