The online racing simulator
I'm updating the seats of my MZG Sedan mod and I can't actually see what I'm doing (wrong) because of the spam of bad normals error messages.
Would be nice if there was just one warning, thanks.

EDIT: The warnings keeps re-appearing only when I'm moving the point.
EDIT №2: named subobjects feature is very good, thanks! Thumbs up
Attached images
Capture.JPG
Quote from Evolution_R :I'm updating the seats of my MZG Sedan mod and I can't actually see what I'm doing (wrong) because of the spam of bad normals error messages.

I can see that spam isn't helpful, but...

Quote from Evolution_R :At first I wrote it as a joke, but as Aleksandr_124rus posted, merge by distance (0.0001 m) should fix them.

Code wise, I'm not sure how hard would that be - to add "fuse/merge by distance" option.

I'm sure you know, I did add the merge by distance option. Does it not help in this case?
Quote from Scawen :Does it not help in this case?

"Fuse/merge by distance" option is working great, yes.

The spam messages I got are because of my poor skills with the 3D modeler, so it's fine, I was a bit frustrated and that's why I posted, sorry. Frown
No worries, the image you posted is a reminder that I need to make the notification less spammy.
Quote from Evolution_R :I'm updating the seats of my MZG Sedan mod and I can't actually see what I'm doing (wrong) because of the spam of bad normals error messages.

I've tried eliminating that spam in Editor D16

It's not finished - I'd like to add a button to select the point or triangle that a message refers to.

Also maybe there should be a button to hide the vertical lines, in case there are a lot of them and they get in the way of fixing the problem.
isnt there a way to automatically fix them bad normals ?
I remember importing a model I built with another software, the model was clean, then I did some simple operation in Editor (i forgot wich) and it created many bad normal points, wich i dont know how to clean now.
@Scawen, haven't tried D16 yet, but it sounds nice!
Quote from turbofan :isnt there a way to automatically fix them bad normals ?

The recently added merge by distance will fix them in some cases (when you have many points close together).
It has a new identifier for excessively small triangles which can be the cause of bad normals.

I can think of two main causes for bad normals. A 'bad normal' is when LFS can't understand which way a surface is pointing.

One example, is triangles, in the same smoothing group, in two opposite directions, based on the same points. So one triangle says "point faces that way" and other triangle says "point faces opposite way". Add these together, point doesn't face anywhere. Of course, triangles facing in opposite directions, based on the same points, need to be in their own smoothing groups, but LFS editor can't work that out, you have to do it manually.

Another example is extremely thin or tiny triangles. E.g. a triangle which is based on points that are in a line. Which direction does such a triangle face? Well that doesn't even make sense, geometrically it's just a line, although logically it has been specified as a triangle. That is a modelling error, but LFS editor cannot work out what you meant to do, or something like that. However, the new detection I added yesterday can help you find such thin triangles. Tip: sometimes use the "triangle buttons" to find the triangle referred to by the cyan line.

I am wondering if the tolerance for small/thin triangles need to be increased, to allow tiny ones. At the moment, the limit is down somewhere near 1 square millimeter which seems small enough to my mind, but apparently some models use a lot of such tiny triangles.
In D17 there is a convenient 'find' function to quickly select a point or triangle that is reported as having an issue.
well i found how to clean up those bad normals.
Now I remember, in my case the bad normals were created this way :
- imagine a box with one side exactly on the left/right mirroring axis
- when i mirror that box, the face adjacent to the mirror axis is duplicated, at the same place, but flipped,
This is the case of the first example u dscribe scawen : 2 faces, pointing opposite directions and sharing same edges, created by mirroring.
Now i fixed this by simply manually deleting those faces, ok.

I realize that this is actually one of the basic modelling issue in 3d, and on my 3d software, I have a function to remove those polygons. It's called "unify", and by one click it will cleanup those particular polygons by removing the one wich normal is not aligned with the adjacent ones.
It is quite usefull, because those polys are sometime very tricky to find.
We also have a mirror function, wich automatically cleans up things on the mirroring axis.

Regarding small triangles, to me 1 square millimeter area is negligible detail, or even could be seen as a modelling mistake, wich would warrant an automatic fuse/merge to simplify geometry.

edit: We also have a function to select 1 and 2 points polygons wich can be created in multiplying operations (like mirror), then we can easily remove those polys.
Quote from Scawen :I've tried eliminating that spam in Editor D16

D16 (and D17) started showing this error which didn't before (tri index too small), I started fixing them (it looks like a bad normal with a very thin face). But it got me wondering why they were not detected in D15.

