Home Technical Talk

handplane - new tangent space tool in public beta

1235

Replies

  • WarrenM
    Hah, that's great. I had no idea.
  • mospheric
    Offline / Send Message
    mospheric polycounter lvl 11
    I'm having a minor issue, and I'm not 100% sure it's a Handplane problem. I've been using Handplane and getting fantastic results, yet when using symmetrical geometry, I am getting a slightly visible seam. So far it only happens on tangent maps created with Handplane. I don't have the same issue when Xnormal spits out a tangent map. It's a small issue, though I thought someone may have an idea to the cause.

    PvxplLP.jpg
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    likely has to do with rounding problems as the bitmap is only 8 bit, and the different tangentspace on the other half of the seam, flips the vectors. Imagine the vector not being perfectly aligned with the mirror (due to precision loss in storage), you now get a seam. "\" stored "|" mirror normal "/" opposite

    Maybe handplane could do some dithering along uv borders? Normally very light noise should help hide the seam.

    handplane might have worked from low-res input so vectors are already "off" a bit, while during baking you still have full precision, you can even do supersampling and stuff like that prior storing to the 8-bit format.
  • AlecMoody
    Offline / Send Message
    AlecMoody ngon master
    handplane supports 16-bit input and output so I would try re-baking at a higher bit depth and see if that fixes the problem. To set this up for xnormal go into the image exporter settings, select the tiff format, and then hit the configure button.
  • mospheric
    Offline / Send Message
    mospheric polycounter lvl 11
    You people are geniuses! :D The 16 bit images solved the issue. Thanks guys!

    As a note, Xnormal's tiff format is 16 bit by default, so no configuring.
  • duke
    Offline / Send Message
    duke polycounter lvl 13
    You should always use 16bit output anyway. When you mess with them in photoshop and start to find banding, you'll wish you had!
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Did some testing with this and it works a treat!

    Is it possible to have handplane auto reload a mesh after I export a new version.

    If I bake in handplane, realize I made a mistake with the mesh, re export from my package, I then have to re navigate to that mesh in the browser for it to update in handplane.

    While this may seem minor, I can see it causing all kinds of headaches as I would assume handplane would check for an updated file at the specified location before baking. As far as I can see, it doesn't.

    Great tool btw, you can really abuse hard angles now!
  • fredriklars
    Offline / Send Message
    fredriklars polycounter lvl 14
    Wow, this software is a great help. I find mudbox is way more accurate when baking object space normals, and then just hanplane it and BAM, magic.
    You should add a mudbox setting maybe though, it is the same as Maya but flipped Y/Z, but might want to make it its own setting, for user friendliness.
  • Ace-Angel
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Mudbox and Maya are the same last I checked in terms of tangents, and Handplane relies the tangent exports from the app you last used, which last I checked, is also the same as Maya.
  • AlecMoody
    Offline / Send Message
    AlecMoody ngon master
    Ace-Angel wrote: »
    Mudbox and Maya are the same last I checked in terms of tangents, and Handplane relies the tangent exports from the app you last used, which last I checked, is also the same as Maya.

    Perhaps I am misunderstanding this but- handplane doesn't rely on tangents being exported from any applications.
  • Goat Justice
    Offline / Send Message
    Goat Justice polycounter lvl 10
    Cross posting a bit from WAYWO. I used handplane for the normals on my latest prop. I rendered out tangent space normal maps for both Max and UDK. Used the Max ones for previewing while painting other textures and UDK ones for the final export. Any Photoshop tweeks were done for the UDK version and kept on layers so I could switch the base whenever I needed. All in all it worked great. I'm really happy with the result and was able to use a lot fewer SGs and UV islands than I would have otherwise. Sped up the diffuse painting for sure.

    Thanks for making this awesome tool!

    UDK render on the left, Max on the right, Base mesh with UV seams (wish I'd lined those up better) in the center.

    John_Morris_Lantern_Handplane.jpg
  • AlecMoody
    Offline / Send Message
    AlecMoody ngon master
    handplane is released and we are moving support for polycounters to this thread:

    http://www.polycount.com/forum/showthread.php?p=1776860#post1776860
  • Cathodeus
    Offline / Send Message
    Cathodeus polycounter lvl 15
    What about cryengine ?
  • Pancakes
    Offline / Send Message
    Pancakes polycounter lvl 10
    gonna support blender?
  • Mr Whippy
    Offline / Send Message
    Mr Whippy polycounter lvl 7
    This looks really great.

    But just to get it clear in my head.


    You still make your reference mesh with nice topography and all the details?

    You then make your low-poly mesh, but now you can just render out an object space normal map for the low-poly model so the baking of the final normals is a function of the topography of the low-poly model and high-poly model via normal map calculations only?



    Sounds efficient and interesting.

    I remember reading a tutorial/guide on here 6 months ago and mentioning supporting loops on a gun barrel or something (also about distortion on cylinders), but now we are saying not to bother, just let the normals correct for the distortion that no support loops brings?


    This tool looks great in any case... and a bargain for the price considering how efficient it looks to be!


    I'm about to start making some normal maps for some walls and was wondering specifically how to approach them. I take it I can just have a 3 edge extrusion (facing, top, back), and then have the normal map do all the work to give it the square looking profile again (with feint bevels at the edges)?

    Thanks

    Dave
  • olivierth
    Offline / Send Message
    olivierth polycounter lvl 9
    Hi,

    I've used Handplane with xnormal before and it worked great! This time I wanted to bake from 3dsmax to get better control over the projection cage but once I pass my object space normal map I end up with a not so tangent looking map.

    Here are the steps I took:

    1. These are the settings I used to generate the obj space norm.

    2. That's what I get (looks good)

    3. Before using Handplane, I tested the map in 3dsmax and it looked ok. One thing to note is I have to check "Flip Green (Y)" for it to display properly.

    4. These are the settings in Handplane. It renders without any pop-up message.

    5. This is the result. As you can see, it looks more like object space rather than tangent.


    Did I do something wrong?

    Thank you for helping!:\


    HandPlaneProblem_zps4e191c54.jpg~original
  • Racer445
    Offline / Send Message
    Racer445 polycounter lvl 12
    you get that error when channels aren't properly flipped on the input. try these:

    INPUT:
    Flip Y/Z Up: Flip Y/Z
    Red Channel: Default
    Green Channel: Invert
    Baked In: 3DSMax
  • rollin
    Offline / Send Message
    rollin polycounter
    absolutely the best tip is to use FBX instead of OBJ.. this was the breakthrough here!!

    great tool!! :thumbup:
  • passerby
    Offline / Send Message
    passerby polycounter lvl 12
    note sure if this is the right place to request this feature, but is it possible to get launch parameters, or a XML file that can control handplane. I would like to build a script allowing me to do handplane bakes from with in maya.
  • Spudnik
    Offline / Send Message
    Spudnik polycounter lvl 11
    I posted this over in the Dota2 subforums some time ago, reposting here for visibility. The OS map, generated in xNormal looks fine, but when I convert it in handplane or bake it directly in xNormal using the handplane plugin, artifacts happen, especially along UV seams.

    Check out this thread for more info and examples as well:
    http://www.polycount.com/forum/showthread.php?t=133144

    Lastly, here's a ZIP with my highpoly, lowpoly and cage files obj's, I'd really appreciate any and all help on this.
    https://dl.dropboxusercontent.com/u/38223593/handplane_tangent_error.zip

    SzGXL2Z.jpg
  • Farfarer
    Where are the artefacts? It's hard to tell without seeing the map properly applied to the mesh (i.e. as a normal map, not as a diffuse map).
  • Spudnik
    Offline / Send Message
    Spudnik polycounter lvl 11
    Marked the areas in the image below. For a more obvious representation, check posts #21 and #23 in this thread -> http://www.polycount.com/forum/showthread.php?t=133144

    lfYLfKX.jpg
  • Farfarer
    Those aren't artefacts, that's where the UVs change. Tangent space is based partly on the UVs of your mesh, so you'll see seams like that when you get a break in the UVs or the normals of your mesh.

    It'll look fine if you apply it as an actual normal map.
  • Spudnik
    Offline / Send Message
    Spudnik polycounter lvl 11
    Check the other thread, it doesn't. Background is, I've been baking this way for about a year now, never had normals come out looking like this using this exact workflow. Then I reformatted my PC, something somewhere broke along the way and I cant for the life of me figure out what.

    W0Frumg.jpg
  • BagelHero
    Offline / Send Message
    BagelHero interpolator
    They look normal to me if I flip the Y axis. Try that.

    Edit: Actually, yeah, what EQ says below. Throw it in the target engine with no diffuse, just the normal (certainly not the normal in the diffuse). It might be fine. If not... Well, flipping the Y worked for Maya and Toolbag.
  • EarthQuake
    What does the actual model look like with the map applied in the target engine? Looking at a normalmap in photoshop or applied as a diffuse texture isn't an accurate way to judge how well it is working.
  • Spudnik
    Offline / Send Message
    Spudnik polycounter lvl 11
    Alright, more info. As usual, here's a link to the files I'm working with.

    Conditions of these tests:
    1) Object Space (OS) maps are baked in +X +Y +Z
    2) Tangent Space (TS) maps are baked in +X -Y +Z
    3) Software versions are xNormal v3.18.6.28468 and handplane v1.4.1
    4) Using the following OBJ and FBX export settings:

    ACAq3zF.jpg

    asfgfbp.jpg


    And the results:
    OS baked in xNormal with mesh normals hardened at UV seams -> TS baked in handplane using the Source preset
    -> visible artifacts when using normal map as diffuse, but no artifacts in engine
    -> no visible seams, but seam on mirror axis

    OS baked in xNormal with mesh normals softened -> TS baked in handplane using the Source preset
    -> visible artifacts when using normal map as diffuse, and same artifacts in engine
    -> no visible seams, but seam on mirror axis

    TS baked in xNormal using the handplane plugin with mesh normals hardened along UV seams
    -> visible artifacts when using normal map as diffuse, but no artifacts in engine
    -> seams on UV edges

    TS baked in xNormal using the handplane plugin with mesh normals smoothed
    -> visible artifacts when using normal map as diffuse, and same artifacts in engine
    -> no visible seams, but seam on mirror axis


    Z4me50a.jpg



    I did another test where I split the vertecies along the edges that seemed to be the primary source of problems, in this case the edge of a blade. Both TS maps were baked in xNormal with the handplane plugin.

    KmZiPYm.jpg
  • Farfarer
    If you're using xNormal to bake to a target engine, don't export tangents and binormals.

    If xNormal finds tangents and binormals on the low polygon mesh, it bakes with the tangents and binormals supplied by the mesh, rather than use the tangent basis plugin you've got selected.

    Handplane will always ignore the tangents/binormals supplied with the mesh and create it's own, that are synced to the target engine (in the case of 3DS Max it even generates it's own normals that are synced to 3DS Max's normals).
  • Spudnik
    Offline / Send Message
    Spudnik polycounter lvl 11
    I should have clarified, I'm using OBJ to export my meshes from Maya for xNormal/handplane. I'm only using FBX to import into Source.
  • EduardoMC
    Offline / Send Message
    EduardoMC polycounter lvl 5
    Hey Spudnik, did you ever find a solution to your problems? I am having the same thing happen to me, I've used Handplane 1.3 and 1.5. 5 months ago I didn't have these issues, which is weird. Right now I just can't seem to get rid of the symmetry line in the normal map.
  • shenric13
    I see a lot of potential with this tool. I've been doing a few tests and I have just a few points of feedback.
    1. For me, when i choose the .png export format I get no files generated after the bake is complete.
    2. I was wondering if there are any plans to add an option to isolate the baking process to uv's that are in the 0-1 uv space?
    3. Could we get a cancel button?

  • AlecMoody
    Offline / Send Message
    AlecMoody ngon master
    This is the thread for our old tool. I responded to you in the new thread: http://polycount.com/discussion/169679/introducing-handplane-baker#latest

1235
This discussion has been closed.