|
@@ -193,6 +193,10 @@ namespace Spine.Unity.AttachmentTools {
|
|
region.index = -1;
|
|
region.index = -1;
|
|
region.degrees = s.packed && s.packingRotation != SpritePackingRotation.None ? 90 : 0;
|
|
region.degrees = s.packed && s.packingRotation != SpritePackingRotation.None ? 90 : 0;
|
|
|
|
|
|
|
|
+ // World space units
|
|
|
|
+ Bounds bounds = s.bounds;
|
|
|
|
+ Vector2 boundsMin = bounds.min, boundsMax = bounds.max;
|
|
|
|
+
|
|
// Texture space/pixel units
|
|
// Texture space/pixel units
|
|
Rect spineRect = s.textureRect.SpineUnityFlipRect(s.texture.height);
|
|
Rect spineRect = s.textureRect.SpineUnityFlipRect(s.texture.height);
|
|
Rect originalRect = s.rect;
|
|
Rect originalRect = s.rect;
|
|
@@ -200,8 +204,8 @@ namespace Spine.Unity.AttachmentTools {
|
|
region.originalWidth = (int)originalRect.width;
|
|
region.originalWidth = (int)originalRect.width;
|
|
region.height = (int)spineRect.height;
|
|
region.height = (int)spineRect.height;
|
|
region.originalHeight = (int)originalRect.height;
|
|
region.originalHeight = (int)originalRect.height;
|
|
- region.offsetX = s.textureRectOffset.x;
|
|
|
|
- region.offsetY = s.textureRectOffset.y;
|
|
|
|
|
|
+ region.offsetX = s.textureRectOffset.x + spineRect.width * (0.5f - InverseLerp(boundsMin.x, boundsMax.x, 0));
|
|
|
|
+ region.offsetY = s.textureRectOffset.y + spineRect.height * (0.5f - InverseLerp(boundsMin.y, boundsMax.y, 0));
|
|
|
|
|
|
if (isolatedTexture) {
|
|
if (isolatedTexture) {
|
|
region.u = 0;
|
|
region.u = 0;
|