Normal
Visit the Node Bible
Normal
In 3D, the "normal" of something typically refers to the direction that a point, vertex, or primitive is facing. Most often, this is very applicable to the primitives (polygons) in your scene. Polygons need to be facing the correct direction to render properly. Plus, there are many situations in VFX which will rely on this information being accurately described. The normal of the polygon (which is a primitive) is determined by the winding order of a primitive. The winding order describes how the polygon was made, and the direction in which the vertices are drawn is essentially this winding order. This direction can then be used to determine the normal of the polygon.
If you are noticing that the Normal node is not fixing your normals, then it's probably because the winding order of your primitives are incorrect.
To fix the winding order, you can use the reverse sop, or you can try using a setting on the poly doctor node and going under Topology --> Correct Winding of Polygons to Majority in their Manifold Patch. Once a good winding order is established, you can then run this normal sop to establish proper normals.
General Parameters:
Group + Group Type:
-- This specifies where the normal node will operate along your mesh. For more info on groups, please visit the Group Node Bible entry.
Override Normal:
-- This parameter can be used to affect an attribute other than N (which is used for normals be default in Houdini). In practice, this can be useful for specifying other vector attributes (such as v for velocity).
Compute Normals:
-- This toggle will re-calculate the normals. The only situation which requires turning this off is when you want to modify the existing normal data. Specifically, you can either reverse the direction or "Make Normals Unit Length" to existing normals if you'd like.
Add Normals To:
-- Vertices = By default, it will assign this to vertices. For more information about the difference between points, vertices, and primitives, please watch the video above. When setting normal data to your vertices, it's typically for shading purposes when rendering. Vertex normals are great because they offer an accurate way of describing the smoothing between faces. Because each vertex is associated with a specific primitive, this means that there are typically 4 vertices at each point facing different directions (according to the associated primitive). Because of this, it allows the render engine to produce a higher quality smoothing than would would otherwise be possible with just one point or primitive normal.
-- Points = Setting point normals is not intended for rendering purposes. However, it is very useful for a variety of FX tasks which may rely on this vector information to drive certain effects. So, if you're trying to use Normal information for purposes other than rendering, then this may be the setting you're looking for.
-- Primitives = This sets a normal that's associated with the primitive instead of the point. Again, this is typically used for FX-related tasks.
-- According to the docs, "A single normal will be computed for the detail, being the average of the primitive normals, weighted by the primitive area." In practice, this might be useful for determining the overall direction that something is facing.
Cusp Angle:
-- This parameter gets used to determine whether or not the viewport (or render engine) will smooth the normals of the mesh so that they don't look faceted (blocky). According to the docs, "When computing vertex normals, if normals of vertices around a single point are less than or equal to this angle (in degrees) apart from each other, they will be averaged together, weighted by the vertex angle in each polygon." If you are adjusting point or prim normals, then keep an eye on how this parameter will alter the direction of the normals.
Weighting Method:
-- These settings determine how the normals get smoothed out when adjusting the cusp angle. According to the docs, "When set to By Vertex Angle, care is taken when computing normals to try to avoid issues introduced by sliver polygons and to weight contributions to normals by angle, so that triangulation won’t change normals significantly. When set to Each Vertex Equally, a faster, but less accurate, approach similar to the approach used by the Facet SOP, is used to compute normals, where each vertex is given equal weight around a point, and less checks are done for ensuring stability. When set to By Face Area, the behavior is similar to __Each Vertex Equally_, except that vertices on faces with more area will be given more weight when computing point normals. This is often used to fake the appearance of a smooth bevel for geometry with only a simple chamfer." In practice, the "By Vertex Angle" should be used for most situations unless you are trying to model and render with simple chamfer bevels.
Keep Original Normal Where the Computed Normal Is Zero:
-- This setting can be important to consider when calculating normals that get used for FX purposes. If you have floating points that are not associated with any vertex/primitive, then this will take any existing normal information and set it to 0,0,0. This is especially important to consider if you're trying to use this node to affect velocity instead of normals. In most situations, I would suggest leaving this off unless you're trying to reset those attributes.
Modify:
Make Normals Unit Length:
-- This will make sure that the resulting normals are "normalized." (I know, that's kind of confusing) When something is "normalized" it means that the values exist between 0 and 1. So, if a normal value is something crazy like (5,1,1), "normalizing" it will cause each element of that vector to exist between 0 and 1. So, the new value would be (1, 0.2, 0.2)
Reverse Normals:
-- This will reverse the direction of the calculated normal vector. This will NOT fix the winding order of a primitive if it is broken. For more info on this, please read the summary section above and/or watch the videos.
Featured links
About Mentorship Calls
To book a call, just visit https://www.cgforge.com/book-consultation
Study Plan Call
Look at the welcome email for further instructions on how to schedule a call if you are a Premium Subscriber.
Premium Member Discord
Unlike the standard discord server, the Premium Member server receives faster replies, feedback on projects outside CG Forge courses, and exclusive discounts on mentorship calls that aren't offered anywhere else.
Houdini Education License
In summary, the educational license of Houdini acts much like Houdini Indie - but at a discounted price. The main difference between Indie and Education is that this version of Houdini cannot be used for commercial projects. It's great, however, for learning and preparing a demo reel without the limitations of Houdini Apprentice.
Unlock Resources
One of the best examples of this is the Node Bible. This resource acts like an encyclopedia of Houdini knowledge. Each entry features a node, goes through all the parameters, and offers video quick tips on how to use each node. The Node Bible goes beyond the native Houdini documentation because it's easier to understand, offers practical examples, and links up to nodes that get used in the courses.
In the resource sections, you'll also find quick tips that cover a variety of miscellaneous topics along with The Weekly Wrangle - which is a series dedicated to advice and real-world conversations surrounding career success.
Redshift Discount
https://www.maxon.net/redshift
Aug 28th, 2024 Changelog
General Changes:
• New, simplified website design is now live!
◦ All new particle banner is featured on the home and after login pages
◦ The after-login page now features courses that are sorted by ones that you have recently watched. This makes it easier to continue watching whatever you’ve been working on without scrolling through all the courses to find what you’re looking for.
◦ There is also a new “resources” section that can be found beneath the “Browse Courses” on the after-login page. This makes it easier to bring up the Node Bible, the “Tips + Tricks,” or Weekly wrangle in a new tab
◦ “CG Forge Academy” has been replaced with a “Mentorship Calls” at the top menu (see below for more details)
◦ The resources dropdown now features “Tips + Tricks” (see below for details)
◦ Certification requirements have been slightly re-written to be easier to understand
◦ Subscriptions have been re-designed from the ground up (see below for details)
Subscription Changes:
• Subscriptions have changed to include a "Basic Subscription" and a "Premium Subscription" option. The Basic Subscription renews monthly, and the “Premium Subscription” renews every 4 months. Yearly subscriptions have been removed.
◦ These changes only affect new subscribers. Existing subscribers will not see anything change with their auto-renewal amount.
◦ 10% off a Redshift yearly subscription is now included with the Premium Subscription. (If you are currently a 4 or 12 month subscriber, then just email support@cgforge.com for this)
◦ A new “Study Plan” call has been added to the Premium Subscription. (If you are currently a 4 or 12 month subscriber, then just email support@cgforge.com for this)
◦ A Houdini education license is now available for “Premium” subscribers. (If you are currently a 4 or 12 month subscriber, then just email support@cgforge.com for this)
◦ For more information, visit the subscriptions page.
• CG Forge Academy has been redesigned to be easier to use.
◦ 45 minute calls have been removed. Existing coupons are still valid and can be used towards 90 minute sessions for the amount listed on each coupon.
◦ 8 week mentorships have been removed - Instead, you can book as many 90 minute calls as you’d like.
◦ Free onboarding calls have been removed - Instead, premium subscribers now receive a complimentary “Study Plan Call” that establishes a personalized curriculum moving forward.
◦ The “CG Forge Academy” top menu is now replaced with “Mentorship Calls” and only allows for booking 90 minute calls.
All new “Tips and Tricks” resource page:
• “Tips and Tricks” is now a resource page that holds all quick tips, Houdini update videos, and other miscellaneous videos in one place. If you’re looking for “Quicktips Season One and Two” or "Houdini 19 Updates" they have now migrated over to the “Tips and Tricks” resource section.
Discord changes:
• The CG Forge Discord channel will now be divided into two categories: “Basic Members” and “Premium Members.” The premium member channel will be invite-only to premium subscribers or those who are currently enrolled in a 4 or 12 month subscription. If you eligible to join the premium discord channel, email support@cgforge.com for an invitation.
◦ Basic Discord members will no longer receive support for projects that are outside the topic of CG Forge courses.
◦ Premium Discord members will receive support for projects outside of CG Forge content
◦ Premium members will receive discounts on mentorship calls, and basic members will not.
◦ Premium members will have their questions / posts answered before basic members
◦ Early access to courses will now be exclusively provided to premium members via the discord channel.
If you have any further questions about these changes, feel free to email support@cgforge.com
Cheers,
- Tyler
1:1 Support and Feedback
Unlock ALL Courses
Instead of paying lots of money for ONE course, you can pay less for a library of courses.
With CG Forge, you can also count on highly refined content that's conveniently found in one place. This makes it easy to cut through the clutter of Houdini tutorials out there and make the most of your time while you learn.