inverted normals

Hi,

each and every single textured model exported from RC has inverted normals, which makes it painful to use 3rd party 3D applications to fine touch the texture.

Workaround is to recompute normals with, e.g., meshlab, but this is annoying and time consuming, and would be unnecessary if normals where correct in the first place.

Please FIX the normals on saving to OBJ, or at least add a GUI switch to do it at will

thanks

Massimo

bump.

any plan to resolve this or any workaround to be advised ?

thanks

I’ve not seen inverted normals with fbx export. Maybe, a work around while you await a direct fix.

Hey Benjy, does that mean you have also seen inverted normals with obj? And if yes, then only sometimes or always?

No, doesn’t mean that, I don’t use obj in my workflow. I was just saying it doesn’t appear to be a bug with fbx.

Hi, if it wasn’t a bug, recomputing normals with meshlab wouldn’t fix it. I think it’s related to obj format

Hello Massimo,

please excuse our late answer.

I cannot see inverted normals in OBJ or FBX. Can you plase maybe post some screenshots, so we can see what you mean exactly.

 

Hi

unfortunately it does not show on any screenshot, it’s just the external 3D paint programs who react very badly if I don’t get the normals properly defined.

To verify you can try the following:

export from RC a textured object in OBJ format.

Open it with meshlab

select Filters –> Normals, Curvatures and Orientations –> Compute Vertex Normals and accept the default parameters

now you can save the file from meshlab and check what’s different compared to the OBJ exported from RC

I don’t use FBX, therefore I don’t know if they have the same issue

thanks

Massimo

Hello Massimo,

please post a screenshot of the difference between obj recomputed and exported from RC. I followed your steps but still do not understand what you mean exactly. Thank you

Hi,

as I said, unfortunately, normals_ are not something you can see from a screenshot_. They simply do not show, they are used by renderers to cast shadows and reflections, but do not show up

regards

Massimo

Hey Massimo,

I guess what Zuzana means is to show a result from the “wrong” normals compared to one with the “right” ones.

There must be something, otherwise you would not have noticed it or rather it would not be an issue for you, right?

Or what is the problem exactly with fine touching the texture, as you said in your OP?

Hi Zuzana and Goetz,

yes, there are effects but they are not visual, and cannot be captured by a screenshot. What happens is the following, I save the textured object and open it in a 3rd party 3D modeler to fine touch the texture. Specifically I use 3D Coat.

When I import the RC generated model into 3D Coat to paint on the texture, the 3D Coat brushes do not work. They paint only certain spots and not others. Apparently they make use of the normals to decide on what side of the faces to paint.

As a matter of facts, if I process the RC generated mesh with meshlab, as I described, then 3D Coat paint brushes do work fine as usual. My conclusion is that the original normals are inverted or anyhow misdefined.

thank you

Massimo

Hi Massimo,

that is much clearer now.

From what you describe it really does sound like a logical explanation.

Can you rule out any other influence - e.g. what if you only open it in meshlab and save it there without doing anything?

hmmm… I haven’t tried just saving. I’ll test this tomorrow and let you guys know. However I remember that I tried to recompute face normals (with Meshlab) instead of vertex, and that didtn’t help.

There are no other influences because between “model NOK” and “model OK” I only do two things to the model: recompute vertex normals and save.

thank you both for your help

Hello Massimo,

the inverted orientation of normals can be caused by the different standard for each software. Not all of the software have the same orientation of normal therefore there could be a mismatch when importing from RC to another software. 

Hi,

normals orientations can be a problem if the object is a plane, since the SW may not know which side is the front. In case of a closed mesh the normals should always go from the vertex to the outside.

But anyway the best way to overcome these issues is, like I suggested in the OP, to add a switch to revert the standard orientation when saving.