vrm-specification icon indicating copy to clipboard operation
vrm-specification copied to clipboard

Tポーズの定義を数値で行って欲しい

Open TokageItLab opened this issue 4 years ago • 1 comments

T ポーズに関して、現状の定義では A スタンスでもローカル軸の回転の破棄さえ行えば T ポーズという判断ができてしまうように考えています。また、現状 Unity に頼っているところもあるので、きちんと VRM の数値として定義を行ったほうがバリデーションの実装を行う際のリファレンスとして使えるので良いと考えます。

例えば具体的には、

  • モデルのローカル軸の方向が推奨値になっている前提であれば、「親から子へ向かう軸のベクトル」と「親子の2ジョイントの座標から得たベクトル」の内積の許容(もしくは推奨)範囲を決める
  • モデルのローカル軸の方向が推奨値になっていない前提であれば、「推奨値のローカル軸の方向において親から子へ向かう軸のベクトル」と「親子の2ジョイントの座標から得たベクトル」の内積の許容(もしくは推奨)範囲を決める

のような形になるかと思います。

後者に関しては、あくまで T ポーズを制約ではなく強く推奨という形にするのであれば T ポーズでないと判断しても問題ないかもしれませんが...。(現在の Force T-Pose が強制でない事からも T ポーズは制約というより推奨という形なのかなと思っています)

ただし前者に関しても、VRM 0.0 だと親から子へ向かう軸の定義よりも先に回転の破棄が来てしまっており、この軸の定義が曖昧(例えば回転が 0 だからといって必ずしも太ももの Y 軸上に膝があるわけではない)という事もあるので、#34 のローカル軸の方向の定義をどうするかの議論も進める必要があると考えますが...。

TokageItLab avatar Jun 14 '21 16:06 TokageItLab

技術委員会で議論を行いました。現在の技術委員会の体制では仕様を一意に定めるにリスクが高いため、もう少し慎重に決めたく、VRM1.0では厳密な定義を行いません。 ですが、今後中長期的に取り組まなければいけない問題であると合意を得ています。

0b5vr avatar Jun 17 '21 08:06 0b5vr