alloystorm / dvvr

A versatile character model viewer and motion player that supports a range of model and motion formats including PMX (MMD) & XNALara/XPS models, as well as VMD/BVH motion formats.
http://vrstormlab.com/
76 stars 2 forks source link

Bone type morphs not working properly #360

Open AlexECX opened 2 months ago

AlexECX commented 2 months ago

Describe the bug

Previous post Moving a bone morph slider (changing body part size, moving accessories, etc) will affect the target for a split second, then the target snaps back to its default position (even if the slider does not). The only way I found to make a bone morph work is very specific and unpractical: - Load a motion that requires the Play button. - Use `Enable Auto Update` on the morph (don't use the slider). - Change `Input Source` to `Loop By Time`. - Set `Output Range` to something around (0.950, 1.000), the first value MUST be between 0.940 - 0.999. - Set `Cycle (Beats)` to a value where the morph target does not flicker, `4` usually works. - Play motion, the bone will be affected by the morph as long as the motion is playing. https://github.com/user-attachments/assets/e63a0bd0-82fc-4fb0-8e96-cff03b0d1be7 :: New in version 2024.8 :: The workaround still works, but something is affecting the morph's coordinates and now her glasses end up partially inside her face.

(Edit version 2024.9)

Bone morphs work now, but there is something wrong with it.

Sunglasses are pushed into her face. If I rapidly toggle it on/off you can see it is at the correct position for a split second then is offset into her face:

https://github.com/user-attachments/assets/45079d4a-7dfa-4a88-ad0d-2dce19dee987

And here is a High heels bone morph, it seems some parts of the model are not following:

https://github.com/user-attachments/assets/ea819f25-6155-479f-8d7a-5a507e04f691

Here's a stripped-down version of the model

Desktop (please complete the following information):

alloystorm commented 2 months ago

The way it works is that you need to check the box in front of the slider to allow it to override the values. Internally the morphs are controled by animation and they are reset to 0 every frame to avoid the residual effect. The values you can set here are "overrides" but you need to check the boxes otherwise the values from animation (even if the motion doesn't contain a morph, it'll still be considerred to be value of 0) will have higher priority.

AlexECX commented 2 months ago

The way it works is that you need to check the box in front of the slider to allow it to override the values.

I'm pretty sure that's the first thing I do in the video, unless your talking about a different checkbox.

AlexECX commented 2 months ago

Edited main post with version 2024.9 information

AlexECX commented 2 months ago

Edited post with another bone morph problem, also here's a stripped-down version of the model:

SW github.zip

alloystorm commented 2 months ago

Forgot to update this post, some of these issues are fixed in the 2024.9.1382 build.

Bone morph and group morph override changes should now stay. Will try to address the rest in future updates if possible.

AlexECX commented 1 month ago

Just wanted to know if a Bone morph fix was still something in the works. With the newest 2024.9.1382 build the morph does not reset like before (good) but the morph does not work the same as in MMD or PMX Editor (not good). It seems to have the same problem as Actor->Motion Settings where updating 1 bone does not affect subsequently attached bones.

https://github.com/user-attachments/assets/06f16587-58b3-4ef0-8136-f243b3f690ea

https://github.com/user-attachments/assets/d1e01dde-5233-4871-8810-a2a3f4c7e2ce

Model with the DanceXR test morph: Michi Update.zip

AlexECX commented 1 week ago

Updated to 2024.10, issue remains

AlexECX commented 1 week ago

Updated to 2024.11