[ue4] Skeletons in SpineWidget are centered now. Closes #1329.

This commit is contained in:
badlogic 2019-04-17 16:28:25 +02:00
parent d337f587b7
commit 145aaf27ce
8 changed files with 3532 additions and 2365 deletions

Binary file not shown.

View File

@ -1,250 +1,271 @@
raptor.png raptor.png
size: 1022,1022 size: 1024,512
format: RGBA8888 format: RGBA8888
filter: Linear,Linear filter: Linear,Linear
repeat: none repeat: none
back_arm back-arm
rotate: false rotate: false
xy: 410, 545 xy: 895, 295
size: 46, 29 size: 46, 25
orig: 46, 29 orig: 46, 25
offset: 0, 0 offset: 0, 0
index: -1 index: -1
back_bracer back-bracer
rotate: false rotate: true
xy: 540, 548 xy: 992, 216
size: 39, 28 size: 39, 28
orig: 39, 28 orig: 39, 28
offset: 0, 0 offset: 0, 0
index: -1 index: -1
back_hand back-hand
rotate: true rotate: false
xy: 504, 538 xy: 594, 58
size: 36, 34 size: 36, 34
orig: 36, 34 orig: 36, 34
offset: 0, 0 offset: 0, 0
index: -1 index: -1
back_knee back-knee
rotate: false rotate: true
xy: 299, 478 xy: 729, 86
size: 49, 67 size: 49, 67
orig: 49, 67 orig: 49, 67
offset: 0, 0 offset: 0, 0
index: -1 index: -1
back_thigh back-thigh
rotate: true rotate: false
xy: 140, 247 xy: 379, 2
size: 39, 24 size: 39, 24
orig: 39, 24 orig: 39, 24
offset: 0, 0 offset: 0, 0
index: -1 index: -1
eyes_open eyes-open
rotate: true rotate: true
xy: 2, 2 xy: 902, 194
size: 47, 45 size: 47, 45
orig: 47, 45 orig: 47, 45
offset: 0, 0 offset: 0, 0
index: -1 index: -1
front_arm front-arm
rotate: false rotate: false
xy: 360, 544 xy: 945, 306
size: 48, 30 size: 48, 26
orig: 48, 30 orig: 48, 26
offset: 0, 0 offset: 0, 0
index: -1 index: -1
front_bracer front-bracer
rotate: false rotate: false
xy: 538, 578 xy: 949, 197
size: 41, 29 size: 41, 29
orig: 41, 29 orig: 41, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
front_hand front-hand
rotate: false rotate: false
xy: 538, 609 xy: 949, 266
size: 41, 38 size: 41, 38
orig: 41, 38 orig: 41, 38
offset: 0, 0 offset: 0, 0
index: -1 index: -1
front_open_hand front-open-hand
rotate: false rotate: false
xy: 894, 782 xy: 875, 148
size: 43, 44 size: 43, 44
orig: 43, 44 orig: 43, 44
offset: 0, 0 offset: 0, 0
index: -1 index: -1
front_thigh front-thigh
rotate: false rotate: true
xy: 942, 849 xy: 793, 171
size: 57, 29 size: 57, 29
orig: 57, 29 orig: 57, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
gun gun
rotate: false rotate: true
xy: 785, 774 xy: 379, 28
size: 107, 103 size: 107, 103
orig: 107, 103 orig: 107, 103
offset: 0, 0 offset: 0, 0
index: -1 index: -1
gun_nohand gun-nohand
rotate: false rotate: false
xy: 614, 703 xy: 487, 87
size: 105, 102 size: 105, 102
orig: 105, 102 orig: 105, 102
offset: 0, 0 offset: 0, 0
index: -1 index: -1
head head
rotate: false rotate: false
xy: 2, 137 xy: 807, 361
size: 136, 149 size: 136, 149
orig: 136, 149 orig: 136, 149
offset: 0, 0 offset: 0, 0
index: -1 index: -1
lower_leg lower-leg
rotate: true rotate: false
xy: 780, 699 xy: 827, 195
size: 73, 98 size: 73, 98
orig: 73, 98 orig: 73, 98
offset: 0, 0 offset: 0, 0
index: -1 index: -1
mouth_smile mouth-grind
rotate: true rotate: true
xy: 49, 2 xy: 920, 145
size: 47, 30
orig: 47, 30
offset: 0, 0
index: -1
mouth-smile
rotate: true
xy: 992, 257
size: 47, 30 size: 47, 30
orig: 47, 30 orig: 47, 30
offset: 0, 0 offset: 0, 0
index: -1 index: -1
neck neck
rotate: true rotate: false
xy: 1001, 860 xy: 359, 114
size: 18, 21 size: 18, 21
orig: 18, 21 orig: 18, 21
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_arm_back raptor-back-arm
rotate: false rotate: false
xy: 940, 936 xy: 653, 142
size: 82, 86 size: 82, 86
orig: 82, 86 orig: 82, 86
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_body raptor-body
rotate: false rotate: false
xy: 2, 737 xy: 2, 277
size: 610, 285 size: 632, 233
orig: 610, 285 orig: 632, 233
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_front_arm raptor-front-arm
rotate: true rotate: true
xy: 195, 464 xy: 484, 4
size: 81, 102 size: 81, 102
orig: 81, 102 orig: 81, 102
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_front_leg raptor-front-leg
rotate: false rotate: false
xy: 2, 478 xy: 2, 18
size: 191, 257 size: 191, 257
orig: 191, 257 orig: 191, 257
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_hindleg_back raptor-hindleg-back
rotate: false rotate: false
xy: 614, 807 xy: 636, 295
size: 169, 215 size: 169, 215
orig: 169, 215 orig: 169, 215
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_horn raptor-horn
rotate: false rotate: false
xy: 360, 655 xy: 195, 22
size: 182, 80 size: 182, 80
orig: 182, 80 orig: 182, 80
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_horn_back raptor-horn-back
rotate: false rotate: true
xy: 360, 576 xy: 945, 334
size: 176, 77 size: 176, 77
orig: 176, 77 orig: 176, 77
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_jaw raptor-jaw
rotate: false rotate: false
xy: 785, 879 xy: 359, 137
size: 153, 143 size: 126, 138
orig: 153, 143 orig: 126, 138
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_saddle_noshadow raptor-jaw-tooth
rotate: false
xy: 2, 288
size: 163, 188
orig: 163, 188
offset: 0, 0
index: -1
raptor_saddle_strap_front
rotate: false
xy: 721, 710
size: 57, 95
orig: 57, 95
offset: 0, 0
index: -1
raptor_saddle_strap_rear
rotate: true rotate: true
xy: 940, 880 xy: 895, 322
size: 37, 48
orig: 37, 48
offset: 0, 0
index: -1
raptor-mouth-inside
rotate: true
xy: 949, 228
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
raptor-saddle-strap-back
rotate: true
xy: 653, 86
size: 54, 74 size: 54, 74
orig: 54, 74 orig: 54, 74
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_saddle_w_shadow raptor-saddle-strap-front
rotate: false rotate: false
xy: 195, 547 xy: 594, 94
size: 163, 188 size: 57, 95
orig: 163, 188 orig: 57, 95
offset: 0, 0 offset: 0, 0
index: -1 index: -1
raptor_tongue raptor-saddle-w-shadow
rotate: true rotate: false
xy: 544, 649 xy: 195, 104
size: 162, 171
orig: 162, 171
offset: 0, 0
index: -1
raptor-tail-shadow
rotate: false
xy: 636, 230
size: 189, 63
orig: 189, 63
offset: 0, 0
index: -1
raptor-tongue
rotate: false
xy: 807, 295
size: 86, 64 size: 86, 64
orig: 86, 64 orig: 86, 64
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stirrup_back stirrup-back
rotate: false rotate: true
xy: 458, 539 xy: 952, 151
size: 44, 35 size: 44, 35
orig: 44, 35 orig: 44, 35
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stirrup_front stirrup-front
rotate: true rotate: false
xy: 81, 4 xy: 902, 243
size: 45, 50 size: 45, 50
orig: 45, 50 orig: 45, 50
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stirrup_strap stirrup-strap
rotate: true rotate: false
xy: 894, 828 xy: 824, 147
size: 49, 46 size: 49, 46
orig: 49, 46 orig: 49, 46
offset: 0, 0 offset: 0, 0
index: -1 index: -1
torso torso
rotate: true rotate: false
xy: 610, 647 xy: 737, 137
size: 54, 91 size: 54, 91
orig: 54, 91 orig: 54, 91
offset: 0, 0 offset: 0, 0
index: -1 index: -1
visor visor
rotate: false rotate: false
xy: 2, 51 xy: 487, 191
size: 131, 84 size: 131, 84
orig: 131, 84 orig: 131, 84
offset: 0, 0 offset: 0, 0

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 KiB

