mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-03 06:09:09 +08:00
[ts] Fixed DeformTimeline additive blend after last frame.
This commit is contained in:
parent
070b3c98d8
commit
78a1df5c8e
@ -812,7 +812,7 @@ module spine {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch (blend) {
|
switch (blend) {
|
||||||
case MixBlend.setup:
|
case MixBlend.setup: {
|
||||||
let vertexAttachment = slotAttachment as VertexAttachment;
|
let vertexAttachment = slotAttachment as VertexAttachment;
|
||||||
if (vertexAttachment.bones == null) {
|
if (vertexAttachment.bones == null) {
|
||||||
// Unweighted vertex positions, with alpha.
|
// Unweighted vertex positions, with alpha.
|
||||||
@ -827,13 +827,24 @@ module spine {
|
|||||||
vertices[i] = lastVertices[i] * alpha;
|
vertices[i] = lastVertices[i] * alpha;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case MixBlend.first:
|
case MixBlend.first:
|
||||||
case MixBlend.replace:
|
case MixBlend.replace:
|
||||||
for (let i = 0; i < vertexCount; i++)
|
for (let i = 0; i < vertexCount; i++)
|
||||||
vertices[i] += (lastVertices[i] - vertices[i]) * alpha;
|
vertices[i] += (lastVertices[i] - vertices[i]) * alpha;
|
||||||
case MixBlend.add:
|
case MixBlend.add:
|
||||||
for (let i = 0; i < vertexCount; i++)
|
let vertexAttachment = slotAttachment as VertexAttachment;
|
||||||
vertices[i] += lastVertices[i] * alpha;
|
if (vertexAttachment.bones == null) {
|
||||||
|
// Unweighted vertex positions, with alpha.
|
||||||
|
let setupVertices = vertexAttachment.vertices;
|
||||||
|
for (let i = 0; i < vertexCount; i++) {
|
||||||
|
vertices[i] += (lastVertices[i] - setupVertices[i]) * alpha;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Weighted deform offsets, with alpha.
|
||||||
|
for (let i = 0; i < vertexCount; i++)
|
||||||
|
vertices[i] += lastVertices[i] * alpha;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user