[godot] Fix examples/export/runtime.sh for godot, fix MeshAttachment, fix Godot example

This commit is contained in:
Mario Zechner 2022-04-04 14:38:04 +02:00
parent 85227351ee
commit 437f88922d
12 changed files with 112 additions and 110 deletions

1
.gitignore vendored
View File

@ -168,3 +168,4 @@ spine-godot/godot
spine-godot/spine_godot/__pycache__
spine-godot/spine_godot/spine-cpp
spine-godot/godot-copy
spine-godot/example/.import

View File

@ -85,31 +85,14 @@ cp -f ../mix-and-match/export/mix-and-match-pro.skel "$ROOT/spine-cocos2dx/examp
cp -f ../mix-and-match/export/mix-and-match.atlas "$ROOT/spine-cocos2dx/example/Resources/common/"
cp -f ../mix-and-match/export/mix-and-match.png "$ROOT/spine-cocos2dx/example/Resources/common/"
rm "$ROOT/spine-cocos2dx/example-v4/Resources/common/"*
cp -f ../coin/export/coin-pro.skel "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../coin/export/coin.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../coin/export/coin.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../goblins/export/goblins-pro.json "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../goblins/export/goblins.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../goblins/export/goblins.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../raptor/export/raptor-pro.json "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../raptor/export/raptor.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../raptor/export/raptor.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../spineboy/export/spineboy-pro.json "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../spineboy/export/spineboy.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../spineboy/export/spineboy.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../tank/export/tank-pro.skel "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../tank/export/tank.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../tank/export/tank.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../mix-and-match/export/mix-and-match-pro.skel "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../mix-and-match/export/mix-and-match.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
cp -f ../mix-and-match/export/mix-and-match.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/"
echo "spine-godot"
rm "$ROOT"/spine-godot/example/spineboy/*.atlas
rm "$ROOT"/spine-godot/example/spineboy/*.json
rm "$ROOT"/spine-godot/example/spineboy/*.skel
cp -f ../spineboy/export/spineboy-pro.json "$ROOT/spine-godot/example/spineboy/"
cp -f ../spineboy/export/spineboy-pro.skel "$ROOT/spine-godot/example/spineboy/"
cp -f ../spineboy/export/spineboy.atlas "$ROOT/spine-godot/example/spineboy/"
cp -f ../spineboy/export/spineboy.png "$ROOT/spine-godot/example/spineboy/"
echo "spine-sfml-c"
rm "$ROOT/spine-sfml/c/data/"*

View File

@ -53,6 +53,8 @@ namespace spine {
virtual ~MeshAttachment();
using VertexAttachment::computeWorldVertices;
virtual void computeWorldVertices(Slot &slot, size_t start, size_t count, float *worldVertices, size_t offset,
size_t stride = 2);

View File

@ -0,0 +1,4 @@
extends SpineSprite
func _ready():
get_animation_state().set_animation("walk", true, 0);

View File

@ -28,6 +28,7 @@ process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true

View File

@ -1,20 +1,15 @@
[gd_scene load_steps=5 format=2]
[gd_scene load_steps=4 format=2]
[ext_resource path="res://spineboy/spineboy-pro.json" type="SpineSkeletonJsonDataResource" id=1]
[ext_resource path="res://spineboy/spineboy.atlas" type="SpineAtlasResource" id=2]
[sub_resource type="SpineSkeletonDataResource" id=1]
atlas_res = ExtResource( 2 )
skeleton_json_res = ExtResource( 1 )
animations = null
skins = null
[ext_resource path="res://Spineboy.gd" type="Script" id=1]
[ext_resource path="res://spineboy/spineboy-data.tres" type="SpineSkeletonDataResource" id=2]
[sub_resource type="SpineAnimationStateDataResource" id=2]
skeleton = SubResource( 1 )
skeleton = ExtResource( 2 )
[node name="Node2D" type="Node2D"]
[node name="SpineSprite" type="SpineSprite" parent="."]
[node name="Spineboy" type="SpineSprite" parent="."]
position = Vector2( 504, 622 )
animation_state_data_res = SubResource( 2 )
current_animations = [ "walk" ]
script = ExtResource( 1 )

View File

@ -0,0 +1,10 @@
[gd_resource type="SpineSkeletonDataResource" load_steps=3 format=2]
[ext_resource path="res://spineboy/spineboy.atlas" type="SpineAtlasResource" id=1]
[ext_resource path="res://spineboy/spineboy-pro.json" type="SpineSkeletonJsonDataResource" id=2]
[resource]
atlas_res = ExtResource( 1 )
skeleton_json_res = ExtResource( 2 )
animations = null
skins = null

View File

@ -1,7 +1,7 @@
{
"skeleton": {
"hash": "IQgkYFQG8ng",
"spine": "4.0.31",
"hash": "itfFESDjM1c",
"spine": "4.1.23-beta",
"x": -188.63,
"y": -7.94,
"width": 418.45,
@ -2427,19 +2427,19 @@
"side-glow1": {
"attachment": [
{ "name": "hoverglow-small" },
{ "time": 0.9667, "name": null }
{ "time": 0.9667 }
]
},
"side-glow2": {
"attachment": [
{ "time": 0.0667, "name": "hoverglow-small" },
{ "time": 1, "name": null }
{ "time": 1 }
]
},
"side-glow3": {
"attachment": [
{ "name": "hoverglow-small" },
{ "time": 0.9667, "name": null }
{ "time": 0.9667 }
]
}
},
@ -3479,60 +3479,68 @@
{ "mixX": 0, "mixScaleX": 0, "mixShearY": 0 }
]
},
"deform": {
"attachments": {
"default": {
"front-foot": {
"front-foot": [
{
"offset": 26,
"vertices": [ -0.02832, -5.37024, -0.02832, -5.37024, 3.8188, -3.7757, -0.02832, -5.37024, -3.82159, 3.77847 ]
}
]
"front-foot": {
"deform": [
{
"offset": 26,
"vertices": [ -0.02832, -5.37024, -0.02832, -5.37024, 3.8188, -3.7757, -0.02832, -5.37024, -3.82159, 3.77847 ]
}
]
}
},
"front-shin": {
"front-shin": [
{
"offset": 14,
"vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ]
},
{
"time": 0.3667,
"offset": 14,
"vertices": [ 0.5298, -1.12677, -11.66571, -9.07211, -25.65866, -17.53735, -25.53217, -16.50978, -11.78232, -11.26097, 0, 0, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -2.64522, -7.35739, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -10.06873, -12.0999 ]
},
{
"time": 0.5333,
"offset": 14,
"vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -7.00775, -8.24771, -6.45482, -6.49312, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ]
},
{
"time": 1,
"offset": 14,
"vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ]
}
]
"front-shin": {
"deform": [
{
"offset": 14,
"vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ]
},
{
"time": 0.3667,
"offset": 14,
"vertices": [ 0.5298, -1.12677, -11.66571, -9.07211, -25.65866, -17.53735, -25.53217, -16.50978, -11.78232, -11.26097, 0, 0, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -2.64522, -7.35739, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -10.06873, -12.0999 ]
},
{
"time": 0.5333,
"offset": 14,
"vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -7.00775, -8.24771, -6.45482, -6.49312, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ]
},
{
"time": 1,
"offset": 14,
"vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ]
}
]
}
},
"hoverboard-board": {
"hoverboard-board": [
{
"curve": [ 0.067, 0, 0.2, 1 ]
},
{
"time": 0.2667,
"offset": 1,
"vertices": [ 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 3.55673, -3.0E-4, 3.55673, -3.0E-4, 0, 0, 0, 0, 0, 0, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, 0, 0, 0, 0, 0, 0, 0, 0, -4.90558, 0.11214, -9.40706, 6.2E-4, -6.34871, 4.3E-4, -6.34925, -6.57018, -6.34925, -6.57018, -6.34871, 4.3E-4, -2.3308, 1.7E-4, -2.33133, -6.57045, -2.33133, -6.57045, -2.3308, 1.7E-4, 0, 0, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 3.3297, 4.44005, 3.3297, 4.44005, 3.3297, 4.44005, 1.2E-4, 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, 1.2E-4, 2.45856, 1.2E-4, 2.45856, -9.40694, 2.45918, 1.88063, 0.44197, -2.9E-4, -3.54808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.46227, 1.7E-4, 0, 0, 0, 0, 1.2E-4, 2.45856 ],
"curve": [ 0.45, 0, 0.817, 1 ]
},
{ "time": 1 }
]
"hoverboard-board": {
"deform": [
{
"curve": [ 0.067, 0, 0.2, 1 ]
},
{
"time": 0.2667,
"offset": 1,
"vertices": [ 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 3.55673, -3.0E-4, 3.55673, -3.0E-4, 0, 0, 0, 0, 0, 0, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, 0, 0, 0, 0, 0, 0, 0, 0, -4.90558, 0.11214, -9.40706, 6.2E-4, -6.34871, 4.3E-4, -6.34925, -6.57018, -6.34925, -6.57018, -6.34871, 4.3E-4, -2.3308, 1.7E-4, -2.33133, -6.57045, -2.33133, -6.57045, -2.3308, 1.7E-4, 0, 0, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 3.3297, 4.44005, 3.3297, 4.44005, 3.3297, 4.44005, 1.2E-4, 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, 1.2E-4, 2.45856, 1.2E-4, 2.45856, -9.40694, 2.45918, 1.88063, 0.44197, -2.9E-4, -3.54808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.46227, 1.7E-4, 0, 0, 0, 0, 1.2E-4, 2.45856 ],
"curve": [ 0.45, 0, 0.817, 1 ]
},
{ "time": 1 }
]
}
},
"rear-foot": {
"rear-foot": [
{
"offset": 28,
"vertices": [ -1.93078, 1.34782, -0.31417, 2.33363, 3.05122, 0.33946, 2.31472, -2.01678, 2.17583, -2.05795, -0.04277, -2.99459, 1.15429, 0.26328, 0.97501, -0.67169 ]
}
]
"rear-foot": {
"deform": [
{
"offset": 28,
"vertices": [ -1.93078, 1.34782, -0.31417, 2.33363, 3.05122, 0.33946, 2.31472, -2.01678, 2.17583, -2.05795, -0.04277, -2.99459, 1.15429, 0.26328, 0.97501, -0.67169 ]
}
]
}
}
}
}
@ -5203,7 +5211,7 @@
"portal-bg": {
"attachment": [
{ "name": "portal-bg" },
{ "time": 3, "name": null }
{ "time": 3 }
]
},
"portal-flare1": {
@ -5214,7 +5222,7 @@
{ "time": 1.2, "name": "portal-flare1" },
{ "time": 1.2333, "name": "portal-flare2" },
{ "time": 1.2667, "name": "portal-flare1" },
{ "time": 1.3333, "name": null }
{ "time": 1.3333 }
]
},
"portal-flare2": {
@ -5224,14 +5232,14 @@
{ "time": 1.1667, "name": "portal-flare1" },
{ "time": 1.2, "name": "portal-flare2" },
{ "time": 1.2333, "name": "portal-flare3" },
{ "time": 1.2667, "name": null }
{ "time": 1.2667 }
]
},
"portal-flare3": {
"attachment": [
{ "time": 1.2, "name": "portal-flare3" },
{ "time": 1.2333, "name": "portal-flare2" },
{ "time": 1.2667, "name": null }
{ "time": 1.2667 }
]
},
"portal-flare4": {
@ -5239,33 +5247,33 @@
{ "time": 1.2, "name": "portal-flare2" },
{ "time": 1.2333, "name": "portal-flare1" },
{ "time": 1.2667, "name": "portal-flare2" },
{ "time": 1.3333, "name": null }
{ "time": 1.3333 }
]
},
"portal-flare5": {
"attachment": [
{ "time": 1.2333, "name": "portal-flare3" },
{ "time": 1.2667, "name": "portal-flare1" },
{ "time": 1.3333, "name": null }
{ "time": 1.3333 }
]
},
"portal-flare6": {
"attachment": [
{ "time": 1.2667, "name": "portal-flare3" },
{ "time": 1.3333, "name": null }
{ "time": 1.3333 }
]
},
"portal-flare7": {
"attachment": [
{ "time": 1.1333, "name": "portal-flare2" },
{ "time": 1.1667, "name": null }
{ "time": 1.1667 }
]
},
"portal-flare8": {
"attachment": [
{ "time": 1.2, "name": "portal-flare3" },
{ "time": 1.2333, "name": "portal-flare2" },
{ "time": 1.2667, "name": null }
{ "time": 1.2667 }
]
},
"portal-flare9": {
@ -5273,7 +5281,7 @@
{ "time": 1.2, "name": "portal-flare2" },
{ "time": 1.2333, "name": "portal-flare3" },
{ "time": 1.2667, "name": "portal-flare1" },
{ "time": 1.3, "name": null }
{ "time": 1.3 }
]
},
"portal-flare10": {
@ -5281,25 +5289,25 @@
{ "time": 1.2, "name": "portal-flare2" },
{ "time": 1.2333, "name": "portal-flare1" },
{ "time": 1.2667, "name": "portal-flare3" },
{ "time": 1.3, "name": null }
{ "time": 1.3 }
]
},
"portal-shade": {
"attachment": [
{ "name": "portal-shade" },
{ "time": 3, "name": null }
{ "time": 3 }
]
},
"portal-streaks1": {
"attachment": [
{ "name": "portal-streaks1" },
{ "time": 3, "name": null }
{ "time": 3 }
]
},
"portal-streaks2": {
"attachment": [
{ "name": "portal-streaks2" },
{ "time": 3, "name": null }
{ "time": 3 }
]
}
},
@ -7696,7 +7704,7 @@
{ "time": 0.1, "name": "muzzle03" },
{ "time": 0.1333, "name": "muzzle04" },
{ "time": 0.1667, "name": "muzzle05" },
{ "time": 0.2, "name": null }
{ "time": 0.2 }
]
},
"muzzle-glow": {
@ -7725,7 +7733,7 @@
],
"attachment": [
{ "time": 0.0333, "name": "muzzle-ring" },
{ "time": 0.2333, "name": null }
{ "time": 0.2333 }
]
},
"muzzle-ring2": {
@ -7739,7 +7747,7 @@
],
"attachment": [
{ "time": 0.0333, "name": "muzzle-ring" },
{ "time": 0.2, "name": null }
{ "time": 0.2 }
]
},
"muzzle-ring3": {
@ -7753,7 +7761,7 @@
],
"attachment": [
{ "time": 0.0333, "name": "muzzle-ring" },
{ "time": 0.2, "name": null }
{ "time": 0.2 }
]
},
"muzzle-ring4": {
@ -7767,7 +7775,7 @@
],
"attachment": [
{ "time": 0.0333, "name": "muzzle-ring" },
{ "time": 0.2, "name": null }
{ "time": 0.2 }
]
}
},

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View File

@ -28,6 +28,7 @@ process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true

View File

@ -412,10 +412,7 @@ void SpineSprite::update_mesh_from_skeleton(Ref<SpineSkeleton> s) {
v_num = mesh->getWorldVerticesLength() / VERTEX_STRIDE;
vertices.setSize(mesh->getWorldVerticesLength(), 0);
mesh->computeWorldVertices(*slot, 0, mesh->getWorldVerticesLength(), vertices, 0);
// uvs = mesh->getUVs();
// indices = mesh->getTriangles();
mesh->computeWorldVertices(*slot, vertices);
TEMP_COPY(uvs, mesh->getUVs());
TEMP_COPY(indices, mesh->getTriangles());