After

Width:  |  Height:  |  Size: 469 KiB

View File

@ -172,9 +172,11 @@ void SSpineWidget::Flush(int32 LayerId, FSlateWindowElementList& OutDrawElements
SSpineWidget* self = (SSpineWidget*)this; SSpineWidget* self = (SSpineWidget*)this;
const FVector2D widgetSize = AllottedGeometry.GetDrawSize(); const FVector2D widgetSize = AllottedGeometry.GetDrawSize();
const float setupScale = (widgetSize / FVector2D(boundsSize.X, boundsSize.Y)).GetMin(); const FVector2D sizeScale = widgetSize / FVector2D(boundsSize.X, boundsSize.Y);
const float setupScale = sizeScale.GetMin();
for (int i = 0; i < Vertices.Num(); i++) { for (int i = 0; i < Vertices.Num(); i++) {
Vertices[i] = (Vertices[i] - FVector(boundsMin.X, -(boundsMin.Y + boundsSize.Y), 0)) * setupScale * widget->Scale; Vertices[i] = (Vertices[i] + FVector(-boundsMin.X - boundsSize.X / 2, boundsMin.Y + boundsSize.Y / 2, 0)) * setupScale * widget->Scale + FVector(widgetSize.X / 2, widgetSize.Y / 2, 0);
} }
self->renderData.IndexData.SetNumUninitialized(Indices.Num()); self->renderData.IndexData.SetNumUninitialized(Indices.Num());
@ -186,9 +188,6 @@ void SSpineWidget::Flush(int32 LayerId, FSlateWindowElementList& OutDrawElements
FVector2D offset = AllottedGeometry.AbsolutePosition; FVector2D offset = AllottedGeometry.AbsolutePosition;
FColor white = FColor(0xffffffff); FColor white = FColor(0xffffffff);
float width = AllottedGeometry.GetAbsoluteSize().X;
float height = AllottedGeometry.GetAbsoluteSize().Y;
for (size_t i = 0; i < (size_t)Vertices.Num(); i++) { for (size_t i = 0; i < (size_t)Vertices.Num(); i++) {
setVertex(&vertexData[i], Vertices[i].X, Vertices[i].Y, Uvs[i].X, Uvs[i].Y, Colors[i], offset); setVertex(&vertexData[i], Vertices[i].X, Vertices[i].Y, Uvs[i].X, Uvs[i].Y, Colors[i], offset);
} }