CatRig
Wick himself — the lighthouse cat's geometry, his bones, and the poses he moves between.
art.wick.CatRig
Wick himself — the lighthouse cat's geometry, his bones, and the poses he moves between.
The rig
Every bone's mesh is lofted along +Y, from its joint at y = 0 to its tip at
y = length, so a child bone sits at (0, length, 0) in its parent and every
joint is one rotation about Z. The cat's belly is local -X and his back is
local +X: that is the side his legs reach from, which is what lets the body
turn its paws toward a wall by turning the root alone.
wick_rig the whole body's angle and its stand-off from the stone
wick_torso the spine
wick_neck wick_collar (brass), wick_lantern -> wick_lens (+ point light)
wick_head wick_eye_l, wick_eye_r, wick_nose
wick_fl_up -> wick_fl_lo front legs, one either side in z
wick_fr_up -> wick_fr_lo
wick_bl_up -> wick_bl_lo hind legs, off the pelvis
wick_br_up -> wick_br_lo
wick_tail1 -> wick_tail2 -> wick_tail3
R.build(root) spawns that tree under an entity and returns the handles.
R.apply(rig, pose, rootExtra) writes a pose onto it; rootExtra turns the
whole body on top of the pose's own angle, which is how a leap follows its arc
and a knocked-off cat tumbles.
Colour
Vertex colour multiplies the material's base colour, so wick_fur holds the
PALE value — the belly, the muzzle, the socks — and the per-ring multipliers in
this module carry the coat down to charcoal. That is where the tabby banding on
the tail and the light chest come from, with no texture to author.
Poses
R.POSES is a table of joint-angle records, in radians about Z, positive
tipping a bone toward the belly (the wall) side: cling, grip, kick,
fly, reach, land, fall, win, lost. R.blend(a, b, t) mixes two.
Nothing here reads the game — game.WickBody chooses the pose and blends
toward it.
Scoped to this part · feeds back into the world's score.