Open AlexECX opened 2 months ago
RIP deleted my comment by accident, this will be shorter.
TLDR material that use the same texture but with diff parameters is the problem maybe?
In the case of #2
stockings, the texture is first referred to with no additional parameters (probably what is moved by the UV morph) and then referred to with additional parameters (probably to render only the foot fishnet):
In a new case #3
I'm working with 2 variation of the same clothing/material refer to the same texture, first with Alpha=1 (regular underwear) then Alpha=0 (the hidden variation).
Zip of the problematic files: dual underwear.zip
This new case has 2 problems:
https://github.com/user-attachments/assets/593e2cb6-e23d-4367-9b1f-0fb538134f27
Thanks for the upload we'll take a look.
For transparency, the PMX format doesn't really specify which texture is transparent, so we can only rely on the alpha value and the material name to "guess" if a material is suppose to be transparent. That's why when you set opaque to 1 it's not transparent at all. We believe MMD simply treat all materials as transparent, but we don't have that option because in unity transparent materials needs to be sorted properly to appear correct (MMD must have its own rendering technique that does some sort of auto sorting). So currently for some models you need to manually go to the material list to change their transparency mode if the model doesn't look right.
For transparency, the PMX format doesn't really specify which texture is transparent, so we can only rely on the alpha value and the material name to "guess" if a material is suppose to be transparent.
Yes and I think for #1
having to manually change the sunglasses to an opacity lower than 1 is fair, I'm not even sure how PMXE does it internally. For #3
tho the material is set to opaque 0, but my guess is since the texture has already been refered to by a different material that is set to opaque 1 it just sets both to opaque?
For #3
, I tried:
To try and make sure there is no funny business with the cache between tests, I reset settings, unload the model, empty cache, restart DanceXR, then "Load As External"
Updated to version 2024.9
Updated to 2024.11 and added case #3
to main post.
Describe the bug
1. Transparent material with Alpha=1 in PMX, but isn't loaded as transparent in DanceXR
This one is not too bad to workaround, but it would be nice if it worked without tweaks.
These glasses are set to opaque in PMX while still being transparent when rendered in the editor, but are opaque in DanceXR:
The current workaround is to set Materials->Transparent Materials to
On
, manually select the glasses, and set Transparent Materials->Options->Transparent:Force Transparent
.Zip with the problematic component: zipp.zip
Screenshots of transparency in the PMX editor:
2. Material that is transparent in PMX and loaded as transparent in DanceXR, but turns opaque right after loading
Similar to the previous case, except in DanceXR the texture is transparent during the loading animation, but quickly turns opaque right after. This usually happens with materials meant to be hidden/shown using a morph that either changes the opacity or in this case moves it into place. These materials often come with empty space/texture around them that should be transparent.
https://github.com/user-attachments/assets/38ae05d6-3094-4ccf-8a8d-a661ffd9e2ee
Zip with the problematic component: stockings.zip
The current workaround is the same as for the previous case, force as transparent.
3. When 2 variation of the same clothing/material refer to the same texture, one with Alpha=1 (regular underwear) and one with Alpha=0 (the hidden variation).
Zip of the problematic files: dual underwear.zip
This new case has 2 problems:
https://github.com/user-attachments/assets/593e2cb6-e23d-4367-9b1f-0fb538134f27
Expected behavior The transparent part of the materials should be transparent by default
Desktop (please complete the following information):