• Create a skeleton using the Joint Tool, placing joints along the bird's spine, wings, and limbs.

    • Adjust the joint positions and orientations to match the pigeon's anatomy.

    • Create additional joints for the wing hierarchy.

    • Mirror the joints if the pigeon is symmetrical.

    • Give meaningful names to each joint for organization.

    • Parent the joints to create a hierarchy.

    • Set joint orientation correctly.

    • Bind the pigeon mesh to the skeleton using Smooth Bind.

    • Test the rig by animating the joints and adjusting as needed.

    • Import your rigged bird model.

    • Select the bird mesh.

    • Go to Skin > Edit Smooth Skin > Paint Skin Weights Tool.

    • Choose the joint to paint weights for.

    • Adjust the brush settings (size, strength, etc.).

    • Paint weights on the bird mesh using left mouse button (increase) or 'X' key (decrease).

    • Check the deformation by posing the bird.

    • Repeat for other joints in the bird's rig.

    • Fine-tune and refine the weights for smooth animations.

    • Test the bird's animation for natural movement.

    • Select the control object that will drive the wing flap motion.

    • Set a keyframe for the wing's default position at the starting frame.

    • Move the control object to the desired position for the wing's fully extended flap.

    • Set another keyframe at the ending frame.

    • Go to Windows > Animation Editors > Graph Editor.

    • Select the control object's attribute that controls the wing's rotation.

    • Right-click and choose "Create Set Driven Key > Set."

    • Now, select the wing joint or controls that control the wing's rotation.

    • Right-click and choose "Create Set Driven Key > Driver."

    • Adjust the driven key curves to create a smooth and natural wing flap motion.

    • Follow similar steps as the Wing Flap, but this time, set the keyframes and relationships for the wing's folding motion.

    • Select the control object that will drive the wing fold motion.

    • Set a keyframe for the wing's default position at the starting frame.

    • Move the control object to the desired position for the wing's folded state.

    • Set another keyframe at the ending frame.

    • Create set driven keys between the control object and the wing joints or controls that control the wing's folding motion.

    • Create control objects for the fingers (e.g., individual controllers for each finger or one for all fingers).

    • Set keyframes for the fingers' default positions at the starting frame.

    • Move the finger control objects to the desired curled positions.

    • Set another keyframe at the ending frame.

    • Use set driven keys to link the finger control objects with the finger joints, affecting their curling motion.

    • Create a control object for the beak opening.

    • Set keyframes for the beak's default closed position at the starting frame.

    • Move the control object to the desired position for the fully open beak.

    • Set another keyframe at the ending frame.

    • Use set driven keys to connect the control object with the beak joint or attribute that controls the beak's opening and closing.

    • Create a control object for the eye blink (e.g., a single controller for both eyes).

    • Set keyframes for the eye's default open position at the starting frame.

    • Move the control object to the desired position for the fully closed eye.

    • Set another keyframe at the ending frame.

    • Use set driven keys to link the control object with the eye joint or attribute that controls the eye's opening and closing.