This is a long time coming for us- Handplane is now a full baking tool. Our goal with handplane baker is to build the most efficient baking tool for a production environment and make it free. We have a lot of cool features that should save you time and effort. I did a video overview of the tool which you can watch here:
*Fixed some low level bugs exposed by meshes missing important information (texture coordinates, normals)*Added notification for bake failures when models are missing texture coordinates, normals, or other critical info.
*Sets default image format to tiff 16
Some of the highlights:
I have been doing my testing on 10-20 million triangle meshes. Loading and baking models that large is super quick. With the exception of our ray trace AO, all of our output maps are extremely fast. The raytrace AO is the slowest output but we also have an alternative post process AO that is very quick/smooth and works well in many circumstances. For a benchmark on large mesh handling (with an i7 4770k): A 20 million triangle mesh takes about 6 seconds to load into memory, building the projection structure takes an addition 5 seconds, and baking a 2k 4x super sample tangent space map takes 7 seconds. Totaling 18 seconds for a final quality 2k bake of 20 million triangles.
This lets you bake multiple meshes on top of each other into one output map. No more exploding models. Projection groups also let you do things like isolate ambient occlusion within a group, assign ray projection distances to multiple models at once, and assign materials. Here is an overview of the model loading and projection setup page of our UI:
You can create, save, and share libraries of material base colors. Assign them to pieces of your models and they are baked into an organized PSD set up with layer masks, ready for you to paint on. I am really hoping people post and share their material libraries so we can build a central repository for everyone to work from. You can name and edit colors for 3 material properties in the editor like this:
This is very flexible, and can be used for metalness, specular, or even something like dota2 material output. For dota2 output you would name your channels color, mask1, mask2 and then for the mask layers adjust each RGB color channel to set your desired metalness, color warp... We still need to figure out an a clean way to handle the alpha channel properties for specular exponent and self illumination. You can use the matID swatch color to get an additional 3 color channels but they aren’t masked nicely like the others. Suggestions are welcome.The resulting PSD pulls in all the naming and colors done in handplane and looks like this:
In addition to all of the tangent space outputs in older version of handplane we have added support for Unity 5.3, Unreal 4, and Source 2. All of these have also been ported to the tangent space calculator which I will post separately as handplane 1.6.
*More fast AO output options and improvements to what we currently have.
*I would like to look into substance painter integration or find ways to make our tool work seamlessly with substance.
*Figure out why exporting a model as FBX, and then exporting a second copy with push modifier results in a different file size. This is a pain for cages.
*figure out FBX issue (someone who has this issue needs to send me files so I can reproduce it)
*Create warning with option to cancel when users bake without an output location set
*Add a button to the UI to open the output location in explorer
*.tga support <- Also make sure 8 bpp output is dithered
*Set tiff to default output. Personally, I don't like PNG files.
*Create a user editable default project
A cool feature like the .SBM exporter of Xnormal would be great
I think I have a new favorite baker =]
I've a quick question though - I remember seeing the Handplane demos in the past, where you no longer need smoothing groups - just bake as an object space normal via some other baker and use Handplane to convert into tangent space and sync into an engine of your choice.
In the youtube demo for this baker, the model had smoothing errors all over - so is that because handplane baker handles both things at once? (baking your maps, but also fixing smoothing errors via Handplane native)
Absolutely amazing stuff though!
First off, I tend to use SkewMesh techniques a lot, and I bake only in 3ds Max, rather than xNormal, for the SkewMesh techniques to work, we tessellate the model and bake an Object Space / World Space Normal, then "convert" using 3ds Max native baker to Tangent Space Normal
If I were to use Handplane baker, I baked an Object Space, I just can't seem to make it behave in 3ds Max (Flipped Green, Flipped Red, Swap Red and Green, etc) So I am wondering this:
Can you have an option to convert an baked Object Space from Handplane baker and convert to Tangent Space based on another Model provided or;
Can you create an Object Space that 3ds Max can read?
I recently read this book and it really helped with understanding good layouts and design philosophies, I highly recommend reading it...
From a design point there's a few things I'd change. The major panels and settings should be obvious to the user, at the moment the cage field indicator is far too small and should be more obvious to the user. Maybe create a coloured bar below each low-poly set informing the user whether the cage was successfuly added and if not, why?
The use of gradients and shadows appears a little over-whelming, definitely keep the colour layout on the top, but something that follows a material UI for the most-part would not only fit into the current web-trend but also make the interface an enjoyable experience to use. But personally I'm not such a fan of dark interfaces, I think they're always difficult to read.
The tabs at the top would look better as full width items, make the most of the space available. Perhaps you could create a status bar at the bottom of the application which gives the current process being executed and if there's an error to display something.
Otherwise it's a stellar job and something I'll most definitely be adding to my toolbag, you guys are awesome!
*Fixes FBX issues some users were having
*Sets default image format to tiff 16*Warns users if they are baking without an output folder set
edit: It also occurs to me that it would be nice to have the "Bake" button in the main UI (like how xN has it), not only under the "Output" tab — this way if I change something under "Models" or "Settings" tabs I can re-bake without having to switch to the "Output" tab.
One more question, do you plan have No Cage / Explicit Mesh Normals or just future integrate SkewMesh to fix Normal Map distortion?
I'm using windows 10 64bit
Here is the crash dump files: http://www.robertramsay.co.uk/CrashFiles/handplane.exe.8280.zip
Also, can I see what your models tab looks like? I have run ~50 bakes continuously without issue using multiple sets of project files/models.
How it looks in UE4:
Same mesh low/high/cage baked in Substance Painter:
Windows 10 x64, FBX files.
Also, this seems like a perfect/simple test case. can you send over your files? [email protected]
I did a fresh install...
Same issue in Windows7 compatibility mode. I'm trying just a simple bake here one Low and one High and the issue persists.
Edit: Yes, using ray offset fixed it.
Here is why this is happening. If you zoom into your cage file, lowpoly, and highpoly stacked together:
Your cage is only very slightly larger than the low poly model. When back ray offset is set to 1.0 and you use a cage, handplane casts a ray from the cage to the lowpoly model, it then continues to cast the ray through the lowpoly model the same distance. At 10.0 the ray continues past the low poly model 10X further. Does that make sense? We probably need to change default settings or adjust this behavior.
@Bek This is the solution to what you saw as well. Clearly we need to adjust something so this issue doesn't keep popping up.
What version of windows are you on?
So, the workaround for now is to avoid exporting the low poly from zbrush, at least for me. Would be good to see a few more tests from other users.
Also, several tangent spaces rely on mesh normals being in your low poly model. My understanding is that zbrush obj files contain no mesh normals. We also might be using mesh normals as part of how we do ray cast direction.
Okay, mailed those over to you now. Hopefully you can adopt the Zbrush Low poly workflow to suit a few zbrushers here.
Beyond this bug, supporting zbrush lowpoly models is more or less a non starter. Zbrush (to my knowledge) doesn't output the data needed to bake correctly. Most game engines/ tangent space outputs are designed to import mesh normals and calculate tangents. Without mesh normals we can't calculate an accurate normal map.
The crash you were seeing is from lowpoly models without normals and is being fixed, hopefully ready today.
- Loading models should be labelled like this:
as opposed to this:
- In the presentation video I noticed that having a cage mismatch caused a little red dot to appear. However, since the baker does not require a cage to be completely matching with the original model vertex normals, that little dot should be orange (=warning) instead of red (=forbidden).
- Is a .MSI installer really necessary ?
- Could you guys provide some example meshes, or even, example projects to load right into the program ?
The installer is mostly in place to help with updates. Also, I prefer having a shortcut in my start menu or task bar for software I use frequently.
I didn't include any sample meshes because I didn't want to bloat the download size. I could come up with something fairly streamlined for people to test bake with.