SOMA Hand data assets#
SOMA-X v0.3 adds left- and right-hand layers whose meshes and 25-joint skeletons are strict subsets of the full-body SOMA template.
SOMAHand.npz#
This file contains the hand-to-body topology maps, remapped faces, hand joint
indices, native hand identity PCA, and separate left/right articulation-pose
PCA models. SOMAHandLayer slices rig vertices, bind transforms, and skinning
weights from SOMA_template_rig.usda.
Supported LODs are:
LOD |
Vertices per hand |
|---|---|
|
2,859 |
|
718 |
|
134 |
The native identity model has 20 components. The left and right pose priors each have 32 components over the 24 finger joints; the wrist is excluded so global hand orientation remains independent of articulation.
Pose samples are bind-relative SO(3) exponential maps. Use
tools/hand/sample_soma_hand_pose_pca.py to load the prior, convert samples to
the absolute-local convention expected by the layer, pose the skinned mesh,
and optionally render MP4/GIF output.
python tools/hand/sample_soma_hand_pose_pca.py \
--hand-type left --num-poses 60 --fps 2 \
--output-prefix out/somahand_pose_pca_samples
MANO interoperability#
The checked-in assets/MANO OBJ pairs provide the public topology
correspondence used by the MANO identity backend and conversion tools. The
MANO model itself is not redistributed. Download MANO v1.2 under its own
license and pass MANO_LEFT.pkl or MANO_RIGHT.pkl explicitly, or place the
files in the documented local asset directory.
The public conversion entry points are:
tools/hand/mano2soma.pytools/hand/soma2mano.py
Both fail with an actionable file-path error when the user-supplied MANO model is absent.
Usage limitations#
The pose PCA is an articulation prior, not a gesture classifier, and may not represent extreme or out-of-distribution hand poses. The wrist remains outside the prior so applications can control global hand orientation independently.