Jump to content
3DCoat Forums

Blender misbehaving: good free / low cost alternative to change pivot / duplicate mesh?


Gian-Reto
 Share

Go to solution Solved by Gian-Reto,

Recommended Posts

  • Advanced Member

Again Blender is driving me nuts! After finally getting all the baking errors in my current 3D Coat retopo mesh fixed (that are hardly visible in the 3D Coat viewport, but extremly well visible within Unity), I duplicated the symmetrical parts of a hard surface sculpt of mine and fixed all the pivot points.

 

 

What I only found out when I imported the mesh into Unity: the shading got permanently trashed by the blender import. Somehow normals / edges / whatever get converted by blender on import, sometimes it even converts it to blenders "flat shading" (while at other times it doesn't).

 

No matter what I do, no matter how I export, I get weird shading errors in Unity. The exported obj file directly from 3D Coat looks great, it just has completly unusable pivot points and missing mesh parts. So after all this work, I can pick between an unusable mesh that looks good and a usable one with wrong shading.

 

Anyone got any good input what I can do to fix these problems in Blender / how I need to import my meshes from 3D Coat to blender and from blender to Unity (or other software) to keep the mesh information important for shading just the way it is in 3D Coat?

I already tried:

   - exporting normal maps for Unity... always do now

   - swapping the normals green channel for the mesh that has the botched shading from blender

   - making sure only the necessary part is imported / exported in Blender

   - Exporting from 3D Coat with smooth groups (didn't help at all)

   - all the export formats I could think of (obj, collada, fbx, ...), as well as importing the blender file directly

   - Using the edge split modifier in Blender to get a better shading. Still completly wrong

 

What I didn't try yet:

   - remerging the retopo meshes to the paint room without triangulation

   - recalculate normals in Blender (I am relucant letting blender do ANYTHING that could change shading at this point)

 

The really weird part is: I got this to work before! I had to duplicate and pivot fix a model like a year ago, and everything worked fine after some tinkering. Back then, the problem was solved by using smooth groups, that does not work this time though, I tried.

 

For reference, here are images in Unity (glossy material and missing colors were chosen to test the normal map):

 

post-6386-0-83554000-1419384428_thumb.pn

This is what I expect... it is the 3D Coat model, exported directly from 3D Coat to an .obj and then imported to unity by drag and drop

 

post-6386-0-99330800-1419384499_thumb.pn

This is how my Blender model looks after import to unity. This is the best case, when the model didn't get flat shaded by Blender. I won't even try to show how it looks with blender flat or smooth shading applied, I guess you know that already.

 

 

If you cannot help me with my problem, but you have to fix pivot points and duplicate mesh parts also from time to time: what is your pipeline? Is there a low cost tool I could use to do this that cuts that good awful blender out of the pipeline?

 

 

As additional Input: Having a way to duplicate meshes already merged to the paintroom, reposition, mirror and rotate them, as well as fix the pivot point of meshes (Blenders 3D Cursor functions are actually quite good here) in 3D Coat would be a dream come true! That would allow me to create my meshes in 3D Coat and bring them into Unity without any detour into another program.

 

thanks a lot in advance!

 

Gian-Reto

Edited by Gian-Reto
Link to comment
Share on other sites

I remember some troubles when you edit any object inside Blender -the normals are automatically recalculated-

 

Duno how to help with this task

 

you tried asking at Blender forum ?

 

-----------------

free alternatives -i duno if this app can help-

 

Wings3D

http://www.wings3d.com/

 

Hexagon

http://www.daz3d.com/products/hexagon/hexagon-what-is-hexagon/

 

DAz Studio

http://www.daz3d.com/products/daz-studio/daz-studio-what-is-daz-studio

 

VoidWorld free version

http://voidworld.cmcproductions.co.uk/index.php?topic=1320.0

Link to comment
Share on other sites

  • Advanced Member

Yes, that makes a lot of sense... now that you mention it, I remember reading somewhere that Blender cannot handle certain kind of meshes that grew to be de facto standarts in the industry... like vertices with multiple normals or something like this.

 

I haven't asked in the Blender forum yet, I guess I will have to ask there, as I am sure it worked before for me, so there must be a way to stop Blender from recalculating normals on import.

 

In the meantime I will give Wings3D and Hexagon a spin. Tried them before, never was too happy with them. Is Maya LT a good choice? Now with the sub based license, might not be too expensive for a casual user like me, and I guess mesh mirroring and pivot fixes should be working just fine in Maya LT.

Link to comment
Share on other sites

It would be nice if Blender didn't recalc the normals when edit mode is activated. Blender doesnt support custom/edited vertex nomals AT ALL at the moment and constantly recalculates all vertex and face normals using its own algorithm, so: the normals are imported and then Blender just overwrites them with its own calculations.

 

Info related:

 

[Addon] Recalc Vertex Normals

 

Modified OBJ Importer for Custom Vertex Normals

 

Could be the LWO import-export project a solution ? i duno. May be i will try it later.

Link to comment
Share on other sites

  • Advanced Member

thanks for your reply carlosan.

that lwo import export thing sounds interesting, though if I understand it correctly, it can preserve the vertex normals if the file has already been imported with this script?

Or does the "recalc vertex normal" script mentioned in the thread help? I am not versed enough in 3d modeling to know if the split vertex normals from 3d coat that get eaten by blender can just be recalculated like that...

Might give it a try though, before I give other tools a spin.

Link to comment
Share on other sites

  • Advanced Member

Decided to give Maya LT a spin... after all, coming from Autodesk and being a spinoff of a big price pro suite, it must be somehow good, right?

 

Well, some hours later and I start to appreciate Blenders UI better (3D Coat is still much better than both of them)... Maya is pretty shite in the usability department imo.

 

But I digress... Maya does the job for me for importing and exporting without recalculating normals, fixing pivots (much harder to achieve than in Blender though) and centering objects. While trying to mirror the parts that needed mirroring I stumbled upon a weird issue though: Maya only lets you mirror by duplicating with negative scaling (how old school is that). After importing to Unity some normals seemed messed up (as expected somehow). But after tinkering with reverse normals in Maya and only making things worse (inside out view) I decided to try something different:

 

I duplicated one object of the obj exported DIRECTLY from 3D Coat and imported into unity, and set its X Scale to -1. And I noticed the same normal issues as with the object coming from Maya LT. So I guess something is wrong with the obj AND fbx file exported from 3D Coat. Anyone got an idea what exactly is wrong, and how to fix it? It doesn't seem to be just reversed normals, dunno. Also, the object without negative scaling applied looks fine.

 

I am highly confused... is that a problem with reversed normals? Wouldn't that show the object inside out? Why does it only happen when the object is scaled negatively?

 

Images:

post-6386-0-42521000-1419590546_thumb.pn

Original without errors

 

post-6386-0-39292400-1419590567_thumb.pn

negative scaling applied, errors visible

Link to comment
Share on other sites

  • Advanced Member
  • Solution

Well, yes and no... the guy was trying to do pretty much the same thing, and people talk about having issues with duplicating with or without freezing transform, but to be honest, I must have tried every combination of freezing / not freezing. I always got the same shading errors on the duplicated object.

 

Actually, having checked the normal directions in Maya after the duplication, Face AND Vertex normals are the same for the duplicated object right after duplication, so the normals cannot be the problem. I expect the same to hold true for duplicating within unity, as the end result looks the same.

What else could lead to this shading error?

 

 

EDIT:

To be correct, the mesh shading of the duplicated object in Maya IS black without two sided shading, so it looks like the faces are flipped, even though the normals look to be the right way up. Reversing the normals does not flip the shading... What the hell?

Anyone can make any sense of that?

 

EDIT2:

After some more trying: I was able to flip the normals so that the shading looked correct in Maya (must have locked something before). Now I get everything shaded inside out in Unity. WTF?

 

 

It looks like the shading in Maya LT is completly bugged for stuff that gets negative scaling, its the wrong way round. On the other hand, just looking at the normals, I cannot get the mesh to show up correctly in Unity, no matter what I do to the normals. Even if the Face and Vertex normals are correct, shading is off as shown before in the pictures.

 

 

Any possibility to duplicate the meshes in 3D Coat already so I don't need to find crippled ways of doing this rather simple task in even bigname 3D Packages?

 

 

EDIT3:

 

Yes, I found a way to achieve what I want without shading errors... though it is EXTREMLY unelegant. I cannot believe there is no other way to achieve a simple symmetrical mirror without shading problems in Maya LT in 2015!

Anyway, rant mode off.

What I will do now is mirror everything with the "mirror geometry" tool, separate the mesh, and export the mirrored part into its own fbx file... after cleaning up the pivot and centering it, I should be ready for final assembly. I will have to place it at the right spot manually, which shouldn't be too hard now that the object is correctly centered.

 

Gonna go vent some steam somewhere now... whew, that was like a thousand times harder than expected :)

 

 

if somebody has a better way of achieving this, I would love to hear it!

 

 

Thanks for the help, carlosan

 

Gian-Reto

Edited by Gian-Reto
Link to comment
Share on other sites

  • Advanced Member

yes, after more experimenting "mirror geometry" actually does what I expected... but you need to find the tab it creates to change stuff like mirror axis. Not very intuitive. But in hindisght not very far from what Blender does. Maybe I am just to tired from all the christmas partys :)

 

I gave up on the -1 scaling... seems general consensus is to not do it because of these errors it might cause.

 

 

As a sidenote, guys like you, carlosan, are why I love the 3D Coat community: always an answer much quicker than one could expect, and always helpful! Thanks for trying to help when I was close to freaking out because of all the problems popping up. It is very much appreciated!

 

 

Gian-Reto

Edited by Gian-Reto
Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...