Fixed error with mesh UVs.

#1232
This commit is contained in:
NathanSweet 2018-12-20 17:39:59 +01:00
parent 61f4165dae
commit b12658d8ad

View File

@ -78,19 +78,21 @@ public class MeshAttachment extends VertexAttachment {
if (region instanceof AtlasRegion) { if (region instanceof AtlasRegion) {
AtlasRegion region = (AtlasRegion)this.region; AtlasRegion region = (AtlasRegion)this.region;
float textureWidth = region.getTexture().getWidth(), textureHeight = region.getTexture().getHeight(); float textureWidth = region.getTexture().getWidth(), textureHeight = region.getTexture().getHeight();
width = region.originalWidth / textureWidth;
height = region.originalHeight / textureHeight;
if (region.rotate) { if (region.rotate) {
u = region.getU() - (region.originalHeight - region.offsetY - region.packedWidth) / textureWidth; u = region.getU() - (region.originalHeight - region.offsetY - region.packedWidth) / textureWidth;
v = region.getV() - (region.originalWidth - region.offsetX - region.packedHeight) / textureHeight; v = region.getV() - (region.originalWidth - region.offsetX - region.packedHeight) / textureHeight;
width = region.originalHeight / textureWidth;
height = region.originalWidth / textureHeight;
for (int i = 0, n = uvs.length; i < n; i += 2) { for (int i = 0, n = uvs.length; i < n; i += 2) {
uvs[i] = u + regionUVs[i + 1] * height; uvs[i] = u + regionUVs[i + 1] * width;
uvs[i + 1] = v + width - regionUVs[i] * width; uvs[i + 1] = v + height - regionUVs[i] * height;
} }
return; return;
} }
u = region.getU() - region.offsetX / textureWidth; u = region.getU() - region.offsetX / textureWidth;
v = region.getV() - (region.originalHeight - region.offsetY - region.packedHeight) / textureHeight; v = region.getV() - (region.originalHeight - region.offsetY - region.packedHeight) / textureHeight;
width = region.originalWidth / textureWidth;
height = region.originalHeight / textureHeight;
} else if (region == null) { } else if (region == null) {
u = v = 0; u = v = 0;
width = height = 1; width = height = 1;