0
$\begingroup$

Title pretty much says it, I'm pretty new to all of this and I'm trying to follow beginner guides on YouTube. So far I've been able to fineagle things and work them out myself but now I'm at a loss.

UV Map

I've been trying to optimize this model for use in VRChat, because I don't want to be a resource hog, however this is all very involved.

Right now I'm trying to apply a Texture Atlas, and everything goes fine until I actually bake the Atlas, to which point it gives me a black image with my UV mapped items inside of it. Atlas Menu W/ Nodes

Resulting Atlas

Any advice would be nice, and of course if any additional information is needed I'll be happy to oblige!

$\endgroup$

1 Answer 1

0
$\begingroup$

It's hard to tell just with your screenshots, especially because nobody knows how your shader group works inside.

But a guess could be that this shader group actually uses emission shaders instead of diffuse shaders. Your baking being set to pickup raw color from diffuse, the result is black.

So, I'd try to set your Bake Type to Emit:

bake Emit

After you have done the baking, you end up with this texture:

texture result

Now, as you worked correctly so far, you have your mesh with lots of material slots for each body part, who used a different UV unwrapping than the one used in your baking. So what you need to do now is to set up a single material, that uses just your baked texture, and the correct UV unwrapping.

One way to do that would be to remove all the materials (not mandatory but cleaner) and make a new one. In edit mode, select all your mesh and click the Assign button just bellow the materials slots list. That way your new material will be used on the entirety of your object's meshe.

Then, in the material, you can use the default principled shader or any custom one, doens't really matter. The important part is then to set your baked texture to use your baked UV. Two ways for this:

  • the safest option is to just add a UV Map node (found under the Inputs category) and specify the baked UV unwrap there. Plug this node to the atlas texture's vector input, and you're good to go.

UV Map node

  • if you count on using only that baked UV from now on and don't need the old one, you should probably just delete the old so to set the new one as your default UV for that object, you don't have to manually invoke it in each eventual new shader you make.
    To do this, got to the Properties Editor > Mesh tab, UV Maps panel, select your old UV unwrap and click the - icon next to the UVs list.
    This option is destructive, you do lose your old UV unwrap. So don't use it if you're unsure or keep a backup blend file somewhere.

delete UV

Next, since lots of your materials used transparency, but Blender doesn't have an easy way to bake that, we're going to use a little trick.

Since it's pretty rare for a color texture to have any pure black, (and advised to not do so nonetheless), and Blender bakes transparent pixels into pure black pixels, we can litterally obtain a quick alpha channel by just taking whatever's not black in that atlas texture and turning it white. The simplest way to do that is with a node Converter > Math. Set its mode to Greater than, plug your atlas in the first input, and set the Threshold to zero. Pixel colors are values, black iz zero. So that node will turn anything not black into white, and thus giving us an alpha texture. You could bake it if you wanted, just plug it into an emission shader and do a new bake in a new texture file. But for my example, I will just plug it into a Principled shader's alpha:

final result

$\endgroup$
6
  • $\begingroup$ To be honest, I don't either. The model was generated using the software VRoid, available on Steam. I exported it as a VRM file and imported it into Blender using a converter - which doesn't make this any easier. If you need additional screenshots which would hold more valuable information, please let me know of what and I'll share them! $\endgroup$
    – Matthew
    Commented Dec 8, 2021 at 23:35
  • $\begingroup$ And for what it's worth, Emission just makes it sort of a different type of screwed up - I can provide that too if you'd like. $\endgroup$
    – Matthew
    Commented Dec 8, 2021 at 23:54
  • $\begingroup$ maybe just pack your blend and share it so we can dig in x) $\endgroup$
    – Lauloque
    Commented Dec 9, 2021 at 0:32
  • $\begingroup$ Can I.. Just.. Do that? How would I go about sharing that? Lol sorry. $\endgroup$
    – Matthew
    Commented Dec 9, 2021 at 13:34
  • $\begingroup$ Here, I placed the .blend file into Dropbox with Packing Data available, I hope this works! dropbox.com/s/qhgz21033y4cerm/Male2B4Atlas.blend?dl=0 $\endgroup$
    – Matthew
    Commented Dec 9, 2021 at 13:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .