Today, we'll be taking a look at the most useful tips to know for switching to Quixel Mixer coming from Substance Painter.
When you first open up Quixel Mixer, you'll see the project manager pop up. The projects on the left are basically just folders to help keep your assets organized.
To import your mesh, just click on this drop-down list > ”custom model", then click on your mesh.
To import our baked maps, click on "edit texture sets". Based on the inputs here, we're going to need a normal, ambient occlusion, curvature, and material ID map.
The thing is, Quixel Mixer doesn't have a built-in baker yet unlike Substance 3D Painter and Designer. That means we're going to need to rely on external bakers for our maps. I prefer Marmoset Toolbag because it's way faster and much easier to use but we're going with XNormal because it's free.
Inside Blender, we have our low poly and high poly meshes split into parts with each part sharing the same origin points.
To have a cleaner bake, we need to explode the mesh. Just go to search, type in pivot > and click on locations only. Switch your transform pivot point to 3D cursor, and then scale.
The goal here is to make sure that nothing's overlapping, just select the parts and scale them until they don't overlap anymore. Once that's done, export the low and high poly meshes as objs.
To bake these inside XNormal, click on "high definition meshes" > right-click > add meshes > then select your high poly. Do the same thing for the low poly.
Now that they're loaded in, click on baking options, choose the output folder, click on normal map, then click on generate maps.
Pretty straightforward except the normal map will have a ton of baking errors. That's because we need to have a cage for our bakes. All we need to do is duplicate our low poly and to keep things clean I'll move it to a new layer called "cage". Make sure only the "cage" layer is selectable.
Go into edit mode, switch to face selection mode, and then press ALT + S to scale them along their normals.
The goal here is to scale them just enough to cover both the high poly and the low poly. As a bonus tip, you can select all the cage meshes and press CTRL + F2 to batch rename them.
Put in the suffix and replace it with something like "cage". Once everything's good to go, you can go ahead and export. Now go to the low definition meshes, right-click > browse external cage file > then import your cage mesh.
Click on generate maps, and we should have a clean normal map. Now that we know it's clean, we can bump up the resolution and bake our ambient occlusion and curvature maps.
After about an hour and a half, everything should be good to go except now it's our curvature map that has baking errors. I couldn't fix the curvature map in XNormal but that's okay because we can just derive one from our normal map using Photopea (or Photoshop/GIMP if you have it).
Just drag and drop our normal map. Click on channels > then our green layer > CTRL + A to select all > CTRL + C to copy > go back to our layers and then CTRL + V to paste. Then do the same thing for our red layer. We can label them so we know which is which.
Then click on the green layer > go to filter > stylize > emboss > then set the angle to 90 and pixel height to 3. Then do the same for the red layer except the angle should be set to 0. Then set the blending mode to overlay. Then let's copy our blue channel > CTRL + I to invert > then set the blending mode to screen.
Then to fix the transparent background, just add in a new layer > set the color to gray > then go to edit and click on fill. And that's our curvature map.
The last thing we gotta do is bake our material ID map. In order to do this, we need to assign vertex colors to the parts. Make sure the viewport shading is set to vertex.
And then go to your high poly > switch to vertex paint mode > pick a random color > then press SHIFT + K to set the color.
Do this for all your parts, export the low poly, high poly, and cage meshes as fbx files, import them into XNormal and then bake out your material ID map.
Back in Quixel Mixer, we can click on "import all maps" > select the folder where they're all located > and there we go. The material ID didn't import because of the naming conventions.
Now you can either just import it manually by clicking on the folder icon or you can click on settings > then add in the suffix for your ID map. Select the folder again and this time it should import correctly.
Click on layers and let's drag in a material from the local library which is essentially Mixer's shelf. To make it visible in the layers tab, click on "add layer set" and under that is our material.
To apply the plastic to specific parts, you can add in a folder > drag the material inside > right-click > and add ID mask. Now you can press and hold Q to select the parts you want to mask based on your material ID map.
To modify the material, click on the layer, and on the right, you should see the material properties. I'll just change the color of the plastic to an off-white color.
From here, you can texture it the same way you'd do it in Painter.
Currently, Mixer doesn't have any support for opacity and emissive maps. A workaround you can do is to add a fill layer with the albedo set to white. Add in a gray fill layer and that can be for anything transparent like glass, and a black fill layer for anything you want to cut out.
And when you're finished, just export as an albedo map and just rename it to opacity. The same method can be used for emissive maps.
To export your maps, you can just choose your export location and click on export to disk. But if you need to export maps specifically for certain software like game engines, that's where Quixel Bridge comes in.
Set the export target to library > and then click on export. Open up Bridge > click on local > and under Mixer, you should see the asset you just exported.
From here you can click on export settings and specify what kind of texture maps you want to export.
In this case, I'll export it to Unreal Engine. And there you go.
At the end of the day, you can achieve a pretty decent result from just using free software. But if you're a professional artist with a ton of assets to texture and deadlines to hit, paying for a service to save time and energy is something to seriously consider.
With that said, I hope you learned a lot from this tutorial. Thank you for reading and as always, happy rendering with GarageFarm.NET!
This article was originally published on GarageFarm.NET blog.
Comments