Spine version 3.8.86
Runtime version 3.8 (January 2020)
While using texture frame (orig and offset) in atlases, region attachments' coordinates are incorrect.
The bug was caused by RegionAttachment.as Line 76.
The original code was
var radians : Number = rotation * Math.PI / 180;
var ulDist : Number = Math.sqrt(localX * localX + localY * localY);
var ulAngle : Number = Math.atan2(localY, localX);
var urDist : Number = Math.sqrt(localX2 * localX2 + localY * localY);
var urAngle : Number = Math.atan2(localY, localX2);
var blDist : Number = Math.sqrt(localX * localX + localY2 * localY2);
var blAngle : Number = Math.atan2(localY2, localX);
var brDist : Number = Math.sqrt(localX2 * localX2 + localY2 * localY2);
var brAngle : Number = Math.atan2(localY2, localX2);
offset[BLX] = Math.cos(radians - blAngle) * blDist + x;
offset[BLY] = Math.sin(radians - blAngle) * blDist + y;
offset[ULX] = Math.cos(radians - ulAngle) * ulDist + x;
offset[ULY] = Math.sin(radians - ulAngle) * ulDist + y;
offset[URX] = Math.cos(radians - urAngle) * urDist + x;
offset[URY] = Math.sin(radians - urAngle) * urDist + y;
offset[BRX] = Math.cos(radians - brAngle) * brDist + x;
offset[BRY] = Math.sin(radians - brAngle) * brDist + y;
Copied from Unity runtime 3.8, I modified it to
var radians : Number = rotation * Math.PI / 180;
var cos:Number = Math.cos(radians);
var sin:Number = Math.sin(radians);
var localXCos:Number = localX * cos + x;
var localXSin:Number = localX * sin;
var localYCos:Number = localY * cos + y;
var localYSin:Number = localY * sin;
var localX2Cos:Number = localX2 * cos + x;
var localX2Sin:Number = localX2 * sin;
var localY2Cos:Number = localY2 * cos + y;
var localY2Sin:Number = localY2 * sin;
offset[BLX] = localXCos - localYSin;
offset[BLY] = localYCos + localXSin;
offset[ULX] = localXCos - localY2Sin;
offset[ULY] = localY2Cos + localXSin;
offset[URX] = localX2Cos - localY2Sin;
offset[URY] = localY2Cos + localX2Sin;
offset[BRX] = localX2Cos - localYSin;
offset[BRY] = localYCos + localX2Sin;
It seems that things work well this way