Render Pick CHOP

From TouchDesigner 099 Wiki

Summary

The Render Pick CHOP samples a rendering (from a Render TOP or a Render Pass TOP) and returns 3D information from the geometry at that particular pick location. Values sampled can include position, normals, point color, texture coordinates, depth and the object's path.

The pick location is specified through uv coordinates of the rendering. These uv coordinates can be selected by clicking on a Panel Component or explicitly setting them in the U and V parameters in the Render Pick CHOP.

See also the multi-sample Render Pick DAT.

PythonIcon.png renderpickCHOP_Class

Parameters - Render Pick Page

Strategy /strategy - Decides when to update values based on pick interactions.

  • Continuous - continuously updates values when being picked.
  • Hold First Picked - holds the values first returned when geometry picked.
  • Hold Last Picked - holds the values last returned when geometry picked. This differs from the Continuous strategy in that it will hold the last values picked on geometry if the pick starts sampling empty space (no geometry in that part of the scene). Alternatively, using the Continuous strategy the values will be cleared to zero if the pick starts sampling empty space.

Clear Previous Pick On New Pick /clearprev - this parameter is only enabled when the Strategy is set to Hold Last Picked. When this is on, starting a new pick on empty space will clear the values. When off, the last values will be held if the pick starts on empty space.

Response Time /responsetime - determines when the values are updated.

  • Next Cook (Faster) - the values are captured on the current frame and updated next frame. Results are from the previous frame, but much faster cook times.
  • This Cook (Slower) - the values are captured and updated in the current frame.

Pick Radius /pickradius - controls the radius of the search area for the pick. If nothing is found at the pick's center it will keep searching for geometry in the search area defined by the Pick Radius.

Pick Radial Step /pickradstep - used to reduce the searching within the search area. The search area is sampled at locations that correspond to 'spokes' outwards from the center pick point.

Pick Circular Step /pickcirstep - used to reduce the searching within the search area. The search area is sampled at locations that correspond to 'rings' outwards from the center pick point.

Render/Render Pass TOP /rendertop - specifies which render to sample.

Use Pickable Flags /usepickableflags - when turned on only geometry whose Pickable Flag is on can be selected by the Render Pick CHOP. The Pickable Flag is found on all Object components.

Include Non-Pickable Objects includenonpickable - Includes the non-pickable objects in the picking algorithm such that non-pickable objects may occlude pickable objects. For example, if there is only one pickable object in the scene with lots of additional non-pickable geometry is present, turning this parameter on will prevent the pickable object from being selected if it is behind a non-pickage object (occluded by the non-pickage object).

Picking by /pickingby - determines how the pick location is set.

  • Panel - uses the Panel Component scoped in the Panel parameter. The uv position of the mouse on this component's control panel will be the uv position in the render that is sampled. The pick is active when the panel value specified by the Panel Value parameter is 1.
  • Parameters - uses the U, V, and Pick parameters below for picking.

Panel /panel - specifies which panel component to use when picking by panel.

Panel Value /panelvalue - specifies with panel value to use to trigger the pick when picking by panel.

U /picku - sets the u coordinate when picking by parameters.

V /pickv - sets the v coordinate when picking by parameters.

Select /Select - when picking by parameters, picking is active when this parameter = 1.

Activate Callbacks /activatecallbacks - Enables Callback DAT for each pick event.

Callbacks DAT /callbacks - Path to a DAT containing callbacks for pick event received.

Parameters - Options Page

Fetch Position /position - returns the position of the point picked on the geometry. Channels tx, ty, tz.

  • No - do not return position values.
  • In SOP Space - return position of point picked in SOP transform space.
  • In World Space - return position of point picked in world transform space.
  • In Camera Space - return position of point picked in camera transform space.
  • Relative to Object - return position of point picked relative to object specified in Reference Object parameter.

Fetch Normal /normal - returns the normals of the point picked on the geometry. Channels nx, ny, nz.

  • No - do not return normal values.
  • In SOP Space - return normals of point picked in SOP transform space.
  • In World Space - return normals of point picked in world transform space.
  • In Camera Space - return normals of point picked in camera transform space.
  • Relative to Object - return normals of point picked relative to object specified in Reference Object parameter.

Reference Object /referenceobj - Object used when fetching position or normals Relative to Object.

Fetch Point Color /color - returns the poit color of the point picked on the geometry. Channels cr, cg, cb, ca.

Fetch Texture UV /uv - returns the texture coordinates of the point picked on the geometry. Channels mapu, mapv, mapw.

Fetch Object Path /path - return the path to the object that is picked. This result requires and Info DAT with its Node Path parameter referecning the Render Pick CHOP.

Fetch Depth /depth - returns the depth of the point picked on the geometry. This value a non-linear ratio of the point's position between the near and far planes of the Depth Buffer. Channel is depth.

Fetch Instance ID /instanceid - Returns the Instance ID of the object. This will always be 0 if instancing is off. Channel is instance.

Custom Attrib [1-4] /customattrib[1-4] - Specify which custom attributes to return from the object.

/custom[1-4]type - The type of attribute is selected from this menu.