Home Technical Talk

handplane - new tangent space tool in public beta

245

Replies

  • Jason Young
    Options
    Offline / Send Message
    Jason Young polycounter lvl 14
    Marmoset support please. ;). Tool looks great!
  • Mio
    Options
    Offline / Send Message
    Mio polycounter lvl 13
    great stuff!! totally aweseome! downloading and will have a try! thanks for share!
  • jRocket
    Options
    Offline / Send Message
    jRocket polycounter lvl 18
    Thanks for supporting the Source Engine. I made a test model and can verify that it works perfectly.
  • EarthQuake
    Options
    Offline / Send Message
    MrOneTwo wrote: »
    How much does it change the modelling ? Can we use 1 smoothing group like in synced workflow ? (i know 1 sg isn't best option but want to know).

    More or less(accuracy may vary a little from engine to engine). Previously if you wanted to use a 1SG workflow you would need do A. have an engine that was synced to a certain baker and B. only use that baker to generate your content.

    With handplane you can bake pretty much wherever you want, however you want.
    How does change the creation of low poly ? You don't need supporting loops anymore to remove skewed detail ? Sorry if it is already answered but Ir really can't find anything about mesh creation changes.
    The thing with supporting loops etc is this: You'll still need to add them, but now you can remove them after baking(as long as your uvs stay the same) your object space map and then transfer your tangent space maps with that optimized mesh.

    This was something you could always to with object space maps, but now you can do it with tangent space as well. Previously if you tried to do this with TS map you would introduce smoothing errors as you would be changing your lowpoly mesh normals, and a tangent space bake is reliant on your mesh normals.
  • Gheromo
    Options
    Offline / Send Message
    Gheromo polycounter lvl 11
    AlecMoody
    Intel i7 950
    nvidia 580gtx
    12gb of ram

    Let me know if you need more info.
  • cptSwing
    Options
    Offline / Send Message
    cptSwing polycounter lvl 11
    EarthQuake wrote: »
    The thing with supporting loops etc is this: You'll still need to add them, but now you can remove them after baking(as long as your uvs stay the same) your object space map and then transfer your tangent space maps with that optimized mesh.

    No shit! Had not thought about that.. gotta try this asap!
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    I was just putting together a quick demonstration of that workflow:
    [ame="http://www.youtube.com/watch?v=hymaXeeE1Gk"]handplane demonstration - Using proxy geometry to fix projection distortion - YouTube[/ame]
  • praetor187
    Options
    Offline / Send Message
    praetor187 polycounter lvl 11
    oh baby this is gonna be awesome, cant wait to give this a go. Nice work guys.:)
  • Tavor
    Options
    Offline / Send Message
    Tavor polycounter lvl 8
    EarthQuake wrote: »
    The thing with supporting loops etc is this: You'll still need to add them, but now you can remove them after baking(as long as your uvs stay the same) your object space map and then transfer your tangent space maps with that optimized mesh.

    So, with this tool, low-poly support loops could be used as just part of a workflow like psd's are to textures?
  • Computron
    Options
    Offline / Send Message
    Computron polycounter lvl 7
    Great idea Alec! Although, I don't imagine that putting the turbosmooth over your mesh set to smoothing groups will work with all low poly meshes, especially in the case of splitting smoothing groups along your UV seams, for example with certain hectic hardsurface-type meshes. In that case, would you just add a edit poly and use the cut/knife tool to add support loops before baking? If so, without a modifier stack capable app, I don't think this would be easy to do in a non-destructive, simple fashion. I wonder how the likes of Perna feels about this slightly esoteric interoperability kink for studio workflows. I mean, any rebake or form tweak that needs to be done by another artist would have to be done with some very specific knowledge and tools.

    Temporary support loops for fixing skewed projections is an awesome idea though, and will definitely be useful for some personal projects or special cases.

    Does the maya plugin just automate the process of converting and plugging in the maya tangent space output? (Not a maya user) If so, a Max plugin would also be pretty sweet.

    Also, could you show some examples or elaborate on the LOD baking?
  • EarthQuake
    Options
    Offline / Send Message
    Usually for fixing ray projection errors, like a screw or something being skewed I will just cut in one vertex right in the middle of that detail. This fixes the issue in most cases.

    Now it gets debatable as to whether taking the time to remove this sort of detail later(or creating a copy to add this to and then reverting) will really save you much time or be a noticeable hit to your vert count, at least now with handplane you have a reliable way of doing it with tangent space maps.

    For waviness you can slice in an extra edge loop similar to what you would do to retain a hard edge with traditional sub-d work. Though when it comes to waviness, generally if you've got enough sides to your cylinders to look good from the intended viewing distance, you're not going to have much issues with waviness. If you've got a really low number of sides you're probably not going to view the asset/part of asset up close, so the chances you would notice that sort of waviness go way down.

    Doing sub-d via smoothing groups is going to be quick with simple objects, but time consuming for more complex objects. So selectively slive in loops and cutting in verts might be faster there.

    All of this stuff in general is things that I personally try to avoid, because you will need to redo it if you are forced to change your uvs or something. But its cool that you can actually do it now because it was previously a workflow that was only available for object space maps. I actually wrote up some stuff describing similar workflow a few years back when we were using object space maps heavily at 8ml, I'll see if I can dig it up.

    Edit: Here we go: http://www.polycount.com/forum/showpost.php?p=817681&postcount=91 Warning, some of the shit in this post is as old as the internet and I take no responsibility for its accuracy, lololol.

    Scroll down a bit. It covers: A. Slicing in supporting geo and B. Cutting in details after you've done your bake, both of which should be possible with handplane.
  • Showster
    Options
    Offline / Send Message
    Showster polycounter lvl 18
    Hey folks this is awesome!

    Been a while since I've used object space, I've used some mirroring in a model and when I convert from object space to tangent it appears that I've done something stupid judging on the colours and seams that appear.

    issue.jpg

    Any suggestions?

    Cheers

    Greg
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    Great to see this come a live, I had a prototype on this tool here on polycount six years back http://www.polycount.com/forum/showthread.php?t=44460

    Best of luck with it :)
  • diamond3
    Options
    Offline / Send Message
    diamond3 polycounter lvl 7
    Object-space normal maps can't be mirrored, can they?
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Showster, could you email me your max scene along with your object space bake so I can take a look? There have been a couple of instances of this sort of thing happening and it would be good to figure out exactly what is causing it.

    As far as mirroring goes, some object space implementations support it. Regardless, mirroring is automatically accounted for in the conversion to tangent space so it shouldn't matter beyond previewing your object space bakes.

    alecmoody@gmail.com
  • Bertmac
    Options
    Offline / Send Message
    Bertmac polycounter lvl 17
    All right an other noob talking here.
    Tried it out on several model en settings (Max Maya Xnormal. but i didn't get a result even close to yours.

    This is my result:

    Maya OS bake

    Silencer_OS_normals.png

    Handplane TS results

    Maya
    Silencer_Handplane_normals_maya.png

    unity

    Silencer_Handplane_normals_unity.png


    So Alec i did send you some files to test with. hope you have time for them.
    Thanks
  • EarthQuake
    Options
    Offline / Send Message
    diamond3 wrote: »
    Object-space normal maps can't be mirrored, can they?

    Object space normal maps can not be mirrored(unless you have a shader that supports it) but when baked down to tangent space, mirroring will work fine. Just remember to offset your mirrored uvs like you normally would else you might get issues.
  • S_ource
    Options
    Offline / Send Message
    S_ource polycounter lvl 9
    Thanks for this, works really great but i get some error at the edges, is it something i have done wrong?
    And this is a bit image heavy but i thought it would be good to upload full res.

    ttestbakesprewievsource_small.jpg?t=1352477729

    Box001NormalsMap2handplane.jpg?t=1352477731

    Box001NormalsMap2.jpg?t=1352477726
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    it looks like the padding isn't working correctly and is grabbing the wrong pixel colors. What are the dimensions of your input normal map?


    Also, you should bake your object space map with some amount of padding.
  • nebukadnezar
    Options
    Offline / Send Message
    nebukadnezar polycounter lvl 8
    Gheromo wrote: »
    1d0L0.png
    getting that. However if I enable compatibility lets say with Windows XP SP3 it works fine.

    edit: I have win7 x64

    Had the Same error, enabling compatibility mode: Win XP (SP3) in the properties fixed it for me
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
  • Showster
    Options
    Offline / Send Message
    Showster polycounter lvl 18
    Hi Alec,

    I "think" I've found my problem. I didn't move the mirrored uv's out of the way when I made the object space map. I've now moved them over to the next UV tile in the Unwrap UVW Editor rebaked and hand plane has no problems :).

    I can still send files if you want, but it appears to work fine now :)

    All the best and awesome tool!

    Greg
  • JasonLavoie
    Options
    Offline / Send Message
    JasonLavoie polycounter lvl 18
    Alec - Hey Alec, this question may have gotten buried so I'll just ask again :)

    In the output section, there is the "Target Engine" drop down window, with an option that has caught me and a co-workers eye. The "Input Tangent and Binormal" option sounds like we could input custom info into this so it could work for any engine (such as our proprietary engine). I know Handplane isn't meant for commercial use yet, but is this feature implemented yet or being worked on for a commercial release?... either way this sounds TASTY!

    Thanks Alec!
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Showster wrote: »
    Hi Alec,

    I "think" I've found my problem. I didn't move the mirrored uv's out of the way when I made the object space map. I've now moved them over to the next UV tile in the Unwrap UVW Editor rebaked and hand plane has no problems :).

    I can still send files if you want, but it appears to work fine now :)

    All the best and awesome tool!

    Greg

    Please do. The tool needs to be flexible enough that people don't run into these sorts of problems.


    JasonLavoie:
    That will use the normals and tangents packaged into the fbx file for the conversion. This is useful if you have an engine that reads this information. However, a larger point I want to make is that pipelines that rely on importing data are extremely unflexible. You have a very limited production chain and can run into issue where a normal map created by an artist in one tool will no longer work if that asset has been modified by an artist using a different 3d app.

    Also, importing tangents and normals is not the entire puzzle. The interpolation of tangents across a triangle needs to be the same and this can't be imported/exported with the model.
  • nebukadnezar
    Options
    Offline / Send Message
    nebukadnezar polycounter lvl 8
    Hey Alec,

    Yeah I encountered the error on Win 7 64-bit.

    Now that it's working I tried the tool and its friggin' awesome. Had no problems but only did a little bit of testing. Will report dem errors if i see any :D
  • JacqueChoi
    Options
    Offline / Send Message
    JacqueChoi polycounter
    muchos love for you guys!

    This is great!
    EarthQuake wrote: »
    The thing with supporting loops etc is this: You'll still need to add them, but now you can remove them after baking(as long as your uvs stay the same) your object space map and then transfer your tangent space maps with that optimized mesh.

    Thanks a ton for the steady stream of information! You're teh uber l33t guru.

    ^_^
  • ranek
    Options
    Offline / Send Message
    ranek polycounter lvl 8
    will try it out . thanks for the beta test guys
  • S_ource
    Options
    Offline / Send Message
    S_ource polycounter lvl 9
    Its a 1024 map and it did had 2 in padding and i tried 16 . I did also bake a 2048 map but its still there. Handplane seems to remove the padding, probably doing it with the unwrap and it seems like the normal map is inside of the unwrap like a pixel or so on some spots and outside in some others.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Hi Everyone,
    I have done some more testing of this build and for now I wouldn't use the maya tangent space outputs. Maya output appears to have been broken when build was put together. I will update the first post in the thread to reflect this.
  • Z3D
    Options
    Offline / Send Message
    Z3D
    Hey guys,
    Good news here , is also nice to see initiatives like that, I've been try this now and I don't know where I go wrong, I'm trying differents settings but that's what I've got

    Capture2-unity.PNG
    This is a screen from unity with normal map fixed
    here's the problem
    TijolosArco_N_unity.PNG

    So if anyone want make this or wanna give me punch here's my files - https://dl.dropbox.com/u/11836224/HandPlane_testZE/HandPlane_testZE.rar
    make yourself free to do this.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    z3d:
    hit "more options" and flip y/z. If you baked in xnormal set the object space source as maya
  • Bertmac
    Options
    Offline / Send Message
    Bertmac polycounter lvl 17
    Thanks Alec for resolving my problem,

    but I am glad that i am not the only one with it hehehe

    Thanks again now it all work perfectly + i learned something new

    Bertmac
  • decorix
    Options
    Offline / Send Message
    decorix polycounter lvl 11
    Hi,

    I'm getting a security warning that the files aren't save. Norton security deletes them. Any idea why this happening? running lates Norton 2013 + updates Thanks.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Hi decorix,
    What is the message from norton exactly? I'm guessing the cause is their WS.Reputation.1 error. The reputation error basically rejects software from unknown sources.

    If that is the error you can read about it and how to bypass is here:
    http://www.ghacks.net/2012/06/25/how-to-bypass-symantecs-ws-reputation-1-system/
  • decorix
    Options
    Offline / Send Message
    decorix polycounter lvl 11
    Hi Alec,

    Thanks for the fast reply. yes, indeed its WS.Reputation.1 error.
    thanks for the info and link to solve this issue.

    AlecMoody wrote: »
    Hi decorix,
    What is the message from norton exactly? I'm guessing the cause is their WS.Reputation.1 error. The reputation error basically rejects software from unknown sources.

    If that is the error you can read about it and how to bypass is here:
    http://www.ghacks.net/2012/06/25/how-to-bypass-symantecs-ws-reputation-1-system/
  • AlanSMitchell
    Options
    Offline / Send Message
    AlanSMitchell polycounter lvl 14
    sheer magic
    X normals normal map default
    Before.jpg
    First try with HandPlane
    After.jpg
  • Erafic
    Options
    Offline / Send Message
    Erafic polycounter lvl 10
    So wish I could have the -work in an instant- result :\

    This tool really seems awesome, however once I've inputed the FBX and my xnormal created object space map (or maya created one) it does a very quick load once I press render. It's over in a split second and it just gives me an empty normal map :S (a map with a solid 128,128,256 color)

    Not sure what info I'd need to relay to troubleshoot it.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Erafic, where is your FBX from and have you updated your FBX plugins to the latest version?
  • Erafic
    Options
    Offline / Send Message
    Erafic polycounter lvl 10
    Aye that fixed nothing popping up! Downloaded the newest version of the FBX plugin (FBX 2013.3 Maya 2011 64-bit) for Maya and now things showed up. However they seem to have artifacts here and there :/

    My test models UV-layout might now be the best at the moment, might need to replan them or get a better test model. Those edges that ended up sort of good around the grove on the anvils sides were definitively a lot better than I usually get straight from Xnormal!

    Object space from Xnormal on the left, Handplane output on the right.
    Handplane_erafic_trial01.png
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    that output looks y/z inverted or channel flipped in some way. Email me your lowpoly, object space map, and ideally your maya/max scene file and I will take a look.

    alecmoody@gmail.com

    You can also try hitting "more options" and then using the flip y/z button. If it still looks off try flipping some channels. We are trying to come up with a good solution to this since it is confusing but it isn't possible to know the y/z orientation of the source model.
  • Erafic
    Options
    Offline / Send Message
    Erafic polycounter lvl 10
    Flipped the y/z, immediately awestruck. The UV edges are almost entirely gone! Now that's something one have struggled with. Only thing left now is the artifacts that seem to appear :S But I'll go ahead and gather the files and mail them over incase it's still needed. This program might just save my sanity :)

    Handplane_erafic_trial02.png
  • breakfast
    Options
    Offline / Send Message
    When I convert my OS Normal Map, it comes out all faceted like so, any idea why?

    jpbfRlJHEQymO.jpg

    OSNM was baked in Maya and converted to Maya 2012. When I convert it to Unity it comes out fine, no faceting.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Hi breakfast. The maya output is broken at the moment. The maya h3d plugins appear to be triggering this bug as well. Luke is working on a new build that will fix this along with a few other bugs and with some of the additional requested features.
  • breakfast
    Options
    Offline / Send Message
    AlecMoody wrote: »
    Hi breakfast. The maya output is broken at the moment. The maya h3d plugins appear to be triggering this bug as well. Luke is working on a new build that will fix this along with a few other bugs and with some of the additional requested features.

    Ahh thanks, looking forward to the fix. What is the best alternative to use within Maya for the time being?
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    I would wait to use handplane for anything maya based but the closest option should be importing a maya fbx with the "input tangent and binormal" output option (and make sure tangents and binormals are included in the fbx file).
  • James Ordner
    Options
    Offline / Send Message
    I tested this with Blender -> xNormal -> Handplane -> UDK, and the results are amazing! However, Handplane seems to average the normals for the entire mesh, regardless of sharp edges (Blender's equivalent of smoothing groups). In most cases, this isn't that big of a deal, but of course sometimes it is required to have a few sharp edges. If you were able to add smoothing group (sharp edges) support for Blender FBX export, this would be one of my primary tools for sure!

    Edit: I forgot to mention this. I can open Handplane one time, and it works fine. However, if I close it and try to open it again, it tells me 'The license file is not valid.' I can't open it again unless I copy the entire handplane folder to a new location, and then it works again. Once.
  • 3DKnight
    Options
    Offline / Send Message
    3DKnight polycounter lvl 17
    Nice tool! having a few differences and errors between the handplane conversion and a straight bake in xnormal

    using 3DMax and importing into Unreal. 1 smoothing group on the whole object

    It adds smoothing errors to some points, such as the top and the connection points of the sides, as well as the detail bump on the top. You can see these on the normal map

    All my settings are default (if i click flip y/z up, it messes the bake up). I choose maya as my Input object space since you mentioned if you are using xnormal to choose this option.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    3dknight,
    what do your unreal object import settings look like?

    Make sure that import tangents, explicit normals, and remove degenerates are all unchecked.
  • 3DKnight
    Options
    Offline / Send Message
    3DKnight polycounter lvl 17
    that fixed it :) thanks

    A little confused, why do you import normals on your mesh for a Xnormal generated tangent map, but not on a handplane object space converted tangent map?
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    Our tool replicates how unreal works in terms of tangents and normals. If you import tangents and normals from the model you are no longer using matching data. There are a bunch of workflow advantages to not passing that kind of data around but more importantly unreal's skeletal mesh system doesn't of the imported information so the xnormal workflow isn't compatible. Skeletal meshes in unreal cover anything that is rigged so that includes weapons, vehicles, characters...
245
This discussion has been closed.