UniVRM icon indicating copy to clipboard operation
UniVRM copied to clipboard

SpringBoneのcenterにVRMのルートオブジェクトを指定すると、エクスポート時に指定が外れてしまう

Open 0b5vr opened this issue 1 year ago • 3 comments
trafficstars

See: https://github.com/vrm-c/vrm-specification/issues/470

環境情報

  • UniVRM version: ?
  • Unity version: ?
  • OS: ?

バグについて

vrm-specification側で把握したissueです。

SpringBoneのcenterにVRMのルートオブジェクトを指定すると、エクスポート時に指定が外れてしまうという報告をいただきました。

どのバージョン・どのようなモデルで発生するか分かっておらず、再現条件からの調査となると思います。

0b5vr avatar Jun 07 '24 05:06 0b5vr

vrm の root は node でなくて gltf/scene です。 gltf/scene は node index が無いので記録することができません。 vrm-0.x vrm-1.0 両方です。

gltf/scene を root に代用しているのは理由があります。

  • vrm はシーンではなくモデルなのでシングルルートにしたい
  • root に TRS を指定できないようにする の2つです。

center に root を指定するには、 仕様の変更が必要そうです。

ousttrue avatar Jun 07 '24 06:06 ousttrue

現在の挙動

  • vrm-0.x center = -1 (IndexOf)
  • vrm-1.0 center key の消滅

ousttrue avatar Jun 07 '24 06:06 ousttrue

本件ですが、UnityとglTFでルートオブジェクトの扱いが違うことから発生している仕様と解釈します。

ルートオブジェクト直属に、一切の平行移動・回転・スケールを持たないダミーのオブジェクトを用意し、それをcenterに設定することで同じ挙動を実現できます。

UniVRMに対しては、ルートレベルにcenterを指定した場合、ルートレベルはcenterに設定できない旨および、上記の通り回避策を説明する内容のWarningを何かしらの形で表示する方針でUXを改善できれば良さそうと考えます。

0b5vr avatar Aug 29 '24 03:08 0b5vr