mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-07 19:26:54 +08:00
Reduce bone transforms for local transform constraints.
This is totally right in all scenarios. Right? Right.
This commit is contained in:
parent
e80b5bc7c9
commit
d1de3ce22a
@ -231,15 +231,15 @@ public class Skeleton {
|
|||||||
|
|
||||||
Array<Bone> constrained = constraint.bones;
|
Array<Bone> constrained = constraint.bones;
|
||||||
int boneCount = constrained.size;
|
int boneCount = constrained.size;
|
||||||
for (int ii = 0; ii < boneCount; ii++)
|
for (int i = 0; i < boneCount; i++)
|
||||||
sortBone(constrained.get(ii));
|
sortBone(constrained.get(i));
|
||||||
|
|
||||||
updateCache.add(constraint);
|
updateCache.add(constraint);
|
||||||
|
|
||||||
for (int ii = 0; ii < boneCount; ii++)
|
for (int i = 0; i < boneCount; i++)
|
||||||
sortReset(constrained.get(ii).children);
|
sortReset(constrained.get(i).children);
|
||||||
for (int ii = 0; ii < boneCount; ii++)
|
for (int i = 0; i < boneCount; i++)
|
||||||
constrained.get(ii).sorted = true;
|
constrained.get(i).sorted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sortTransformConstraint (TransformConstraint constraint) {
|
private void sortTransformConstraint (TransformConstraint constraint) {
|
||||||
@ -247,15 +247,23 @@ public class Skeleton {
|
|||||||
|
|
||||||
Array<Bone> constrained = constraint.bones;
|
Array<Bone> constrained = constraint.bones;
|
||||||
int boneCount = constrained.size;
|
int boneCount = constrained.size;
|
||||||
for (int ii = 0; ii < boneCount; ii++)
|
if (constraint.data.local) {
|
||||||
sortBone(constrained.get(ii));
|
for (int i = 0; i < boneCount; i++) {
|
||||||
|
Bone child = constrained.peek();
|
||||||
|
sortBone(child.parent);
|
||||||
|
if (!updateCache.contains(child, true)) updateCacheReset.add(child);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < boneCount; i++)
|
||||||
|
sortBone(constrained.get(i));
|
||||||
|
}
|
||||||
|
|
||||||
updateCache.add(constraint);
|
updateCache.add(constraint);
|
||||||
|
|
||||||
for (int ii = 0; ii < boneCount; ii++)
|
for (int i = 0; i < boneCount; i++)
|
||||||
sortReset(constrained.get(ii).children);
|
sortReset(constrained.get(i).children);
|
||||||
for (int ii = 0; ii < boneCount; ii++)
|
for (int i = 0; i < boneCount; i++)
|
||||||
constrained.get(ii).sorted = true;
|
constrained.get(i).sorted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sortPathConstraintAttachment (Skin skin, int slotIndex, Bone slotBone) {
|
private void sortPathConstraintAttachment (Skin skin, int slotIndex, Bone slotBone) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user