Humanoid Rig Requirements for IK
When importing a rigged 3D model of a humanoid into Neos, it can be automatically setup with inverse kinematics, which also allows use as a full body avatar. There are certain requirements for the rig to be recognized as humanoid/biped and setup this way:
- Model can be in A-pose or T-Pose. Others might work as well
- Orientation (forward facing) should be along the positive Z axis. Flipped Z can be detected as well, but might contain bugs.
- The bones should follow a naming convention specified below. Rigs from Mixamo already follow this convention.
- The bold bones are mandatory - must be present on the rig
- The avatar also needs to have identifiable thumb - fully rigged fingers or at least one bone chain for the thumb and one for the remainder of the hand.
- Each finger must have at least two segments.
- Names are necessary for less than five fingers. For hands with five fingers, geometric detection will be used by default.
- Minimum of 3 fingers must exist for automatic hand setup to work.
- Putting any bone name with <NoIK> start or end will ignore it from the Import process.
A sample Blender rig can be found here.
Bone Naming Convention
The name of the bone needs to contain one of the listed keywords. They're case-insensitive and may be decorated with numbers (e.g. "spine01"), surrounded by special characters (e.g. "rig_spine"), side indicators (e.g. "left_hand", "LeftHand" or "hand_L") or even other words (e.g. "surgeonLUpperarm1").
- Hips/Pelvis: hips, pelvis, root
- Spine: spine, chest
- Chest: spine, chest, ribcage
- Neck: neck
- Head: head
- Shoulder: shoulder, clavicle, collar, collarbone
- Upper Arm: upperarm, arm, bicep
- Lower Arm: forearm, lowerarm, elbow
- Hand: hand, wrist, palm
- Thumb: thumb
- Index: index
- Middle: middle
- Ring: ring
- Pinky: pinky, little
- Upper Leg: leg, upleg, thigh, upperleg, hip
- Lower Leg: leg, calf, knee, shin
- Foot: foot, ankle
- Toes: toe, ball, toebase, toes