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

Position Constraintを追加していただきたいです。

Open chakapo opened this issue 1 year ago • 3 comments

uniVRM 1.0で roll constraint aim constraint rotation constraint の3つが追加されておりますが、 加えて position constraint も実装していただけますと嬉しいです。

なにとぞお願いいたします。

chakapo avatar May 07 '24 09:05 chakapo

position constraintはどのような挙動をするコンストレイントでしょうか?なにか想定する具体的な実装があれば紹介いただきたいです。 また、どのような使い方が想定されますでしょうか?いろいろな使い方が想定されていますと良いです。

0b5vr avatar May 08 '24 03:05 0b5vr

ご返答ありがとうございます。

position constraintは様々な使用用途が考えられます。 一つ目の例としましては、コートやニットなど丈の長い「衣類の骨」を入れた場合です。 腕の前後や上下に対して丈が動いてほしいのですが、 「肘」と「体」に対して「衣類の骨」をpositionConstraintし、 例えば、肘に20パーセント、体に80パーセントの位置で動くなど設定できると 自然に見えやすいです。 また、その位置からスプリングボーンなどで揺れるとさらにリアルに見えるかもしれません。 https://github.com/vrm-c/vrm-specification/assets/15460251/246b46f4-f564-4f48-a15e-ec6f6be65085

chakapo avatar May 08 '24 08:05 chakapo

ユースケースについて、動画まで添えて詳細な説明をいただきありがとうございます! コミュニティでの要望も参考にしつつ、今後仕様策定を行うか検討させていただきます。

VRM対応モデルに限らず、既存アバターでの使用事例があればぜひお伺いしたいです。

0b5vr avatar May 09 '24 09:05 0b5vr

@chakapo 氏と同様に、position constraintの導入を強く希望します。

VRM対応モデルに限らず、既存アバターでの使用事例があればぜひお伺いしたいです。

@0b5vr 結論から申し上げると、VRC Positon Constraintコンポーネントと同等の機能が欲しいです。

VRCのものにはなりますが、以下既存アバターでの使用事例について情報提供します。

例えばこちらのダボっとしたカーディガン衣装は、「脇~裾部分の骨」と「腕の骨」のpositionを連動させています。 これにより、腕の上げ下げに応じて、カーディガンの裾も開いたり閉じたりします。

以下は実際の動作を検証するデモ動画です。 https://drive.google.com/file/d/1lpUoY6BoSOy-LHHNyOOPPrhL_81x1_0e/view?usp=sharing

動画内右側のInspectorタブから分かるように、実装はVRC Positon Constraintコンポーネントにより実現されています。 動画では、腕の骨であるLowerArm_Lと裾の骨であるLower_Parts1_Loot.Lに対してpositon constraintをかけており、実際にLowerArm_Lを動かすと、それに応じてLower_Parts1_Loot.Lが動き、腕を下した際に裾が置いてけぼりになることを防いでいることがわかります。

このように、裾が長く、脇周りにゆとりがある衣装の自然な動きを実装するのに便利なのがposition constraintの仕組みです。

ぜひご検討ください。

Nacchiman avatar Oct 15 '25 12:10 Nacchiman

@Nacchiman コメントありがとうございます! 商品ならびにわかりやすい動画での解説、たいへん参考になります。 VRMコンソーシアム技術委員会内で展開させていただきます。

Nacchiman様に限らず、他にもPosition Constraintの利用事例を多くご紹介いただけますと、仕様策定の参考になります。

0b5vr avatar Oct 20 '25 08:10 0b5vr