Author : foxhead


Reply
Reply
 
Thread Tools Display Modes
AlecMoody's Avatar
Old (#1)
Please post with any problems you have related to normal maps made in handplane.

www.handplane3d.com/ to download the latest build

UPDATE:

We just finished testing an update for handplane v1.1. There are some bug fixes along with one major simplification of workflow. We have added a new option for "baked in" that automatically detects how your object space map is oriented. This should reduce confusion. I am suggesting that everyone use this option instead of any of the listed baking tools in the drop down. Also, I wanted to point out that handplane will accept any object space map, even from applications that aren't listed.




v1.1 changes:

Fixed crash when right click closing from the task bar.
Fixed crash in obj file reader when negative indices were used.
Fixed output of non-square tga textures.
Fixed overwriting input image file when no suffix was specified.
Added auto detect setting to 'Baked In' option. This is now default.
Added mudbox and zbrush to 'Baked In' option.


v1.2 changes:
Improved automatic detection of object and channel orientation
Added Maya 2014 .h3d plugins

v1.3 changes
Added a beta output for Bethesda Creation engine.
Fixed an occasional bug with smoothing groups handing for Unreal output.
Added the option to select world or object space normals input.

v1.3.1 changes
Fixed a bug introduced in 1.3 related to smoothing groups handling. This bug affected multiple outputs in handplane.

Release notes video:

The installers will automatically patch your existing install. You will not lose any presets of application settings.

Last edited by AlecMoody; 09-05-2013 at 07:24 AM..
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Froyok's Avatar
Old (#2)
Congrat's on the release guys !
I already watched some videos, very good explanations, thank you !
Fabrice Piquet - Technical Artist, Product Designer, Quality Assurance - Allegorithmic
Twitter - LinkedIn - Portfolio - Maya Scripts
Offline , polycounter, 1,177 Posts, Join Date Jun 2010, Location Namur, Belgium Send a message via MSN to Froyok Send a message via Skype™ to Froyok  
   Reply With Quote

bb0x's Avatar
Old (#3)
I am installing this program right now. So not really a problem, but since the site doesn't have a FAQ section or an overview of what exactly this tool can do, I'll just ask here.

What engines/programs does this tool convert normal maps for?

What is the benefit of this tool if you are already working with synced tangent calculations and what not?

Is it possible to batch bake to all supported engine/programs?
I imagine this will be handy for freelance artists that do not know for sure what engine is being used or for uploading to some asset selling sites/stores. That way the client can chose themselves what normal map works with their engine.

Since I do not have much experience with object space normal maps, what would I do with additional normal map overlays made with nVidia plugins or nDo and such?
Since OS normal maps work differently than TS normal maps I imagine a simple nVidia generated normal map overlay will not work with object space normal maps.
So in order to use additional normal map overlays, you would need to edit the exported normals after using HandPlane for each exported version.
Doing it for a single export should not be too much of an issue. But if this tool supports exporting to all engines at the same time, it might be worth looking into being able to feed an additional overlay normal map.


Anyway from what I understood, this tool will only be of use to someone if they are not sure what the engine being is will be, right? Or am I missing something?
Offline , polygon, 557 Posts, Join Date Dec 2007, Location The Hague, Netherlands Send a message via MSN to bb0x Send a message via Skype™ to bb0x  
   Reply With Quote

Farfarer's Avatar
Old (#4)
Quote:
Originally Posted by bb0x View Post
What engines/programs does this tool convert normal maps for?
Max, Maya 12/13, Unity, UE3, Source, engines that take in FBX tangents and engines that take in FBX tangents and binormals.

Quote:
What is the benefit of this tool if you are already working with synced tangent calculations and what not?
Probably not a lot, but object space is a bit more solid if you're working on non-tri meshes or meshes that aren't smoothed yet.

Quote:
Is it possible to batch bake to all supported engine/programs?
Not sure.

Quote:
Since I do not have much experience with object space normal maps, what would I do with additional normal map overlays made with nVidia plugins or nDo and such?
Yeah, you'll have to edit the exported tangent normal map.

Quote:
Anyway from what I understood, this tool will only be of use to someone if they are not sure what the engine being is will be, right? Or am I missing something?
It's just generally useful. You don't have to triangulate your mesh when you bake your normal map, you can edit the smoothing after baking, you can technically edit the geometry so long as the silhouette and UVs remain consistent. Then just export to FBX, convert the object space map and you're golden.
Offline , card carrying polycounter, 2,021 Posts, Join Date Mar 2007, Location Leeds (UK) Send a message via MSN to Farfarer Send a message via Skype™ to Farfarer  
   Reply With Quote

pr1mus's Avatar
Old (#5)
Will there be support for Blender?
Offline , vertex, 42 Posts, Join Date Aug 2010,  
   Reply With Quote

AlecMoody's Avatar
Old (#6)
For input? Possibly in the future. I think we would need to do a custom exporter plugin for blender. If you can get blender to output an FBX that actually has smoothing info in it you might be able to make it work now.
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Quack!'s Avatar
Old (#7)
I am getting a new error with v1.0.

I export my triangulated object from 3dsmax and the baked object space map with default max settings to HP.

When I choose the files and try to bake I get this.

"The object space map appears to have normals that don't match the yz flip and xy directions of the input mesh. Would you like to apply the detected settings instead."

If I choose yes the baked map comes out looking more like a broken object space map. If I choose no the map comes out like a tangent space map but with triangle errors on my cylindrical shapes.

Any ideas on this? Will continue to work it out.
Nick Quackenbush, Star Trek Ship Artist @ Cryptic Studios ---- Linked In || Twitter || District 9 Mech
Offline , polycounter, 1,029 Posts, Join Date Jul 2006, Location San Jose, California  
   Reply With Quote

AlecMoody's Avatar
Old (#8)
post a picture. Most likely this is happening because your normals were inverted when the object space was baked (high or lowpoly normals being inverted could cause this). If there is one area in particular that appears to be acting differently, investigate those areas first. Also, it can happen if you are using symmetry but you a using the opposite half for the tangent space map as you used in the bake.

The message that pops up is handplane checking the direction of the normals on the lowpoly and comparing them with what is in the object space bake. If the difference is large it shows that message. It is intended to fix y/z flip errors but it can also get triggered by things like inverted normals in the object space map.

Last edited by AlecMoody; 02-14-2013 at 03:18 PM..
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Elod.H's Avatar
Old (#9)
Loving the tool so far! Got a question though: are there any specific, very important settings to keep in mind when I`m exporting the low poly mesh from Max as an .OBJ or .FBX file?
wwww.pixagen.net
Elod Horvath 3D Environment / Prop Artist - Available for Full Time Work
Offline , spline, 192 Posts, Join Date Nov 2012, Location Birmingham (UK) Send a message via Yahoo to Elod.H  
   Reply With Quote

AlecMoody's Avatar
Old (#10)
updated FBX tools are the most reliable import format. The tool needs smoothing information to work correctly. If you are maya user you will get the best results with our exporter plugins.
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Elod.H's Avatar
Old (#11)
Thanks for the swift reply, Alec.

I can't seem to get things going however.

I've done a very basic bake with mirrored UVs (offset with 1 uv space horizontally) and separate smoothing groups for top part, sides and bottom.



I've baked out an object space normal map:



I've then exported the LP as an FBX file with the following settings:



I've loaded the exported LP along with the object space normal map with the proper settings.



Here is the resulting tangent space normal map:


There is a weird detail on the new map though as highlighted.

When I put this new map into a Xoliul Shader's Normal slot, I get the following result:



I get this really nasty seam in the middle as well as a faceted look along the curved surface of my mesh.
I get the same result if I switch my target engine to Unreal 3. Although I did not import the asset into UDK, using the Xoliul Shader in Max shows the same results.

Last edited by Elod.H; 02-14-2013 at 04:52 PM..
wwww.pixagen.net
Elod Horvath 3D Environment / Prop Artist - Available for Full Time Work
Offline , spline, 192 Posts, Join Date Nov 2012, Location Birmingham (UK) Send a message via Yahoo to Elod.H  
   Reply With Quote

AlecMoody's Avatar
Old (#12)
how does it look with 3point shader running quality mode normals?
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Elod.H's Avatar
Old (#13)
I use 3DSMax 2013 and to my knowledge 3point shader is not compatible with it. At least I haven't managed to get the modifier working needed for quality mode.

Edit: In Marmoset, the faceting disappears, along with the seem running along the top and bottom. However, it appears the the green channel is flipped on the mirrored side...


Last edited by Elod.H; 02-14-2013 at 07:28 PM..
wwww.pixagen.net
Elod Horvath 3D Environment / Prop Artist - Available for Full Time Work
Offline , spline, 192 Posts, Join Date Nov 2012, Location Birmingham (UK) Send a message via Yahoo to Elod.H  
   Reply With Quote

AlecMoody's Avatar
Old (#14)
for a test. fill the normal map with solid 128, 128, 255 and see what it looks like in max.
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Quack!'s Avatar
Old (#15)
Hey Alec, thanks for the response, I tried it on another asset and it gave me the same result. Going to do a quick test bake and will get back to you.

Elod- I noticed you are using an out of date fbx version (2013.3 is current), could that have something to do with it?
Nick Quackenbush, Star Trek Ship Artist @ Cryptic Studios ---- Linked In || Twitter || District 9 Mech
Offline , polycounter, 1,029 Posts, Join Date Jul 2006, Location San Jose, California  
   Reply With Quote

Elod.H's Avatar
Old (#16)
Alec: I've filled the normal map with 128 128 255 and the problem still persists. Things are quite weird to me at the moment. If I re-apply the normal map which was baked with max (no handplane work on it) it looks good.

Quack: thanks for the tip! I'll update it.
wwww.pixagen.net
Elod Horvath 3D Environment / Prop Artist - Available for Full Time Work
Offline , spline, 192 Posts, Join Date Nov 2012, Location Birmingham (UK) Send a message via Yahoo to Elod.H  
   Reply With Quote

AlecMoody's Avatar
Old (#17)
Quack!: can you post pictures? its very difficult to tell what is happening from the description.


Elod:
The other thing that is happening (what is wrong in marmoset) is that the wrong set of shells are in the offset space. Apply your normal map as a diffuse texture (and dont have anything else on in the shader) and you can see that there is an interruption in the pixel colors across that surface that is having problems. Likely what happened is that you did the object space bake with differnt shells in the 1 square than you are using to display the model.

Is the normal map that works out of max a different format or bit depth? Something is happening where the shader is breaking and there must be some variable related to the file that is causing it.

Last edited by AlecMoody; 02-14-2013 at 08:18 PM..
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Quack!'s Avatar
Old (#18)
Alec, I was using the script from the link below to set my max hard edges to the likes of maya, as I was under the impression this was the correct way. This was causing the error in HP.

http://www.polycount.com/forum/showp...4&postcount=46

With that said I did more testing because of this and realized that script may set the hard edges correctly but doesn't improve the bake of the object at all in UE3. So it was a wasted step that I will just remove from the workflow and will fix the popup handplane was giving me.

Last edited by Quack!; 02-14-2013 at 10:31 PM..
Nick Quackenbush, Star Trek Ship Artist @ Cryptic Studios ---- Linked In || Twitter || District 9 Mech
Offline , polycounter, 1,029 Posts, Join Date Jul 2006, Location San Jose, California  
   Reply With Quote

Elod.H's Avatar
Old (#19)
Quote:
Originally Posted by AlecMoody View Post
Quack!: can you post pictures? its very difficult to tell what is happening from the description.


Elod:
The other thing that is happening (what is wrong in marmoset) is that the wrong set of shells are in the offset space. Apply your normal map as a diffuse texture (and dont have anything else on in the shader) and you can see that there is an interruption in the pixel colors across that surface that is having problems. Likely what happened is that you did the object space bake with differnt shells in the 1 square than you are using to display the model.

Is the normal map that works out of max a different format or bit depth? Something is happening where the shader is breaking and there must be some variable related to the file that is causing it.
I just took the Normal map that is working (the original map baked with Max) and loaded it up in PS. I did not do anything to it, just load it up and saved it out again with the same .TGA settings (32bit). But when I apply it to my mesh, I get the errors again. It should be the exact same map... but for some reason it's not. In PS it looks completely identical, even if I reload the newly saved out map, but in Max it looks much darker compared to the original. I've tried saving that map out as .tiff and .png .. same thing. hmmmm



I`m going something terribly wrong... will keep digging to figure this out. Thanks for the help again, Alec!

Last edited by Elod.H; 02-15-2013 at 05:21 AM..
wwww.pixagen.net
Elod Horvath 3D Environment / Prop Artist - Available for Full Time Work
Offline , spline, 192 Posts, Join Date Nov 2012, Location Birmingham (UK) Send a message via Yahoo to Elod.H  
   Reply With Quote

AlecMoody's Avatar
Old (#20)
Quote:
Originally Posted by Quack! View Post
Alec, I was using the script from the link below to set my max hard edges to the likes of maya, as I was under the impression this was the correct way. This was causing the error in HP.

http://www.polycount.com/forum/showp...4&postcount=46

With that said I did more testing because of this and realized that script may set the hard edges correctly but doesn't improve the bake of the object at all in UE3. So it was a wasted step that I will just remove from the workflow and will fix the popup handplane was giving me.
Free hard edges are a good thing. I have had some trouble with that script. Max seems to dislike complicated smoothing intersections. The textools splitting by island always works for me. Also, for unreal, make sure you are using explicit normals, importing tangents, and remove degenerates is off.
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Elod.H's Avatar
Old (#21)
Problem solved, nothing wrong with HandPlane so far . (There were some Smoothing Group issues with my LP )

Last edited by Elod.H; 02-15-2013 at 01:48 PM..
wwww.pixagen.net
Elod Horvath 3D Environment / Prop Artist - Available for Full Time Work
Offline , spline, 192 Posts, Join Date Nov 2012, Location Birmingham (UK) Send a message via Yahoo to Elod.H  
   Reply With Quote

malcolm's Avatar
Old (#22)
Hi Alec, I still don't really understand what this tool is used for so perhaps you can explain. Our artists use Maya and our game engine uses the normals it gets from Maya, I think you guys call this synced with the engine. So does this tool help us? And what is the big deal with syncing the engine to Maya this seems like a no brainer, why would you not do this? UDK now has a tick box to use the tangents and explicit normals from your mesh. Again why would you not do this by default and why did it take UDK 10 years to add this feature.
Offline , card carrying polycounter, 2,122 Posts, Join Date Oct 2004, Location Vancouver Canada  
   Reply With Quote

AlecMoody's Avatar
Old (#23)
Quote:
Originally Posted by malcolm View Post
Hi Alec, I still don't really understand what this tool is used for so perhaps you can explain. Our artists use Maya and our game engine uses the normals it gets from Maya, I think you guys call this synced with the engine. So does this tool help us? And what is the big deal with syncing the engine to Maya this seems like a no brainer, why would you not do this? UDK now has a tick box to use the tangents and explicit normals from your mesh. Again why would you not do this by default and why did it take UDK 10 years to add this feature.
Hi Malcom,
So from an artist standpoint what you want is to bake a normal map and not get shading errors (or minimize them to the extent possible in that engine). To actually achieve that goal there are a lot of things that need to be done the same way between baking and displaying the normal map. Off the top of my head:

1) Normals need to match
2) Mesh tangents need to match
3) Tangents need to be interpolated across a triangle the same way. You can have correct tangents at each vert but you will still get errors inside the triangle if the interpolation doesn't match
4) quads need to be triangle stripped the same way

Some of this can be passed around with the file exports but the interpolation cannot. handplane is designed to recreate all of this behavior so normals, tangents, and triangle stripping doesn't need to be saved into your files. From a workflow standpoint passing this data around can create huge headaches. A few scenarios where this can be a problem:

*A freelancee artist works in 3dsmax and bakes his object in xnormal using max tangents/normals. Later, an in-house artist using maya re-exports the model. The shading will break. In this case the only solution is either passing the model back through max or re-baking from scratch.

*Anyone exporting their files from 3dsmax who isn't running qualified normals in the viewport will get the wrong tangents. Not sure if nitrous affects this but I would suspect running the nitrous viewport would also output the wrong info.

*Unreal only supports imported normals and tangents with static meshes. Anything rigged will not work (so characters, guns, vehicles...).

I would also point out that if you are using xnormal, in the past (haven't done this in about a year) baking with a maya sbm or FBX did not produce a correct maya normal map. That is either just the interpolation not matching or there is something else missing from xnormal's handling of the data.

In addition to all of these issues, and the fact that you can't even pass all the necessary info in the files, it's a much more fragile workflow with dependencies between 2 or 3 applications where there are a lot of failure points. Tracking down where the problems are originating from is very difficult. handplane is the opposite approach. Any artist can get a correct normal map for any of the supported engines from any combination of tools that can make an object space normal map and correctly send the mesh, smoothing splits, and uvs to our tool. The normal maps handplane makes are actually correct for the behavior of the target engine, no dependencies.

There are also a bunch of other uses for the tool related to correcting projections but that gets more complicated.
Offline , polycounter, 1,169 Posts, Join Date Jan 2005, Location North Carolina  
   Reply With Quote

Eric Chadwick's Avatar
Old (#24)
Kudos for this tool, I can see it being a big step up for art pipelines.

Has anyone requested PSD support? I'd like to load up a 16bit objectspace PSD with layers, and have Handplane use all the layers as the source. In the future it would be cool if I could choose a single Group to use as the source, but that's just gravy.
Offline , Moderator++, 8,084 Posts, Join Date Oct 2004, Location Boston USA  
   Reply With Quote

malcolm's Avatar
Old (#25)
Great thanks Alec, I should have mentioned our pipeline is actually:
Zbrush/Maya> xNormal> Game.

Perhaps we have just been overlooking the issues, it sounds like you want us to bake an object space normal map in xNormal and then run it through hand plane and choose Maya as the output format for best results. Is that correct? I'll get one of our artists at work to test it out and compare the results.

I'll need to look into it a bit more, I can't remember if we are triangulating the meshes in Maya, we must be to get anything usable out of xNormal. Not sure if the meshes are triangulated in Maya though before the low poly model is saved, I don't think our game meshes are triangulated in Maya. Is this what syncing the engine to Maya's winding order fixes?
Offline , card carrying polycounter, 2,122 Posts, Join Date Oct 2004, Location Vancouver Canada  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.

Copyright 1998-2014 Polycount