Jump to content
HainesAJ

Normals/Shading Issue

Recommended Posts

I'm having trouble figuring out this phong/normals issue. The picture shows it best but I extruded a shell to give it some depth. On the edge I pointed the normals where I thought they needed to be but I'm still getting a weird shading issue. I'm not sure whats causing it. Any ideas how to fix this?

Thanks

AJ

Screen Shot 2017-04-21 at 5.01.32 PM.png

Screen Shot 2017-04-21 at 5.03.57 PM.png

Share this post


Link to post
Share on other sites

It's hard to tell what's going on and I'm not sure what result you are after. Try appending a Normal SOP and maybe upload the scene.

Share this post


Link to post
Share on other sites

@DaJuice Thanks for the suggestion. That did help. It didn't fully fix it but it's much closer.

I attached the scene file. The spline that is used to cut the sphere will eventually move I think which may cause problems but for now just getting it working in still form is what I'm after.

Screen Shot 2017-04-24 at 9.12.27 AM.png

SphereBoole_EdgeProblem.hiplc

Share this post


Link to post
Share on other sites

it's because you have a lot of "useless" edges on the seam. delete them and it should work

 

Share this post


Link to post
Share on other sites

Thanks@3dome That is probably it. I'm kind of a newb to houdini, a fix like that seems a bit over my head at the moment. Can you point me in the right direction of getting rid of the unnecessary edges?

Share this post


Link to post
Share on other sites

put this point wrangle just before the extrude:
int neighs = neighbourcount(0, @ptnum);
if(neighs < 3)
{
    removepoint(0, @ptnum);
}

 

deletes the points (procedurally) so you get clean geo but doesnt fix the rendering issue. This comes from cusping the polygons. Do you need to cusp them?

EDIT:
fixing the geo with fuse nodes helps. see file

SphereBoole_EdgeProblem_v2.hipnc

Edited by 3dome
update

Share this post


Link to post
Share on other sites

It's a shading error caused by light direction trying to be perfectly perpendicular to surface. Add a bit of inset for your extrude node or move light/geometry by a small distance from origin or try spherical light.

Edited by f1480187
typo

Share this post


Link to post
Share on other sites

@3dome Wow that solution work pretty perfectly. Thanks so much. I'll have to look more into the science behind that neighborcount function, also the fuse node is new to me as well. All good stuff. Yeah the cusping is preferred. Thanks again for the help!

@f1480187 I see what you are saying. After 3domes fix the light didn't need to be moved after all. Thanks for the suggestions though:)

Share this post


Link to post
Share on other sites

@HainesAJ, artifacts still there. Try to add a bit of contrast using bottom bar of Render View:

lit_patch.png

Fuse node recomputes affected points's normals by default. That results in slightly randomized normal directions from irregular topology in places where the new normals was computed. Extruding by such normals will output side surface non-perpendicular to light direction, reducing most of the artifacts. That's an equivalent of adding a bit of inset to extrude:

fuse.gifinset.gif

The difference is that the bumped surface will face the light and be lit, sunken surface will backface the light and be shaded. Randomized surface will be lit and shaded randomly.

Edited by f1480187

Share this post


Link to post
Share on other sites

@f1480187 You're right it wasn't fully artifact free. That does make sense about the random surface positions and insetting does help too. A great point to be aware of. I really appreciate you clearing that up and giving examples:) The sphere is looking nice now!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×