JointType 列挙型を値ごとにソートして出力する(違和感がある)
msdn(公式) のリファレンスでは、JointType はアルファベット順にソートされています。 値型の順で確認したかったので、ソートして出力しました。
JointType Enumeration - msdn(JointType)列挙型の走査は次のようにして実装することができます。
値順にソートすると違和感が
次の表が値順にソートされた JointType 列挙型です。 v1 (SDK1.8) までに骨格情報を利用したことがある方、 あるいは3DCG の人体モデルを扱ったことがある方は特に、この順に違和感を覚えると思います。
3DCG では多くの場合に(SDK1.8 までは)、腰を基準にして外向きに骨格を繋いでゆきます。 しかし SDK2.0 で確認できるこの結果では、SpineShoulder がなぜか 20 番目にあり、 さらに手(Hand)の先に繋がっている、ThumbLeft や HandTipLeft が 23 と 24 番目にあります。
SpineBase > SpineMid > SpineShoulder > Neck と続く方が自然ですし、 WristLeft > HandLeft> ThumbLeft の方が自然だと思うのは私だけでしょうか。 どうにも後からとってつけたような位置にいるような。今後実装形態が変わるような気がしてなりません。
Membar | Value | Member | Value |
---|---|---|---|
SpineBase | 0 | HipLeft | 12 |
SpineMid | 1 | KneeLeft | 13 |
Neck | 2 | AnkleLeft | 14 |
Head | 3 | FootLeft | 15 |
ShoulderLeft | 4 | HipRight | 16 |
ElbowLeft | 5 | KneeRight | 17 |
WristLeft | 6 | AnkleRight | 18 |
HandLeft | 7 | FootRight | 19 |
ShoulderRight | 8 | SpineShoulder | 20 |
ElbowRight | 9 | HandTipLeft | 21 |
WristRight | 10 | ThumbLeft | 22 |
HandRight | 11 | HandTipRight | 23 |
ThumbRight | 24 |