fix: repair thigh weights too, and keep the gun shouldered at low-ready
Legs: the previous pass deliberately stopped at the knee, on the reasoning that cross-leg weighting above it is legitimate for skirts. It is — but the LEGS themselves are up there too, and 122 vertices on Taila's thigh mesh carry up to 35% of the opposite leg. Running and jumping are exactly what splits the legs far enough for that to show, which is why the cuffs came good while the legs kept squashing. The repair now runs above the knee as well, but only on vertices that belong to a leg. Limb membership is decided by distance to that leg's own bone chain, not by height and not by surface name: a thigh vertex hugs its bone, while a skirt vertex hangs clear of both chains and is left blended so it can still drape over the two legs. The radius is half the gap between the thigh bones, so it scales with the character rather than being a magic number. Taila now snaps 1217 vertices (was 720), Miku 370 (was 214). Weapons: at low-ready the stock was dropped 0.20 m below the shoulder joint down to the ribs, with the muzzle pitched 22 degrees down. That pulls the whole weapon off the shoulder and out of the supporting arm — it read as dangling from the hands rather than being carried. Low-ready now stays in the shoulder pocket and merely relaxes out of it (0.07 m drop), with a shallow 9 degree muzzle tilt. All six weapons now sit in the shoulder with both hands on them. FSM tests 11/11, spawn smoke test 0 failures. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
f60941d1fb
commit
a6e009d24a
@@ -940,11 +940,16 @@ class ShooterPoseModifier extends SkeletonModifier3D:
|
||||
# the handguard, instead of both arms waving at art-directed angles near it.
|
||||
# Skeleton space: character faces +Z, up +Y, character-right -X.
|
||||
|
||||
const GUN_PITCH_HIP := 0.38 # muzzle tilts down this much at low-ready
|
||||
# Muzzle tilt at low-ready. Kept shallow: at the old 0.38 rad (22 degrees)
|
||||
# the gun read as dangling from the hands rather than being carried.
|
||||
const GUN_PITCH_HIP := 0.16
|
||||
# Where the butt of the stock sits, relative to the right shoulder joint.
|
||||
# The pocket is on the FRONT of the shoulder, slightly inboard of the joint.
|
||||
# Low-ready used to drop the butt 0.20 m to the ribs, which pulled the whole
|
||||
# weapon off the shoulder and out of the arms — it never looked held. It now
|
||||
# stays in the pocket and only relaxes slightly out of ADS.
|
||||
const POCKET_ADS := Vector3(0.05, 0.01, 0.07) # in the shoulder pocket
|
||||
const POCKET_HIP := Vector3(0.02, -0.20, 0.05) # tucked down at the ribs
|
||||
const POCKET_HIP := Vector3(0.03, -0.07, 0.06) # still shouldered, relaxed
|
||||
# Elbow bend hints (skeleton space). At the hip the firing elbow rides
|
||||
# down by the ribs; shouldered it flares OUT and level (the classic
|
||||
# "chicken wing"), which is what keeps the tight fold from folding the
|
||||
|
||||
Reference in New Issue
Block a user