vrm-c / UniVRM

UniVRM is a gltf-based VRM format implementation for Unity. English is here https://vrm.dev/en/ . 日本語 はこちら https://vrm.dev/
https://vrm.dev/en
MIT License
2.65k stars 426 forks source link

Metasequoiaを使用して作成したVRM 0系のファイルでFastSpringBoneを使用するとずれがある #2049

Open FujiSunflower opened 1 year ago

FujiSunflower commented 1 year ago

環境情報

バグについて

バグの内容

Metasequoiaを使用して作成したVRM 0系のファイルでFastSpringBoneを使用するとずれがある。 なお、Blenderを使用して作成したVRM 0系・VRoid Studioを使用して作成したVRM 0系でも多少のずれがある。

ConsoleLog

image

Metasequoiaの場合のスクリーンショット

image image

Blenderの場合のスクリーンショット

image SpringBoneの半径が変わっている。 image

VRoid Stuidoの場合のスクリーンショット

image ColliderGroupに対応する位置が若干ずれている、またSpringBoneの半径が変わっている。 image

再現方法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using VRM;

public class TestFast : MonoBehaviour
{
    // Start is called before the first frame update
    async void Start()
    {
        Fast();
    }
    async void Fast()
    {
        await FastSpringBoneReplacer.ReplaceAsync(gameObject);
    }
    // Update is called once per frame
    void Update()
    {

    }
}

推測される不具合

FujiSunflower commented 1 year ago

トップコメントのVRMからCenter設定を外すと、SpringBoneの位置は期待される位置になりました。 ColliderGroupに対応する位置のずれとSpringBoneの半径の違いはそのままのようです。 image image image image

FujiSunflower commented 1 year ago

2047 FastSpringBoneの位置の違いはFastSpringBoneでのCenterの仕様らしいと理解しました。

ousttrue commented 1 year ago

報告ありがとうございます。 調査します。