Hi Linux users, you can now try version 1.4.8 of MightyBake for linux here. It is our first Linux release, and it may be a little bit rough. Please send any feedback to info@mightybake.com.
The current version will normalize each tile independently. This will mean that there may be discontinuities between tiles. I'm working on a post processing step to reprocess all of the tiles to fix this.
For 16-bit , it stil normalizes from 0..1. For 16 bit png and tiff you get the full range. For exr, it is mapped to 0..1, so you lose a little bit of the potential of exr' range.
maybe you get it working that exr files use black as waterlevel.... and negative black for inwards displacement... that would be like the most other baker will do it...
I am under NDA, but had it working just fine with UDIMs as well. Mari was just taking to long to bake the AO using the new Modo Render, but Mighty bake was fast and painless.
Everytime I get a new version of MB I think it can't get any better.
Just updated to 1.4.8 that has the improved Maya workflow -- no more
having to Convert Smooth mesh Preview to Poly and store 3 separate
models!! Pretty amazing. Thanks Rob!
There has been an issue with the new Mac release. I am removing it from the site. Please try version 1.4.3 until I can post an update. Sorry for the inconvenience.
Another request... Can we have a bake for Ray Miss to debug areas where the cage is to close and penetrating the high poly?
Also, for Displacement, it would need seperate option for bit depth/file format because it will need to be 32bit exr typically and the other maps will be something else. Typically 16 bit formats if they are taken into Painter or Mari
Hi, Rob! I've recently tried Mightybake and was really impressed by the functionality and speed of baking! Great job, man!
I'd like to give a little feedback to make it work even better!
1) The ways MB/Maya and Xnormal/Max limit the rays distance and direction are quite different. In xnormal or max we have to manually adjust the cage to get correct bake, because the rays will be guided by the vectors, which connect mesh's and cage's vertices. Hence, the meshes must be strintly topologically identical. In maya and MB the rays are fired either along raw geometric normals or surface normals (like if the mesh was splitted by hard edges). So there's no cage but envelope which only limits the distance of rays. Pros: we can have non topo matching cage, but Cons: we can't explicitly affect the rays direction. I know, that the philosofy of your app is to get rid of unneeded pain the ass with cages, but on the other hand - there are many cases when controlling rays directions is needed so bad. So it would be cool if you could add an option for envelope to behave like a cage - for precise rays direction control.
2) It would be great to have an option to bake from hipoly to lowpoly by matching their UVs. Extremely handy for baking textures from ZBrush, when we have to bake highest subd level geometry to lowest level.
3) Also, baking some existing textures from hipoly to lowpoly is often necessary.
4) Very minor wish - to add an even higher sampling 16x16. With some detailed hipoly geometry 8x8 feels just a bit jagged compared to bake results in maya. So I think 16x16 would be just an "Ultra" quality setting - like in AO combo-box.
Thanks for your hard work on Mightybake! It's a really strong software, and I wish it to become even better!
High poly scene has five - body_hp_head - body_hp - clothes - hat_01 - hat_emblem
When you turn on name matching, all the body objects are used with the body low poly, the clothes with clothes and the two hat objects bake to the hat.
For all you vehicle and weapons modellers this may come in handy, less exploding models.
Rob MightyBake guy
So, I installed the trial and attempted this with no luck. What is the exact naming convention? Right now I'm using the same as substance. I.E. name_object_high name_object_low
Would be cool if we could set a suffix or prefix somehow for what is the high and low. Does cages do name matching as well by the way? That would be awesome!
Disclaimer: It may be that I'm retarded and missed a button somewhere.
Don't call it name_object_low, call it name_object. Then for your highpoly meshes for that object, call them name_object_plumbus, name_object_interstate, name_object_mary_poppins and so on.
Yep, I gave it a try it works with envelopes if you use the same naming convention. Just tried it quickly though did not thoroughly test it. I'm loving the caching feature, make sure to turn that on in the options as well, huge time saver while you are working on a bake and deciding on which edges to make soft/hard and adjusting uv splits.
Wow! You're not kidding? I'll be trying this out later tonight, when I'm done with iteration 317 of my UV's Will post results. Edit: What did you name them though? Won't it need some sort of .cage _cage or the like for identification?
This is what was working for me. The high poly consists of multiple objects, the low poly consists of just the parts I don't want to intersect when they bake, and the envelope is for the same low parts I don't want to intersect. In this example I have lots of separate high poly parts in a single scene because I don't like to combine my high poly it wastes time and is cumbersome.
So from Maya I select all my named high poly objects export them as a single high poly .fbx using the button on the shelf. Then I select all my named low poly parts and export them as a single .fbx using the button on the shelf, then select all my envelopes and export them as a single .fbx using the button on the shelf. Then turn on name matching in the options menu and bake, and magic no intersection. A really nice workflow that you can have multiple meshes reside in a single baking file rather than having to export 20 hp files one at a time and then update each one if you make changes. I feel like we finally came out of the dark edges for map baking.
Hi Rob, really loving mightybake so far. I have some requests/suggestions how to make this a bit more pipeline friendly:
1) Ability to select which UDIMs to Bake If I know what UDIM(s) have changed after a Model Change I really just need to rebake those. Especially in a production pipeline with lots of iterations this would save a lot of time
2) Ability to Bake multiple different versions of the same preset I would like Mightybake to be able to bake 2 or more duplicates of the same preset. For example if you create two curvature bake presets (with different sampling, bluring settings), they will overwrite each other on baking
3) Batch Process Assets with Preset List I would like to launch bakes for multiple assets by adding them to a list first, then have mightybake batch through them. You should be able to apply one preset to them all, then be able to go into 'fine adjustment' mode per item in the list (if required). You should be able to store this list so you can easily relaunch all or just a few bakes in case models have changed.
Side node, any reason LowPoly Meshes only support FBX and not OBJ as well ?
Can you tell me in which cases it works? In theory, if I export from maya or max, a fbx with tangents and binormals, and bake in mighty bake with the option fbx tangents, shouldn't the resulting normal map look good applied back in the software? I'm talking about extreme cases, with all soft edges and heavy gradients in the bake.
It should work fine, although I haven't tested it. Especially in Maya, it should work correctly as long as you followed the required steps (lock normals and triangulate before export comes to mind. IDK if the shelf does this for you.) I don't know if it will display the normal map correctly in Max but if you import the Max tangents into UE4 it should give you a good result with the bake done with the fbx tangents.
Hmm..well I'm having some issues - it doesn't work properly in either case: the map applied back in Maya looks odd, as well as in UE4 (importing the FBX with "Import normals and tangents" and the baked map with "FBX tangents"). It would be amazing if it worked right, MightyBake's options are very cool, and it's super fast, but this is what it looks like:
It also doesn't look good when using the "MIKK" tangent space option in Mightybake, and viewing that map in UE4, on the fbx with "Compute Normals, Mikk settings" on. What could I be doing wrong here?
export as FBX - make sure tangents and binormals is turned off. Then bake using mikkt in Mighty, import into UE4 with import normals option on. since you are baking with synced tangent basis, you should let the baker / engine calculate the tangents and binormals. I haven't tried it with UE4 yet because it's updating, but I've tried it in Unity 5.3 in which they integrated mikktspace as their tangent basis
Disregard the camera field of view which causes some distortion, they are identical, since the tangent basis is in sync. * SGs = model with soft and hard edges, as can be seen in the screenshot. * I would have upload the normal maps as well but it's 1 AM and I'm working soon! Basically the one with the hard edges got less gradients - and since I used the hard edges on the UV borders, the vert count on both of these is the same - so you only do really gain from doing it.
@tzur_H, unfortunately there are still artifacts, following exactly what you said (mesh is also triangulated before exporting the fbx). There is a slight difference I guess, but it still looks like this:
Thanks for the answer! It's not a flipped Y issue, the same process with xnormal produces a map with the same orientation for the green channel, but with the gradients slightly altered, and instead of looking wobbly, it's just right inside UE4.
I made another test for FBX - I exported from max with "Tangents and binormals", and baked in MightyBake with default FBX tangents. The resulting map back in max looks wobbly. I also tested with an object space map (trying to pinpoint the issue), and that looks perfect applied on my object.
@Huffer Hmm. Sorry it's not working for you. I'll see if I can re-create the problem here. If you don't mind posting your exported tests, I can use them to debug.
I seem to remember some wierdness with the MAX fbx exporter. I'll see if I can remember why. Something about how it triangulates.
@huffer - I've tested it in Unreal (4.10.1) and it works perfectly fine for me, all I had to do is flip the green channel. I'm exporting from Maya. @MIGHTYBAKE - I'm running the trial right now, so far I'm really pleased with the results and the speed of the baking! Only thing you need to work on is documentation for the software. Like, how to setup assets for use with match by name feature, and some tool tips on what each feature does would be very nice.
@mightybake I've tested @huffer mesh, and can confirm that something is off when baking with mikkt, and unreal engine tangent basis. if you take a look at xnormal, there is an option in the tangent basis configure to toggle "compute binormal in pixel shader" - it's important that this option is on to bake a perfectly synced normal map to unreal engine, and off for unity 5.3. it seems that your baker is lacking that option, and there is a slight difference between the bakes.
this is from unreal engine, I haven't testes in unity yet. if you look at the top of the cube you will see where the difference is most noticeable. it's fairly minor, but still doesn't look completely in sync.
hey guys I just installed it and Im using maya 2016. The results I get however are really bad. Its like it doesnt respect my smoothing groups. I get some artifacts even though I leave edge padding. Anyone else had this problem before? My FBX export settings I have only triangulate and smoothing groups turned on. Thanks!
psychotic_mike, for Maya users you need to use the supplied shelf buttons to get the correct baking results. It gives random results if you export the .fbx files yourself. To install the Maya shelf go "Workflow" at the top menu of MightyBake and install the shelf from there.
MB seems to crash every time I try to bake using a high poly model. I currently have a model with a bit under a million polygons, but whenever MB tries to load the high poly scene, it crashes. xNormal handles the file fine.
Also, how come am I able to use an .obj as the high poly model, but not the low poly one?
EDIT: It seems that the model might not be the problem - I can't bake anything in MB. Every time I try, it crashes. I'm running the demo, and I've tried with multiple different models, resolutions, formats and maps.
So, i just had a bug with the naming thing. My naming was 1-1, so the high mesh had the same name as the low mesh. But for some reason it would not bake out 2 of the meshes. (seems that it couldn't find the high res mesh, also with naming turned off) so i tried to change the name of the mesh, so it changed name from "upperteeth" to "upperteeths" and then it was able to bake. Spend some time debugging, exporting, importing and so on, but i was not able to find a reason for this.
Replies
how does mightybake deal with UDIMs and normalized dispmaps in 16bit..?
For 16-bit , it stil normalizes from 0..1. For 16 bit png and tiff you get the full range. For exr, it is mapped to 0..1, so you lose a little bit of the potential of exr' range.
maybe you get it working that exr files use black as waterlevel.... and negative black for inwards displacement...
that would be like the most other baker will do it...
https://youtu.be/Vqo4k6xFQRk?t=87
Thanks for posting the video! Do you mind if I link to it?
i am on a Mac pro 2013 El capitan....
simply cannot run it...
For those using the Mac, version 1.4.8a has been posted with the crash bug fixed (Hopefully). Please let me know if you experience difficulties.
Rob
Also, for Displacement, it would need seperate option for bit depth/file format because it will need to be 32bit exr typically and the other maps will be something else. Typically 16 bit formats if they are taken into Painter or Mari
1) The ways MB/Maya and Xnormal/Max limit the rays distance and direction are quite different. In xnormal or max we have to manually adjust the cage to get correct bake, because the rays will be guided by the vectors, which connect mesh's and cage's vertices. Hence, the meshes must be strintly topologically identical. In maya and MB the rays are fired either along raw geometric normals or surface normals (like if the mesh was splitted by hard edges). So there's no cage but envelope which only limits the distance of rays. Pros: we can have non topo matching cage, but Cons: we can't explicitly affect the rays direction. I know, that the philosofy of your app is to get rid of unneeded pain the ass with cages, but on the other hand - there are many cases when controlling rays directions is needed so bad. So it would be cool if you could add an option for envelope to behave like a cage - for precise rays direction control.
2) It would be great to have an option to bake from hipoly to lowpoly by matching their UVs. Extremely handy for baking textures from ZBrush, when we have to bake highest subd level geometry to lowest level.
3) Also, baking some existing textures from hipoly to lowpoly is often necessary.
4) Very minor wish - to add an even higher sampling 16x16. With some detailed hipoly geometry 8x8 feels just a bit jagged compared to bake results in maya. So I think 16x16 would be just an "Ultra" quality setting - like in AO combo-box.
Thanks for your hard work on Mightybake! It's a really strong software, and I wish it to become even better!
I.E. name_object_high
name_object_low
Would be cool if we could set a suffix or prefix somehow for what is the high and low.
Does cages do name matching as well by the way? That would be awesome!
Disclaimer: It may be that I'm retarded and missed a button somewhere.
Has anyone tried getting cages to name-match? Yea, I know. Asking too much
Edit: What did you name them though? Won't it need some sort of .cage _cage or the like for identification?
So from Maya I select all my named high poly objects export them as a single high poly .fbx using the button on the shelf. Then I select all my named low poly parts and export them as a single .fbx using the button on the shelf, then select all my envelopes and export them as a single .fbx using the button on the shelf. Then turn on name matching in the options menu and bake, and magic no intersection. A really nice workflow that you can have multiple meshes reside in a single baking file rather than having to export 20 hp files one at a time and then update each one if you make changes. I feel like we finally came out of the dark edges for map baking.
High poly:
cube_hp_1001
cube_hp_1002
cube_hp_1003
cube_hp_1004
cube_hp_1005
sphere_hp_1001
sphere_hp_1002
sphere_hp_1003
torus_hp_1001
Low poly:
cube
sphere
torus
Envelope:
cube_env
sphere_env
torus_env
really loving mightybake so far.
I have some requests/suggestions how to make this a bit more pipeline friendly:
1) Ability to select which UDIMs to Bake
If I know what UDIM(s) have changed after a Model Change I really just need to rebake those.
Especially in a production pipeline with lots of iterations this would save a lot of time
2) Ability to Bake multiple different versions of the same preset
I would like Mightybake to be able to bake 2 or more duplicates of the same preset.
For example if you create two curvature bake presets (with different sampling, bluring settings),
they will overwrite each other on baking
3) Batch Process Assets with Preset List
I would like to launch bakes for multiple assets by adding them to a list first, then have mightybake batch through them.
You should be able to apply one preset to them all, then be able to go into 'fine adjustment' mode per item in the list (if required).
You should be able to store this list so you can easily relaunch all or just a few bakes in case models have changed.
Side node, any reason LowPoly Meshes only support FBX and not OBJ as well ?
Keep up the good work !
Jens
It also doesn't look good when using the "MIKK" tangent space option in Mightybake, and viewing that map in UE4, on the fbx with "Compute Normals, Mikk settings" on. What could I be doing wrong here?
I haven't tried it with UE4 yet because it's updating, but I've tried it in Unity 5.3 in which they integrated mikktspace as their tangent basis
if the baker dont know where i have created hard edges?
Disregard the camera field of view which causes some distortion, they are identical, since the tangent basis is in sync.
* SGs = model with soft and hard edges, as can be seen in the screenshot.
* I would have upload the normal maps as well but it's 1 AM and I'm working soon! Basically the one with the hard edges got less gradients - and since I used the hard edges on the UV borders, the vert count on both of these is the same - so you only do really gain from doing it.
1) Ability to select which UDIMs to Bake
Sure, this makes a lot of sense. I'll see what I can put together for 1.4.9
2) Ability to Bake multiple different versions of the same preset
I've thought about this one for a while. I'm not sure how to solve this yet, but i'll keep thinking about it.
3) Batch Process Assets with Preset List
This sounds like a great idea, other people have been asking for batch processing too. This sounds like a solid approach to it. I'll put it in for 1.4.9.
Thanks for the notes.
Thanks for taking the time to try it out. Have you tried the UE4 normal map choice in normal baker MightyBake? It's basically MIKK with a flipped green channel. Raw FBX or MIKK could be giving you artifacts without flipping the green for UE4. Those surfaces look like they are going inward, which could be the lack of flipping the Y.
Regarding the first question, with tangent normals, you unfortunately have to match the tangent space with the target software. The 'FBX Tangents' option is there by default. It assumes that the user knows which tangent space they want and it will just use the raw FBX tangents. In your export options, I would recommend enabling 'Tangent and Binormals' if you are exporting from max. That way, the FBX file will contain tangents and it will use them directly. Otherwise, it has to generate them, and it may do so in a way that's different from the package.
I made another test for FBX - I exported from max with "Tangents and binormals", and baked in MightyBake with default FBX tangents. The resulting map back in max looks wobbly. I also tested with an object space map (trying to pinpoint the issue), and that looks perfect applied on my object.
Hmm. Sorry it's not working for you. I'll see if I can re-create the problem here. If you don't mind posting your exported tests, I can use them to debug.
I seem to remember some wierdness with the MAX fbx exporter. I'll see if I can remember why. Something about how it triangulates.
@MIGHTYBAKE - I'm running the trial right now, so far I'm really pleased with the results and the speed of the baking! Only thing you need to work on is documentation for the software. Like, how to setup assets for use with match by name feature, and some tool tips on what each feature does would be very nice.
it seems that your baker is lacking that option, and there is a slight difference between the bakes.
this is from unreal engine, I haven't testes in unity yet.
if you look at the top of the cube you will see where the difference is most noticeable. it's fairly minor, but still doesn't look completely in sync.
The results I get however are really bad. Its like it doesnt respect my smoothing groups.
I get some artifacts even though I leave edge padding. Anyone else had this problem before?
My FBX export settings I have only triangulate and smoothing groups turned on.
Thanks!
To install the Maya shelf go "Workflow" at the top menu of MightyBake and install the shelf from there.
Also, how come am I able to use an .obj as the high poly model, but not the low poly one?
EDIT: It seems that the model might not be the problem - I can't bake anything in MB. Every time I try, it crashes. I'm running the demo, and I've tried with multiple different models, resolutions, formats and maps.
My naming was 1-1, so the high mesh had the same name as the low mesh.
But for some reason it would not bake out 2 of the meshes. (seems that it couldn't find the high res mesh, also with naming turned off) so i tried to change the name of the mesh, so it changed name from "upperteeth" to "upperteeths" and then it was able to bake. Spend some time debugging, exporting, importing and so on, but i was not able to find a reason for this.