UniVRM
UniVRM copied to clipboard
SpringBoneのcenterにVRMのルートオブジェクトを指定すると、エクスポート時に指定が外れてしまう
See: https://github.com/vrm-c/vrm-specification/issues/470
環境情報
- UniVRM version: ?
- Unity version: ?
- OS: ?
バグについて
vrm-specification側で把握したissueです。
SpringBoneのcenterにVRMのルートオブジェクトを指定すると、エクスポート時に指定が外れてしまうという報告をいただきました。
どのバージョン・どのようなモデルで発生するか分かっておらず、再現条件からの調査となると思います。
vrm の root は node でなくて gltf/scene です。
gltf/scene は node index が無いので記録することができません。
vrm-0.x vrm-1.0 両方です。
gltf/scene を root に代用しているのは理由があります。
- vrm はシーンではなくモデルなのでシングルルートにしたい
- root に TRS を指定できないようにする の2つです。
center に root を指定するには、 仕様の変更が必要そうです。
現在の挙動
vrm-0.xcenter = -1 (IndexOf)vrm-1.0center key の消滅
本件ですが、UnityとglTFでルートオブジェクトの扱いが違うことから発生している仕様と解釈します。
ルートオブジェクト直属に、一切の平行移動・回転・スケールを持たないダミーのオブジェクトを用意し、それをcenterに設定することで同じ挙動を実現できます。
UniVRMに対しては、ルートレベルにcenterを指定した場合、ルートレベルはcenterに設定できない旨および、上記の通り回避策を説明する内容のWarningを何かしらの形で表示する方針でUXを改善できれば良さそうと考えます。