1
$\begingroup$

I am currently working on a character model / rig and I want to join some meshes together to a single object (not parented).

However, every time I try joining any mesh, all geometry except that of the mesh which was actively selected (bright orange outline) before joining becomes transparent.

Shown below is the character model with non-joined meshes and the same two meshes joined to a single one. In this example, the eye-mesh was actively selected and the body secondarily (i.e. dark orange outline). The result would be inverted if the body was actively selected (i.e. eyes transparent, body normal).

Anybody have a clue what the cause could be? The shaders all transfer correctly, nothing is changed in the viewport visibility section, flipping or recalculating normals doesn't help... I really have no idea at this point.

Outliner

Viewport

As a possible cause suggested was the "Blend Mode" of the material being set to "Alpha Hashed", this isn't the case either. The Materials are all assigned to the correct meshes and both remain "Opaque". In the images below I selected a face of the previously separated meshes respectively and took a screenshot of the material tab:

face of body selected viewport display of body

face of eye selected viewport display of eye

$\endgroup$
  • $\begingroup$ This transparent behavior looks to me like material's blending mode: alpha hashed is set. Can you check that the material which is assigned to body in the joined object is actually the skin material and not an eye material? $\endgroup$ – J. Doe Feb 29 at 0:14
  • $\begingroup$ @J.Doe I just updated the post: unfortunately the blend mode isn't the reason either. "Default" is the correct Material for the eyes, "Edited_Body" a variation of Default for the Body (with heightened contrast in the diffuse and subsurface scattering). $\endgroup$ – chrbit2 Feb 29 at 6:36
  • $\begingroup$ @J.Doe So I just did some further investigating and noticed that the UV maps of the non-active mesh are gone (i.e. the body in this case) --> that's most likely the cause. Any Idea how to keep the correct UV maps when joining two meshes? $\endgroup$ – chrbit2 Feb 29 at 6:41
1
$\begingroup$

I figured it out!

The issue: The UV maps didn't get combined on join because they did not have the same name. This resulted in all but the first UV map becoming inactive and all but the actively selected mesh, while having the correct material assigned, using that first UV map. That then resulted in the assigned materials then not being mapped properly.

Solution: Before joining the meshes, rename all UV maps to the same name. This can be done in "Object Data Properties" (the green triangle above the material tab) > "UV Maps" --> Double-click on names to rename. Then simply join as usual. The UV maps will now be combined correctly and the corrected parts of the resulting mesh will have the correct materials assigned to them properly.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.