Notch Notch Manual 0.9.23
 Light | Dark
Depth Camera / Kinect Mesh

Depth Camera / Kinect Mesh

This node generates a mesh from depth camera data.

Method #

This node generates a mesh based on Kinect camera data from a Depth Camera / Kinect Source connected via the “Colour Image Node” input. If no source is connected, this node is ineffective.

The mesh is based on a subdivided plane of quads, displaced by the depth values from the Kinect and projected back from the camera. Polygons with depths that fall outside the clip planes set on the Kinect Source node are clipped out. The resolution of the generated mesh may be reduced using the Mesh Resolution Scale parameter.

The generated mesh may be processed by Deformer nodes, or used as an input to other nodes such as the Particle Mesh Emitter or the Field 3D Object Emitter.

The mesh may be rendered as transparent or opaque polygons, lines or points - or all three.

You will need to activate the Kinect camera you want to use by going to Devices > VideoIn/Camera/Kinect Settings and enabling it. Otherwise, it will not be initialized by Notch. This is by design, so Notch does not lock the device from the use by other software when you are not actively using it in Notch.

This node outputs the normal transformation and translation values, but it also outputs geometry which can be modified with Deformer nodes, or used as a mesh sources for nodes which accept mesh connections, such as the Field 3D Object Emitter or the Procedural 3D Object.

Parameters

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.

ParameterDetails
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.

ParameterDetails
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.

ParameterDetails
Point TextureChoose an image texture to be placed at the position of each tracked point.
VisibleControl whether the node is visible or not to the scene.
Max Cameras ActiveMaximum number of Kinect camera’s active
Mesh Resolution ScaleScales the resolution of the generated mesh - defines the number of pixels in the source image per polygon in the mesh.
Pivot DistanceHow far the mesh is generated from the pivot.
Max Edge LengthMax distance between two neighbouring points in the depth image that will be joined together into a polygon.
Vertex RandomisationHow much randomness is added to the positions of each vertex.
Line AlphaControls the alpha transparency value for rendering the edges of the mesh as lines. If this is set to 0 the lines will not be rendered.
Point AlphaControls the alpha transparency value for rendering the vertices of the mesh as points. If this is set to 0 the points will not be rendered.
Point SizeThe size of the rendered points.
Use Depth From Luminance (Fake Depth)Depth values may be taken from an RGB image rather than depth values calculated by the Kinect.
Filter DepthsSmooths the Kinect Depths to try to remove noise - generally only suitable for Kinect v1.
Flatten DepthDepth Values are ignored and the mesh is flattened.
Smoothing IterationsIteratively smoothes the meshes vertices by the number of levels specified, averaging out all the vertices in the mesh and producing a smoother result. Smoothing is done before rendering. High values can impact performance greatly, and may not be temporally stable if the underlying mesh changes.
Invert Mask EnabledInverts the clipping area.
Flat ShadingToggle flat shading on or off.
Render To Shadows OnlyOnly renders shadows, and not the mesh itself.
Constant ColourReplace the colour image with a solid colour.
Constant Colour AmountHow much the constant colour is blended over the colour image values.
Sort KeyChanges the render order of the Kinect Mesh node against other transparent objects in the scene.

Most of these Attributes are shared with the Materials topic.

ParameterDetails
Line ColourChanges the colour of the mesh edges.
Point ColourChanges the colour of the point texture.

Inputs

NameDescriptionTypical Input
Colour Image NodeDefines the Kinect source for the mesh. If a Kinect Source is used, both colour and depth data will be taken from the same node. Otherwise only colour data is taken.Depth Camera / Kinect Source
Mask Image NodeUse a mask image to control which regions are used by the mesh, based on the luminance of the image.Video Loader
Depth Image NodeUse an image to override the depth input from the Kinect Source node. If the connected node is a Kinect source the depth channel will be taken; otherwise the luminance of the colour channel is used as depth data.Video Loader
Project Image NodesProjects images onto the Kinect mesh to colour it.Video Loader
MaterialOverride the default material.Materials
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