modular-avatar icon indicating copy to clipboard operation
modular-avatar copied to clipboard

Merge Armature及びBone Proxyで位置がずれる

Open Narazaka opened this issue 1 year ago • 10 comments

Modular Avatar 1.9.13

体型調整のためにスケールと角度を調整したボーン(胸ボーン等)において、Playすると位置がずれる。

  • 素体ボーン側
    • スケール調整(1.24, 1.08, 1.24)がされている
  • Merge ArmatureまたはBone Proxyで結合する衣装側
    • 素体とは異なるスケール(1.26,1.11,1.24)になっている
    • 素体と一致しない回転がある

少なくともこの場合、エディタ上とPlayで位置がずれて結合される。

逆算しがたいのでユーザー側では修正が困難です。

Narazaka avatar Jul 30 '24 13:07 Narazaka

スケール調整はScale Adjuster?それともTransformに直接いじった?

非均等のスケールは回転次第でシアーが発生して位置がずれたりすることがある(ボーンを移動した場合は移動してないのと同じ挙動を再現できない)。回避するためにはScale Adjusterで調整することを推奨しています。

bdunderscore avatar Jul 30 '24 13:07 bdunderscore

Transform直接いじりですね。 少なくとも素体ボーン側をTransform直接いじりで長年やっておりこちらは今更修正困難なんですが、衣装側のみにScale Adjusterを使用する場合1,1,1からやるべきか、あるいは素体ボーンと同一スケールから差分をScale Adjusterで調整すべきでしょうか?

Narazaka avatar Jul 30 '24 13:07 Narazaka

拙ツールではオブジェクトをネストして回転やスケールがかかる逆順に逆変換をかけて戻すみたいなことを行ったりしました https://github.com/Narazaka/BreastPBAdjuster/blob/master/Editor/BreastPBAdjusterPlugin.cs#L48 が、Merge Armatureはそういったオブジェクトを追加したりせずにボーンを結合するだけなので困難と言う感じかな……

Narazaka avatar Jul 30 '24 13:07 Narazaka

あと別件ではあるんですが、Scale Adjusterでの調整はTransformでの調整と結構挙動が違うと感じます。 場合によってはほとんどスケールが変えられない場合もあり、Transformでの調整でないと再現不可能な場合もあります。 なんというかこの乖離は何によって生じているんでしょうか?

Narazaka avatar Jul 30 '24 13:07 Narazaka

実際今回もScale Adjusterでは満足な調整が出来ない気がします……

Narazaka avatar Jul 30 '24 13:07 Narazaka

またユーザー的には挙動がちょっと自明ではないので、ズレるケースについてドキュメントに書いてあったりすると良いと思います

Narazaka avatar Jul 30 '24 13:07 Narazaka

Scale Adjusterは子オブジェクトに適用されないのが主な違いですね・・・

しかし「Merge Armatureはそれぞれのボーンを入れ子にする(と同等なことをする)」という仕様なので、その挙動からずれているかが気になるところです。渡せるプレハブで再現できますか?

bdunderscore avatar Jul 30 '24 15:07 bdunderscore

Scale Adjusterを親から全ての子につけて同じ値を設定しても同義にはなってない気がします……?

Narazaka avatar Jul 31 '24 19:07 Narazaka

ならないですね・・・

bdunderscore avatar Aug 02 '24 04:08 bdunderscore

ん…? これPR紐づけでcloseされてますが別issueでは? (偶然気付いた)

Sayamame-beans avatar Oct 30 '24 13:10 Sayamame-beans