Edit: the button in D17 makes it really easy to fix them. Thumbs up
Edit №2: maybe raise the distance limit a little... (latest attached screenshot seems fine, yet there is an error), points are close, but not that close.Shrug
Attached images
0.JPG
1.JPG
2.JPG
Capture.JPG
Thanks for the feedback.

Quote from Evolution_R :(latest attached screenshot seems fine, yet there is an error), points are close, but not that close.Shrug

Please can you cut out that tiny part of the model, including those round buttons, maybe save it as a tiny sre file and attach it here (no need for textures) just so I can see it and get an idea of the size involved.

Ideally the code would detect error triangles but not small triangles that are there for a reason.
Quote from Scawen :Please can you cut out that tiny part of the model

Yes, I exported it.
Attached files
test.zip - 11.8 KB - 154 views
Thanks, I agree those tiny triangles should be acceptable so I'm having a look at that.
Would "invert selection" be a useful function?

I was showing Leo an issue and at one point I wanted to delete all the triangles other than what I had selected. He asked "do you have invert selection?" and I said no.

I had to: hide selected, select all, delete, unhide all

Suppose it would be simpler and more intuitive to: invert selection, delete

Though I don't remember people asking for this, maybe it's not that useful? What do you think?
Quote from Scawen :Would "invert selection" be a useful function?

I was showing Leo an issue and at one point I wanted to delete all the triangles other than what I had selected. He asked "do you have invert selection?" and I said no.

I had to: hide selected, select all, delete, unhide all

Suppose it would be simpler and more intuitive to: invert selection, delete

Though I don't remember people asking for this, maybe it's not that useful? What do you think?

Yes. Would be a time saver
I've been working on bad normals and the small triangles or thin triangles that cause them. To usefully inform the user if there is a thin triangle, but not detecting them unnecessarily. It's not exciting work and I want to get off it but it had to be done as the bad normals spam was problematic.

I've improved it to the point where a right angled triangle with short sides of 0.3 mm is acceptable (one third of a mm). Down to that size, normals will be contributed correctly. In my version there are now sensible warnings for "too small" and "too thin" triangles.

But this brings me to something I remember someone requested, to display more accuracy in the point positions. Currently they are in metres, with 3 decimal places. But internally there is more accuracy. I think one more decimal place would be sufficient for display but I think it would be confusing, 0.0005 would now mean 0.5mm (but kind of looks like 5mm) and 0.0020 would be 2mm (but sort of looks like 20mm).

Up until now you could read the number as metres and mm which is easy on the brain. I wonder if the best solution would be to display in mm, with 1 decimal place?

Then of course 2000.0 would be 2 metres, and 1.5 would be 1.5 mm.

Would this be better, more 'engineering' style to display things?
Quote from Scawen :Would "invert selection" be a useful function?

Yes, for sure. Wink
Quote from Scawen :Then of course 2000.0 would be 2 metres, and 1.5 would be 1.5 mm. Would this be better, more 'engineering' style to display things?

I think yes, this is better.
I've heared about new modeller features. Cant wait to see them, especially i wanna say a HUUUUGE THANK YOU for the subobject names! Scawen, you the best!!!

Quote from Scawen :Would "invert selection" be a useful function?

Great function i commonly use in Zmodeler.
Quote from ivancsx :For me, it's same crucial just like how we hide-unhide tris and points, so when we working on specific subobject, we can hide the other subobject that overlapping our view to recent subobject that we working on

Quote from Flame CZE :Something like a "single subobject mode" which would only show triangles and points of the currently selected subobject would be nice.

Quote from Snoop.DriftEra :Yeah. Would be great. I dream of a list with sububject names (as we have in maps or cutouts, for example) and have a button to the side of it that hides/unhides.

The single subobject mode is now available in Editor test Patch D20.

It works quite simply: if "show subobs" is set to NO it will still display the selected subobject. You can select a different subobject either by clicking in the new list of named subobjects or by switching "show subobs" to YES again, select the other object then "show subobs" NO.

https://www.lfs.net/forum/thread/102626
Any plans to add a virtual mirror texture? It would be really useful in the prototype and Porsche mod Frown
Attached images
IMG-20230508-WA0003.jpg
Eventually yes, but it's complicated so I don't want to do that in the public version and also the new development version. It will require camera positions and some restrictions (e.g. options for which mirror it replaces, options for multiple camera mirrors). Right now I'm focused on getting the tyre physics finished and won't take on extra difficult tasks.
I agree, graphics and physics this is what we are all waiting for now.
Would it be complicated to allow subobjects like steering wheel, mudguard, trailing arm to cast shadow in LOD2? Naked motorbikes look a bit weird with those off.
This thread is closed

FGED GREDG RDFGDR GSFDG