Home Technical Talk

Normal Map Baking wishful thinking tool

polycounter lvl 18
Offline / Send Message
oXYnary polycounter lvl 18
Would it be possible to code the following.

You make your normal cage. Export it to this tool with your other assets.

Said program would then do a series of normal map bakes that start with baking with the cage unenlarged/pushed. Then going out gradually to your cage, with each step rendering out a normal map. Then going a few steps beyond for good measure. Internally the program would blend the different maps together taking into account missed rays, floating objects, keeping tight cylindrical corners, etc. Then finally spit out the final version with possibly the option to highlight areas on the low poly mesh you manually want blended from a further or closer cage.

This would save so much time especially with mechanical parts. Versus trying to create the absolute perfect cage or adding more and more support loops that suck up your tri budget.

Replies

  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    oXYnary wrote: »
    adding more and more support loops that suck up your tri budget.

    With handplane, you can add support loops, bake an object space normal map, and remove the loops on the final low poly before generating the tangent map from handplane.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Handplane does not support all engines, Your also adding to creation time adding then subtracting loops.
  • WarrenM
    Options
    Offline / Send Message
    Yes and no. If adding the loops to facilitate the bake means you don't have to bake 10 times trying to get rid of distortion, it would end up saving time.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    oXYnary wrote: »
    Would it be possible to code the following.

    You make your normal cage. Export it to this tool with your other assets.

    Said program would then do a series of normal map bakes that start with baking with the cage unenlarged/pushed. Then going out gradually to your cage, with each step rendering out a normal map. Then going a few steps beyond for good measure. Internally the program would blend the different maps together taking into account missed rays, floating objects, keeping tight cylindrical corners, etc. Then finally spit out the final version with possibly the option to highlight areas on the low poly mesh you manually want blended from a further or closer cage.

    This would save so much time especially with mechanical parts. Versus trying to create the absolute perfect cage or adding more and more support loops that suck up your tri budget.

    What criteria would the tool use to determine where each projection should be blended? Also, for each projection you increase render time. If you are doing 4 projections as part of this, do you want to wait for all your maps to bake 4 times?
    Handplane does not support all engines...
    And xnormal, max, or maya do?
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Exactly! Which is what my wishful tool above would automate. Not only would you not need the overexcess of loops, yoi wouldn't spend so much manual time with combining normal map bakes.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    AlecMoody wrote: »
    What criteria would the tool use to determine where each projection should be blended? Also, for each projection you increase render time. If you are doing 4 projections as part of this, do you want to wait for all your maps to essentially bake 4 times?


    And xnormal, max, or maya do?

    Thats why I am asking is it even possible to program. Can a computation see if a sudden change in the cagesnormal maps bake actually corresponds to the surface? Like I said before sees when the cage intersects itself (alah) L areas. When the cage is below the high surface. When the distortion from too far a distance (alah cyndrical Also I agree it would be longer than baking 1 map. How many times has your map been useful on that first bake? Haven't you manually done 4 bakes before? So you would be saving time with this tool.

    Partly why I havent popped it into jogshys xn thread. No good asking him for the impossible for a free tool he graciously provides us.
  • EarthQuake
    Options
    Offline / Send Message
    oXYnary wrote: »
    Handplane does not support all engines.

    The engines that Handplane does not support, nobody else supports either, as far as I know. So what is your point?

    You should spend more time planing how you set up your lowpoly mesh, you can avoid the need to do multiple bakes at different ray distances entirely if you plan your highpoly and lowpoly well.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    That really is a unhelpful post. Its not a simply "plan your low better" as an excuse to ignore situations that arise when the design requires complex surface change.

    I have no point with Handplane. Someone else brought it up as the catch all solution to the add then subtract edge loops. I simply pointed out that it does not support all engines, and you also still have the excess time adding and subtracting edge loops.

    Now, being said. Is what I even possible from a coding perspective?
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    perna wrote: »
    Yeah, I'm sure you can fix your problems using more traditional methods.


    Oxy, you say you wish to avoid making the perfect cage, but you realize that what you describing is essentially exactly the same as adjusting a cage, except much, much slower?

    Can you should post some images of the types of objects that bake incorrectly with a more traditional workflow?

    But again, how much time is lost with the traditional methods as well? Having a computation that while taking longer than baking 1 normal map that attempts to correctly mimic the surface unskewed for different areas from sifferent cage as much as possible is much more effecient than manually. The point of our work is to be faster. Noto have contests of who can create the most perfect edgeloop and cage. Thats not working smarter, thats obsessing over the process versus creating. At least for me and my nature, I do get stuck in these logic challenges versus spending the time getting through assests.

    A simple example of the benefit of such a tool would be say floating geometry on the cap of a cylindrical object. You would be required to bake at least two cages to avoid the waviness caused by having to stretch the cage to encompass that area, and another
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    perna wrote: »
    Hehe, I should think that Joe knows a thing or two about this subject :) He's trying to be helpful, by encouraging you to address the problem instead of the symptoms.

    Personally, I can't remember the last time someone submitted a mesh that required post-processing of normal map bakes. However, I wouldn't be able to argue my stance if you would show examples of this actually being necessary.

    Yes, it's possible to write the software you propose, except for the part about internal blend process, which is too vaguely described.

    I am not questioning his experience. I am his dismissal because he does not require such for his work and thus neither should anyone else. I am dealing with assets that still require generations past poly budgets and not working with the big four of engines. I know others are as well especially in mobile spaces.

    Anyhow to attempt to get back on track, I gave an example in a previous post.

    Btw touch typing, sorry for grammar/sentence structure.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Talked to Andy Davies, and he explained it is possible, but very complex. He also showed me... which I knew the tool existed but never knew it did the same thing as handplane with allowing the removal of loops and correct the bake. The object/tangent space convertor in XN. I always thought simply it would convert one map into the other.. period.

    God the years I have wasted..... The tool I dream of would add another option, but it sounds like the man hours to create wouldn't be worth the payoff for the small amount of usage.

    Thanks for putting up with this thread. At least I know I have the edgeloop option.
Sign In or Register to comment.