General Category > Ongoing Anim8or Development
Current Development Release - Build 1269, February 14, 2017
Trevor:
Any chance of adding weighted normals to an8?
I never new this before but found a page describing how to vertex normalise cylinders, but on the page showed a beveled cube.
I have attached the image with a comparison of the same model as rendered in an8.
http://www.bytehazard.com/articles/vertnorm.html
Trev
Results of weighted normals:
Steve:
Just a note to say that I posted build 1263 with a few IK fixes, etc.
Steve:
@Trevor - I considered this method for normals when I first started writing Anim8or but rejected it. Instead I decided to use surface sub-division. I think this is a more robust solution though it is computationally more complex.
If you look closely at the closest corner of the cube in the animation sharp edges appear at inconsistent angles as it rotates. Low-polygon schemes do this because the normals are inconsistent with the geometry when they are interpolated. Surface subdivision effectively eliminates this inconsistency.
Another way to fix the problem is to use quads instead of triangles.
Here are some screen shots of 3 cubes. The left one has a thin bevel, the middle one a thick bevel, and the right on is the thick bevel subdivided.
Trevor:
Is this surface subdivision temporay or permament?
As you know, I make low-poly models and by low poly, I truely mean low-poly and not 1,000's of faces. It would be nice to render as it will look ingame and still export the normal mesh
Its probably areas like this where low-poly and high-poly moddeling clash, one needs a hack, the other is technically correct.
Trev
Steve:
Surface subdivision keeps the model low-polygon. The detail is added for rendering. Also note that cleaning up a model to use quads instead of triangles can improve all 3 methods: Anim8or basic, subdivision and weighted normals.
Anyway, no promises, but I'll look into adding some form of weighted normals, maybe as a parameter each mesh.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version