godot-docs icon indicating copy to clipboard operation
godot-docs copied to clipboard

Provide a list of bones for SkeletonProfileHumanoid

Open fire opened this issue 2 years ago • 1 comments

Your Godot version:

4.0.2

Issue description:

SkeletonProfileHumanoid lacks documentation on what is a Humanoid bone. https://github.com/godotengine/godot/blob/24cb43a8741c7b10abbbbc77bb6e2bc188662ce0/scene/resources/skeleton_profile.cpp#L454

I am undecided if a tree or a flat dictionary dump as a json will be a better choice.

The advantage of dumping json means it will be updated as the code changes.

SkeletonProfileHumanoid
Root - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
└ Hips - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.75, 0)
  │  ├─ LeftUpperLeg - Transform3D(-1, 0, 0, 0, -1, 0, 0, 0, 1, 0.1, 0, 0)
  │  │  └─ LeftLowerLeg - Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.375, 0)
  │  │     └─ LeftFoot - Transform3D(-1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0.375, 0)
  │  │        └─ LeftToes - Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.15, 0)
  │  └─ RightUpperLeg - Transform3D(-1, 0, 0, 0, -1, 0, 0, 0, 1, -0.1, 0, 0
  │     └─ RightLowerLeg - Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.375, 0)
  │        └─ RightFoot - Transform3D(-1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0.375, 0)
  │           └─ RightToes - Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.15, 0)
  └─ Spine - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
     └─ Chest - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
        ├─ UpperChest - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
        │  ├─ LeftShoulder - Transform3D(0, 1, 0, 0, 0, 1, 1, 0, 0, 0.05, 0.1, 0)
        │  │  └─ LeftUpperArm - Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.05, 0)
        │  │     └─ LeftLowerArm - Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 0, 0.25, 0)
        │  │        └─ LeftHand - Transform3D(0, 0, 1, 0, 1, 0, -1, 0, 0, 0, 0.25, 0)
        │  │           ├─ LeftThumbMetacarpal - Transform3D(0, -0.577, 0.816, 0, 0.816, 0.577, -1, 0, 0, -0.025, 0.025, 0)
        │  │           │  └─ LeftThumbProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.043, 0)
        │  │           ├─ LeftIndexProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.025, 0.075, 0)
        │  │           │  └─ LeftIndexIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
        │  │           │    └─ LeftIndexDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │  │           ├─ LeftMiddleProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.075, 0)
        │  │           │  └─ LeftMiddleIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.075, 0)
        │  │           │    └─ LeftMiddleDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │  │           ├─ LeftRingProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.025, 0.075, 0)
        │  │           │  └─ LeftRingIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
        │  │           │    └─ LeftRingDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │  │           ├─ LeftLittleProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.05, 0)
        │  │           │  └─ LeftLittleIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
        │  │           │    └─ LeftLittleDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │  └─ RightShoulder - Transform3D(0, -1, 0, 0, 0, 1, -1, 0, 0, -0.05, 0.1, 0)
        │     └─ RightUpperArm - Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0.05, 0)
        │        └─ RightLowerArm - Transform3D(0, 0, 1, 0, 1, 0, -1, 0, 0, 0, 0.25, 0)
        │           └─ RightHand - Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 0, 0.25, 0)
        │              ├─ RightThumbMetacarpal - Transform3D(0, 0.577, -0.816, 0, 0.816, 0.577, 1, 0, 0, 0.025, 0.025, 0)
        │              │  └─ RightThumbProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.043, 0)
        │              ├─ RightIndexProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.025, 0.075, 0)
        │              │  └─ RightIndexIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
        │              │     └─ RightIndexDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │              ├─ RightMiddleProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.075, 0)
        │              │  └─ RightMiddleIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.075, 0)
        │              │     └─ RightMiddleDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │              ├─ RightRingProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.025, 0.075, 0)
        │              │  └─ RightRingIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
        │              │     └─ RightRingDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        │              └─ RightLittleProximal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.05, 0.05, 0)
        │                 └─ RightLittleIntermediate - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
        │                   └─ RightLittleDistal - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
        └─ Neck - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
           └─ Head - Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
              └─ Jaw - Transform3D(-1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0.05, 0.05)
              └─ LeftEye - Transform3D(1, 0, 0, 0, 0, -1, 0, 1, 0, 0.05, 0.15, 0)
              └─ RightEye - Transform3D(1, 0, 0, 0, 0, -1, 0, 1, 0, -0.05, 0.15, 0)

URL to the documentation page (if already existing):

https://docs.godotengine.org/en/stable/classes/class_skeletonprofilehumanoid.html

fire avatar Apr 24 '23 13:04 fire

Still pending @TokageItLab 's help on joint rule later also for XRHand.

fire avatar Jan 31 '24 20:01 fire