From 38c6cfec15d19bc7102c4c2ab295582d6f8a1798 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 17 Mar 2017 21:19:43 +0800 Subject: [PATCH] [unity] Fix generated rotated regions. --- .../Modules/AttachmentTools/AttachmentTools.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs index db61481f2..e231c244a 100644 --- a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs +++ b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs @@ -371,9 +371,11 @@ namespace Spine.Unity.Modules.AttachmentTools { public static Texture2D ToTexture (this AtlasRegion ar, bool applyImmediately = true, TextureFormat textureFormat = SpineTextureFormat, bool mipmaps = UseMipMaps) { Texture2D sourceTexture = ar.GetMainTexture(); Rect r = ar.GetUnityRect(sourceTexture.height); - Texture2D output = new Texture2D((int)r.width, (int)r.height, textureFormat, mipmaps); + int width = (int)r.width; + int height = (int)r.height; + Texture2D output = new Texture2D(width, height, textureFormat, mipmaps); output.name = ar.name; - Color[] pixelBuffer = sourceTexture.GetPixels((int)r.x, (int)r.y, (int)r.width, (int)r.height); + Color[] pixelBuffer = sourceTexture.GetPixels((int)r.x, (int)r.y, width, height); output.SetPixels(pixelBuffer); if (applyImmediately) @@ -453,7 +455,17 @@ namespace Spine.Unity.Modules.AttachmentTools { static AtlasRegion UVRectToAtlasRegion (Rect uvRect, string name, AtlasPage page, float offsetX, float offsetY, bool rotate) { var tr = UVRectToTextureRect(uvRect, page.width, page.height); var rr = tr.SpineUnityFlipRect(page.height); - int w = (int)rr.width, h = (int)rr.height, x = (int)rr.x, y = (int)rr.y; + + int x = (int)rr.x, y = (int)rr.y; + int w, h; + if (rotate) { + w = (int)rr.height; + h = (int)rr.width; + } else { + w = (int)rr.width; + h = (int)rr.height; + } + return new AtlasRegion { page = page, name = name,