fix(animation): preserve head tracking in Full animations — head never enabled as free bone
This commit is contained in:
@@ -605,11 +605,15 @@ public final class GltfPoseConverter {
|
|||||||
} else if (
|
} else if (
|
||||||
isFullBodyAnimation &&
|
isFullBodyAnimation &&
|
||||||
enabledParts.contains(partName) &&
|
enabledParts.contains(partName) &&
|
||||||
partsWithKeyframes.contains(partName)
|
partsWithKeyframes.contains(partName) &&
|
||||||
|
!"head".equals(partName)
|
||||||
) {
|
) {
|
||||||
// Full-body animation: free part WITH keyframes — enable.
|
// Full-body animation: free part WITH keyframes — enable.
|
||||||
// The "Full" prefix is the artist's explicit opt-in to animate
|
// The "Full" prefix is the artist's explicit opt-in to animate
|
||||||
// bones outside their declared regions.
|
// bones outside their declared regions.
|
||||||
|
// EXCEPTION: head is never enabled as a free bone — vanilla head
|
||||||
|
// tracking (mouse look) is always preserved unless the item
|
||||||
|
// explicitly owns a head region (HEAD, EYES, EARS, MOUTH).
|
||||||
part.fullyEnablePart(false);
|
part.fullyEnablePart(false);
|
||||||
} else {
|
} else {
|
||||||
// Non-Full animation, other item's part, or free part without keyframes.
|
// Non-Full animation, other item's part, or free part without keyframes.
|
||||||
|
|||||||
Reference in New Issue
Block a user