所以我有一个无缝的纹理。图片中的黑线代表重复的纹理。然后我有一系列已知 x,y 坐标和已知高度和宽度的块。在 Unity 中,纹理具有“比例”和“偏移”。
比例是将在块上显示的纹理数量。因此,从 0,0 开始的块将具有大约 (.2,1.3) 的比例。它的宽度是单个纹理宽度的 0.2 倍(为了简单的数字),它的高度大约是纹理高度的 1.3 倍。
偏移然后移动'纹理的起点。0,0 处的块将具有 0,0 的偏移量,因为它与角完美对齐,但紧邻它的块将具有大约 0.2,0 的纹理,因为纹理需要从大约 0.2 个单位开始正确对齐。这是据我了解的偏移量。我很确定这是正确的,但如果我错了,请随时纠正我。
现在,当您将纹理应用于块时,unity 会自动缩放纹理以从块的左上角开始并适当地拉伸它以适应该空间内的 1 次完整迭代。我显然不想要这个。
我的问题是针对标有 (x,y) 坐标的三个块。我已经在几个星期内尝试了几个小时以使其正确,但未成功。
那么如何获取 x、y 位置和宽度/高度以创建正确的比例和偏移量,以便这些块看起来就像它们应该在纹理中的确切位置?
这不是一个特别困难的概念,但盯着它看后我没有更多的想法。
为了这个问题,假设单个纹理是 12x12。x,y 和宽度/高度是已知值,但是是任意的。
我知道发布尝试过的代码通常是一种好习惯,但我宁愿看到一种好的方法,也不愿看到试图修复我失败的尝试的答案。但是如果人们想看到我自己尝试过或者我最初是如何尝试的,我会发布代码。