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:
https://www.youtube.com/watch?v=ACkX_t3QDnU&feature=youtu.be
v 0.9.2
*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.
From suggestions:
*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
Replies
. Just to let you know I havent read the full thread, so I dont know if this has been asked.
1. Will you be implementing some type export system where you don't have to export individual pieces and import one by one. Maybe have something similar as substance painter were you can separate by name conventions and have it exported as one object.
By the way, thanks for you time and effort creating a great tool!!
Also, will be cool if you add auto load models Hight poly or Low by User prefix - for example, I loaded HP_Chest and Handplaint auto load LP_Chest and LP_Chest_Cage if it available.
And Source 2 is not usable with OBJ files for now... It creates random hard edge triangles on normal map without reason.
Is there a roadmap somewhere? - I am missing some thickness and convexity maps
Really great work !
Looking forward to newer versions!
cheers
For the curvature map, that looks like a ray miss issue. Our curvature maps are calculated as a post process on the normals (which is why they are so fast). A few things I would recommend trying to fix the issue in that curvature map.
1) In the settings window, increase the back ray offset scale from 1 to something like 5 or 10
2) Try unchecking the box "generator space downsampling". With the box checked, you get more accurate results, at the expense of super sample smoothness on very sharp areas like this.
3)Try a higher super sample setting
If none of these work, look at your highpoly and determine if its possible there is a gap or hole in your mesh.
- option to bake ID - from materials colors (I like to color my highpoly in 3d software to get the better filling for final piece - so I would like to use material color as ID mask too). This gives you ability to have one highpoly mesh, but with different MatID surface areas.
- ability to set front and rear ray distance. The way I do it is - setup global frontal and rear distance, and then in addition I give multiplier for reach lowpoly (by default multiplier is 1, but you can eg. set rear multiplier to 0,5 to reduce rear disance by 50% on choose lowpoly).
- option to set various ray radius size in relative units (relative to objects bounding box size). So I know that if I set frontal ray distance to 0.1 - the ray will travel 0.1*ObjDimension meters.
- ability to change object bit depth per output map (eg. some clients want to get 16normals, but 8bit ID, AO).
- and last thing - blender normal map preset (I'm not sure if this is same as unity, but blender uses OpenGl normals (flipped green)).
Anyway great app, and I love ability to bake 16k textures! That I cannot do in Substanced Batchtools.
this looks really promising, but every time I bake nothing is saved out.
How can this be solved???
Thanks
I did set an output folder and I have version 0.9.2
cheers for the quick follow-up
There is a bug with PNG output. Try Tiff.
Also, it would be nice if match by name functionality is implemented, just like in Substance Painter / Designer. Details here:
https://support.allegorithmic.com/documentation/display/SPDOC/Matching+by+name
I would prefer that over a UI pick and choose solution.
Having a viewer would be nice, although I understand your concerns. I just don't like to switch application, setting up materials, just to view something.
Edit:
If you do decide to implement a viewer, can you please add support for a 3d mouse (connexion)? I am so fed up with all the different viewport navigation key combinations of 3d programs. Using a 3d mouse unifies them all.
I've been using it for couple weeks and the reduction in outputs is great, It is saving me a lot of time in fixing some overlapping uv border in multiple bakes
The option to isolate AO is also pretty neat, it is almost like substance painter bake but more flexible since I can decide if I will Isolate or not. Allowing me to bake everything at once. Maybe an option to make AO groups would make it even stronger feature
The feature of setting a material for each Highpoly model is also a time saving one, now I can bake the color from Zbrush and an ID mask at the same time, without the need to change the colors on zbrush or manually painting it, The PSD file generated is pretty neat too, but I am not using because my need on Dota would require more them 10 map channel naming and the baker is predefined with 3, but I am using the diffuse one for the ID map
the option to save the bake configuration is also great, I can work on multiple projects and not wastign time reconfigurating everything. it also saves the destination output and he all the other details like padding size, texture size...
For me it is my favorite baker now, I was using before Substance designer plugin from Maya which is also great and works with naming convention.
I can picture HandPlane baker working on all my projects except the ones that need multiples output for later assemble (similar character with interchangeable parts)
log of the bake is also great
My texture setup on photoshop or Substance Designer is much smaller and faster due the smaller number of outputs from the baker
Just some bug/features missing
- the suggesting the other members did about using naming convention would be great, an option to autopopulate a baker group, for example:
populate this group with all meshes starting with "body" and then inside the gourp separate all the _low _high and _cage
- a bake button in all interfaces and not only on Output - I like to do quick test bakes, and right now if I want to tweak the ray distance, I need to set it up, click on output then click on bake. if I need to change the ray distance, I need to click back on model, scroll down, change the ray distance, click in output and them bake. A bake buttom on the model tab would about lot of unnecessary clicks and about that scroll bar to go all the way up again
-the log direction - it could update upwards, so the new info is always on to and we dont need to constantly scroll down to follow the updates
-the not triangulated mesh popup - it is a nice feature but it need a option to not show again, right now I am working with 14 lowpoly meshes and this number will increase on the next days, and everytime I want to do a quick back I need to click yes 14 times to start it =]
-the UI - not sure if it is my old notebook or my graphic card, but everytime I move from one tab to the other, there is a considerable delay to load all the UI. it gets worse as you add more and more meshes to the list
- the ray offset number area - it seams to be smaller them the actual number and if I select all the number to replace it, my number get hidden behind the ui like this
sorry for the long post =]
this is an awesome tool!! time to increase the share to Handplane on the Dota Workshop =]
I was thinking it would be cool to have a bake button next to each map in the output panel so if you wanted to quickly just bake one map rather than un-check everything and check just the one you want each time you needed to bake one of the map types, it would just be a quick click.
Sorry if this has already been mentioned.
Thanks for this great tool, looking forward to future improvements and versions!
Question - I am getting individual triangles showing up on the curvature maps (same smoothing group) - is this because I need to triangulate the mesh first, or is there a different setting I need to fiddle with?
The curvature maps are calculated as a post process on the normals, are you seeing anything similar in your normals map?
I have a minor request. Can you please for the love of god make a Mac version? A lot of companies force macs upon us and there is no good baking options at all. It is a massive void that would be wonderful for you to fill. Just a hopeful request. Keep up the great work!
Some times it is usable if I can use Hard Edges/Smooth Groups as guid for Auto cage inside baking program. For example xNormal can bake normal map by using this with option "Use exported normals" and "Average normals" as standart auto cage, but with Handplane now I need separete polygons by hard edge to bake it like this. Can you add option for this kind of baking without separating models?
Example of cage from hard edges / Use exported normals in xNromal, blue polygons is Cage
For complex models with hard edges and thinks like screws for good quality some times needs to combine Average Cage with Separate by hard edges Cage for good result.
More examples
2. Separeted model by hard edge Good inside but corners...
3. Combined bouth maps Using corners from 1 and inside form 2 in Photoshop
Also, if it possible doing this combining without Photoshop? Use UV borders with padding as mask for layering two normal maps.http://i.imgur.com/kT7ysAo.png
Try 5 of 10
edit: Handplane converter works under wine; no luck with HPB yet though.
Impossible to render in 16k for some reason (crahs)
HandPlane 4K x16 Sampling : 3sec
xNormal 4k x4 Sampling : 86 sec
Yep I know ! But it's always good to have more examples !
Also, I love the speed comparison. Generally I find the difference more dramatic with really high poly meshes but its cool to see how fast it is on something simple as well.
I have also seen the 16k crashes. I think that is an easy fix related to memory management.
EDIT: oh and one last thing, i get much better results for maya when exporting a triangulated-fbx. If I don't triangulate i get a small amount of artifact around non-planar faces.
Hope you can fix it soon so I can switch from substance.
Baking normals for unity is fine, but source 2 or 3ds max create hardly visible artefact lines. They look like the model is only 90% soft edges and 10% hard edges. I sharpened my source 2 normalmap to make it more visible for you.
Said this before, but a projection group without a lowpoly needed would be awesome. Substance can do this and it really helps.
Groundplane ao geometry or an ao character model for character items is really helpfull!
One thing I would like added; a "cancel bake" button. I dunno if that is easy or hard to code in...
One thing I noticed:
- Handplane is WAY more sensitive to picking up intersections, or seeing intersections where there are none. My cages have to be inflated far beyond what is necessary in xNormal. Is this a setting I am using incorrectly? Or is this something to do with Handplane?
I'll see if I can get a screengrab of what I mean later to illustrate.
Sorry if this has already been asked, but does Handplane support “Averaged projection mesh" or “Explicit mesh normals”? Or both? - and in that case, how do I switch between the two?
Thanks!