Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

broken vertices when converted to generic mmd #47

Open
akaneP opened this issue Dec 17, 2020 · 4 comments
Open

broken vertices when converted to generic mmd #47

akaneP opened this issue Dec 17, 2020 · 4 comments

Comments

@akaneP
Copy link

akaneP commented Dec 17, 2020

when converted to mmd, there are a bunch of (hidden) bones that affect the vertices of the leg. even when deleting these bones, they still seem to be pulled towards something. it isn't noticeable in mmd on its own, but is present in transform views motion player and mikumikumoving
video is of a base model after conversion in transform view (also, broken shadows?)
https://streamable.com/dxwooz

@Sozuke
Copy link

Sozuke commented Feb 20, 2021

in generic mmd the bones have cryptic names like bone1fa2003 this apparently is a bug in the program (if you export your model without translating the bones you will see that this weird bone becomes something like INT_KUBI_ROTx50)

those bones have utility in unity but not in mmd except for the elbows and knees.

removing them does not solve the problem, it generates others with the weight of the vertices.

@akaneP
Copy link
Author

akaneP commented Feb 22, 2021

in generic mmd the bones have cryptic names like bone1fa2003 this apparently is a bug in the program (if you export your model without translating the bones you will see that this weird bone becomes something like INT_KUBI_ROTx50)

those bones have utility in unity but not in mmd except for the elbows and knees.

removing them does not solve the problem, it generates others with the weight of the vertices.

oh, so they're leftovers from the usual naming convention of imas models? you said removing them doesn't solve the problem, but does that apply to just the translated bones? at least in the case of the console models, i swear removing them worked fine.

@Sozuke
Copy link

Sozuke commented Feb 25, 2021

if you compare the structure of the untranslated bones you will notice that some of them have a z x y at the end of the name next to a number for example
int_ashi_momo_z50 or int_kubi_x0

the first one means that this bone rotates the same as ashi (the knee) and is related to momo (the leg) the z is the axis of rotation and the 50 means the intensity (in percentage, translated to mmd would be like .5)

the second one means that the bone will not rotate at all but its parent is kubi, usually the ones with 0 at the end have nothing rigged so those are ok to eliminate, unfortunately you have to do the ik by hand because when loading them by code or from another model mmd assumes that only those are in the chain and ignores the other bones (that's why it looks like the leg is broken)

@hozuki
Copy link
Member

hozuki commented Feb 28, 2021

Actually... the weired naming is not a bug. It's designed to limit the bone names to 15 bytes (in Shift-JIS encoding). The limit does not present in PMX (it uses null-terminated strings); it is due to VMD (it uses fixed-length strings).
I should add an option to not truncating these names if you only want the PMX model. But beware, PMXs without bone name truncation will not work with VMDs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants