ruyo / VRM4U

Runtime VRM loader for UnrealEngine4
Other
1.36k stars 176 forks source link

wrong space for the mannequin-bone #29

Open Eric8925 opened 4 years ago

Eric8925 commented 4 years ago

I tried to replace the offical mannequin model directly with the imported version of ue4mannequin(by vrm4u). Every bone was aligned, but there was a severe rotation distortion. By comparing the skeletal structure of the two models, I found that their skeletal space is different. The X-axis of each bone in mannequin is parallel to the direction of the bone, whereas the X-axis of each bone in the VRM4U model appears to be oriented to the left hand side of the model. If this difference can be corrected , the imported model might be used directly as mannequin without retarget at all. Is it possible to fix it? ps. Your works is definitely great!

ruyo commented 4 years ago

Hi.

I'm sorry if this is different from my interpretation. You probably want to commonize Skeleton for UE4mannequin and all VRMs, but I think that's hard to do.

VRM files are not limited by the hierarchical structure of the bones. This is probably a direct application of Unity's Humanoid rules. There are also optional bones such as UpperChest and Jaw.

If you work with VRM files with common rules (e.g. only those created in VRoidStudio), it is possible to make Skeleton common by aligning the axes.

Thanks.

Eric8925 commented 4 years ago

It's my fault. It's hard to describe without pictures. My test model is the official model for vroid. As shown in picture 1, ALS V4 can be switched to mannequin by pressing M. I directly replaced the mannequin here with the generated "mannequin skeleton mesh" by VRM4U.

1

When I tested it, it turned into picture 2. All movement was normal, but almost every bone was twisted(except for the arms, which are horizontal by default).

2

But this distortion is regular, as you can see from picture 3, as I said in the last post.

3

I don't know much about "skeleton space axes“. Are there some methods to change it?

Thanaks very much for your reply!

NowListen commented 4 years ago

@Eric8925 Hello, I think you also have problems with switching bones. Are you looking for a solution? question :when I want to use multiple sets of VRM to use the same animation blueprint, it can be displayed normally in the Game, but after packaging, it will not work well at runtime, and there will be deformation.

ruyo commented 4 years ago

I understand now.

If I could successfully modify the bones of the reference skeleton, it might be possible to have some commonality with the UE4Mannequin.

However, as mentioned above, some VRM formats have different bone parent-child structures, and some models have different numbers of spines. I'll test it out, but it may be a bit difficult.

Thank you for the interesting suggestions.

JamesScottCode commented 2 years ago

I also ran into this issue.

chendongde310 commented 1 year ago

I also ran into this issue.

ChangJin-Lee commented 3 months ago

It might be helpful

https://velog.io/@whoamicj/UE5-TPS-%EA%B2%8C%EC%9E%84%EC%9D%98-%EC%A0%81-%EC%BA%90%EB%A6%AD%ED%84%B0%EC%97%90-%EB%8B%A4%EC%96%91%ED%95%9C-%EB%AA%A8%EB%8D%B8-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0-ALS-V4%EC%99%80-VRoid-%EB%A6%AC%ED%83%80%EA%B8%B0%ED%8C%85-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C