Wrong normals when caching TP


Hi guys,

We’re seeing wrong normals when XMesh 1.4 caches TP 6.2 SP1 in Max 2016. It happens with geometry that has gone through Volume Breaker. The normal channel is checked for saving in the XMesh saver.



What do you get when you uncheck Normals and use Smoothing Groups, as you should?


Unchecking both produces another kind of wrong result, like face normals interpolated from vertex normals. Trying with only normals and only smoothing groups unchecked now.


Ok, unchecking the normal channel only looks like producing correct results. Kinda counterintuitive, but as long as it works… :slight_smile:


Basically Normals and SmoothingGroups are supposed to carry the same info, but expressed differently. So when BOTH are in an XMesh, we use the Normals and ignore the SmoothingGroups. When you disable both Normals and SmoothingGroups, you get the equivalent of No Smoothing Groups, which is the same as one group on all faces, so everything will be smoothed based on the dynamically calculated vertex normals. When you disable only the Normals, you are enforcing SmoothingGroups, which is what Max uses under the hood most of the time.

My guess is that VolumeBreaker produces bad Normals for some reason, and having the Normals option enabled carries that over to the XMesh. Once you fall back to the SmoothingGroups, if VB made good groups, everything goes back to normal (no pun intended!) :slight_smile:


Cool! Good explanation, thanks :slight_smile: