Notch Notch Manual 0.9.23
 Light | Dark
Point Cache

Point Cache

Generate a set of points to improve lighting quality with some nodes.


Method #

Generates a set of points over the surface of an object or set of objects, within a given bounding box.

The generated set of points is intended to be used in conjunction with other nodes, like lighting, particle emission, and cloning. The advantage of using a point cache for these purposes is that the points are only generated once and are then re-used for all specialised nodes rather than each node generating it’s own pointset. Furthermore, lighting calculations can be cached for each point so for some purposes the results of those calculations can be re-used.

The cache also groups the points into a voxel hierarchy for the purposes of lighting, when Apply Lighting is enabled. Keep this option disabled whenever possible though, as Apply Lighting costs performance.

When there are no objects plugged in to the Objects input then Point Cache will use all of the objects in the scene by default.

Max Num Points is not only a limit. It also determines how much memory the cache uses, even if the generated number of points is nowhere near this value. This is because the allocation on GPU must be static. To avoid wasting memory, try to keep this parameter as low as possible.

The output of this node is generally used to select which nodes the point cache will apply to. By default, most nodes will automatically pick up the point cache once it is in the scene, but if you have multiple nodes, or just like to make things more visibly clear, you can connect the output from this node to another nodes Point Cache input.


These properties control the 3D transforms of the node. Transforms will generally be inherited by child nodes, although they can be ignored through the Inherit Transform Channels attributes.

Position XMove along the local x-axis.
Position YMove along the local y-axis.
Position ZMove along the local z-axis.
Rotation HeadingRotate around the local y-axis.
Rotation PitchRotate around the local x-axis.
Rotation BankRotate around the local z-axis.
Scale XScale along the local x-axis.
Scale YScale along the local y-axis.
Scale ZScale along the local z-axis.

Toggle which transform channels should be inherited from the parent node. By default, all transforms will be inherited.

Position XToggle inheritance of the X Position from the parent.
Position YToggle inheritance of the Y Position from the parent.
Position ZToggle inheritance of the Z Position from the parent.
Rotation HeadingToggle inheritance of the Rotation Heading from the parent.
Rotation PitchToggle inheritance of the Rotation Pitch from the parent.
Rotation BankToggle inheritance of the Rotation Bank from the parent.
Scale XToggle inheritance of the X Scale from the parent.
Scale YToggle inheritance of the Y Scale from the parent.
Scale ZToggle inheritance of the Z Scale from the parent.
World Position OnlyInherit the world position from the parent only, rotation and scale will be ignored. Overrides above properties.
Inherit TimeToggle inheritance of time from the parent.

These properties control the core behaviours of the node.

Debug Render LevelThe voxel hierarchy level to display for debugging
Show PointsDraw the points directly in-frame.
Apply LightingApply lighting operations to the points.
Point DensityControls the amount of points to generate on the surface.
Max Num Points (Millions)The maximum number of points to create. If the points are not completely covering the surface then try increasing this number.
DynamicThe Point Cache be dynamic or static. When it is dynamic it re-generates the point set on every frame. When it is static it retains the last-generated set of points. When static, Point Cache uses less computational resources.


NameDescriptionTypical Input
ObjectsThe objects for which points will be generated over all surfaes.3D Object
Bounding BoxThe region to which point generation will be restricted.Bounding Box
Transform ModifierApply the transforms of another node to this node.Null
Target NodeModifiy the rotations of the node to always direct the z axis towards the input.Null
Local Transform OverrideApply the transforms of another node to this node, relative to its parent.Null