Texture and normal map baker

Myagi

New member
The full version of my texture and normal map baker plugin is out, finally. You can find it on www.blytools.com.

Works in LW 8 and 9, and is available for 32 and 64-bit Windows.

The new version also contains some fixes since the last preview version, for those that tried that. Vertex color map support has been added, and a bug with gradient layers using bump as input has been fixed.


Questions and feedback are as always welcome. If there are any issues with the web site itself then please let me know that too.
 
This is definitely going in my toolkit from now on.

One request: Can you add a checkbox that allows me to mask areas empty of geometry to the alpha channel? If it only happens in the color map, that'd be fine. I'm doing some experiments with normal-mapped sprites and this would save me a step. :)
 
hmm, do you mean like what it outputs now in the alpha channel of a Color map? :)

(edit: you need to have an output image format that supports alpha, like the default, to get it saved)
 
Last edited:
When I tried that, the alpha map came out blank white.

Here's what I'm doing with the sprite experiment: put the base model in the background. Put a simple quad in the foreground and give it a UV map. Position it just above the model's highest point. In Texture Baker, set the trace distance to see at least the top half of the model and go.

I'm using LW9.6 on 64-bit XP, if that helps.

Actually, I found a quick workaround - select the grey in the normal map and use that. The normal map's edges are pixel-sharp.
 
Ah you meant hi-res geometry. The alpha in Color is from lo-res geometry, which will be entirely white if you had a quad.

I'll look into a hi-res mask, I could put that one in the alpha of baked normal maps. If you have a sharp edge selecting the grey works, but if you have multisampling on it gets trickier.
 
Upped a new version which outputs the hi-res mesh coverage mask to normal map alphas.

In theory you should be able to create smooth alpha edges for sprites by enabling multi-sampling and setting a sensible border size. The coverage masks don't get border expansion so the sprite edges should be ok.
 
Thanks for the fix :)

I also thought of the other obvious way around it: render at 4x size with no multisampling and shrink it down in Photoshop.
 
I have a problem baking node based texturing. My setup is pretty simple

Code:
Diffuse1 on UV1 ______|-------|
Diffuse2 on UV2 ______| Mixer |---
Mask     on UV3 ______|-------|

Similar setups for specular and normal maps.

When generating the maps, all texture related maps are "empty". By that I mean that only the texture background color (set in every texture node) is visible. The AO and accessibility maps are correct. The normal is technically correct as well but only contains geometry information, nothing from the normalmaps on the highpoly object.

If I change the textures projection to planar, spherical, etc, then the textures become visible.

Am I doing something wrong? Are there rules for baking node based texturing?
 
I'm not sure I understood your setup. Would it be possible for you to post a sample lwo file, using the surface that doesn't work? (You can remove all geometry and just leave a single poly assigned with the surface).

It's very possible/likely there are still some bugs regarding nodes, as node support is realtively new. I have to admit I'm pretty new to nodes myself, so it's possible I'm missing something, but the general rule of thumb would be not to use nodes that apply lighting calculations themselves (like material nodes) or depend on traced results.

So for example if the mixer node in your example happend to be the "Material Mixer" then that wouldn't work, as the cyan node connection type includes shaded data, which requires a lit scene and won't work in a Modeler based tool. The same goes for "Diffuse Shading", "Specular Shading" etc. inputs on "Surface". But if it was just normal UV mapped images using the regular Color/Specular/etc. inputs on "Surface" then it's supposed to work and it's something I need to fix.
 
Here is a sample object:

http://www.sparkingspot.com/temp/TBPack.zip

The idea: I have one UV set for covering the object and which has seams in certain places. I also have another UV set which has the seams along other edges, thus covering up the ones in the first UV. A third UV set is for a painted mask which is used to blend between textures using the first two UV sets, so no ugly seams visible at the end.
 
Just an update as this will take a little while longer. From what I can see UV map lookups don't work in nodes under Modeler. I'm still investigating for a possible fix or a workaround.

On one hand I can imagine why it doesn't work, but on the other hand it works for normal (non-node based) surfaces so there really shouldn't be any valid excuse for nodes. Would have been really helpful if NT had included the source for the most basic nodes (like Image) in the SDK.
 
Put up a new version with a workaround. I added my own set of nodes for Image/Normal map and Vertex Map nodes, these are evaluated correctly by the baker.

So instead of using Image and Normal Map you should now use the PB Image and PB Normal Map nodes if you use UV Map as mapping method. For those with a previous version already installed you may have to manually add the plugin again so the new nodes get registered.



(Sorry it took much longer than I had hoped, mainly because of SDK issues and lack of information)
 
For some reason any operation (select, deselect, move, link) involving your nodes is extremely laggy. It takes 5 seconds before anything happens after a click or drag.
If I manipulate other nodes, the system is responsive again.

I wonder if it's a HW, LW or node issue.
 
Back
Top