Point SOP

From TouchDesigner Documentation
Revision as of 09:29, 16 July 2019 by Eric (talk | contribs)
Jump to: navigation, search


The Point SOP allows you to get right down into the geometry and manipulate the position, color, texture coordinates, and normals of the points in the Source, and other attributes. The Point SOP also lets you create custom point attributes. It is the complement to the Primitive SOP. Using a second input allows for combining of two SOPs using their respective expressions (see: PointSOP Class). If the second input has less points than the first input, the points in the second input will be cycled.

For example, you can create point coloring, or flip the normals of incoming geometry. Using expressions in Position X, Y and Z, you can move any given input point to a new place as defined by the expression with any standard attributes.


Parameters - Page

Group group -  

Parameters - Standard Page

Position t - - Expressions to translate the XYZ coordinates of a given point can be entered here. The attributes to modify here are: me.inputPoint.x, me.inputPoint.y and me.inputPoint.z.

Simply entering me.inputPoint.x into the Position X field means that the X coordinate of each point that comes in is passed straight through with no modification.

Changing this entry to me.inputPoint.x+5 means that the X coordinate of each point that comes in will be displaced by 5 units. This formula can be expanded to produce many useful effects. Transformations can also be effected in the Y and Z fields.

  • X tx -
  • Y ty -
  • Z tz -

Weight doweight - If you select Add from the pop-up menu, enter formulas here to control the values of the point weights here. The attribute to modify is: me.inputPoint.w. Values for the weight of the point can range from 0.0001 to infinity.  

Weight weight -  

Color doclr -  

Color diff - -

  • Red diffr -
  • Green diffg -
  • Blue diffb -

Alpha alpha -  

Normal donml - If you select Add from the pop-up menu, enter formulas to change a given point normal here. Point normals are directional vectors used by other SOPs, such as Turbulence, Facet and Copy. See List of Attributes article for detailed information. The attributes to modify are: me.inputNormal[0], me.inputNormal[1] and me.inputNormal[2].  

Flipping Normals

You can flip the point normals of incoming geometry by entering:

(-me.inputNormal[0] -me.inputNormal[1] -me.inputNormal[2])

in the fields with this parameter set to Add Normals. This works, because it takes the existing normals

(me.inputNormal[0] me.inputNormal[1] me.inputNormal[2])

and inverts them (the preceding - ).

Normals n - -

  • X nx -
  • Y ny -
  • Z nz -

Texture douvw - If you select Add from the pop-up menu, enter formulas here to control the values of the texture coordinates here. The attributes to modify are: me.inputTexture[0], me.inputTexture[1] and me.inputTexture[2]  

Custom Attributes

There are 4 parameters for custom attributes below, custom1 through custom4.

Texture map - -

  • mapu -
  • mapv -
  • mapw -

Custom Attrib custom1 - Creates a custom attribute with this name.  

Custom Attrib Type custom1type - The type of attribute created can be selected from this menu.  

Value custom1val - - The value(s) to assign to the attribute.

  • custom1val1 -
  • custom1val2 -
  • custom1val3 -
  • custom1val4 -

Custom Attrib custom2 -  

Custom Attrib Type custom2type -  

Value custom2val - -

  • custom2val1 -
  • custom2val2 -
  • custom2val3 -
  • custom2val4 -

Custom Attrib custom3 -  

Custom Attrib Type custom3type -  

Value custom3val - -

  • custom3val1 -
  • custom3val2 -
  • custom3val3 -
  • custom3val4 -

Custom Attrib custom4 -  

Custom Attrib Type custom4type -  

Value custom4val - -

  • custom4val1 -
  • custom4val2 -
  • custom4val3 -
  • custom4val4 -

Parameters - Particle Page

Point Mass/Drag domass - Retains, adds, or removes mass and drag attributes for points.  

Mass mass -  

Drag drag -  

Tension dotension - Tension affects the elasticity of the edges the point is connected to.  

Tension tension -  

Spring K dospringk - The Spring Constant is a well known physical property affecting each point.  

Spring K springk -  

Velocity dovel - Retains, adds, or removes the velocity of points. Defines the magnitude of the particle's velocity in the X, Y and Z directions.  

Velocity v - -

  • X vx -
  • Y vy -
  • Z vz -

Up Vector doup - Creates/Removes the "up" attribute for points. This attribute defines an up vector which is used to fully define the space around a point (for particle instancing or copying geometry).

These are the values for the up vector. The up vector is used in conjunction with the copy template's normals to control the orientation of the copies in the Copy SOP . The variables to modify are: $UPX, $UPY, $UPZ - which are the values of the up vector attribute for the first source; and $UPX2, $UPY2, $UPZ2 - which are the values of the up vector attribute for the second source.  

Up Vector up - -

  • X upx -
  • Y upy -
  • Z upz -

Scale dopscale - Creates, removes, or ignores particle scale attributes defined in the Particle SOP. Particle Scale acts as a multiplier for the size of particles. The value of this attribute is multiplied by the size specified in the Particle SOP's render attributes to scale each particle. This attribute is used by the Point Sprite MAT when rendering point sprites.  

Scale pscale -  

Parameters - Force Page

Radius doradius - Used to modify the distance roll-off effect. The roll-off is: r /(r+d^2) Where r is radius, and d is distance from attractor point. If no radius is set, no attenuation is performed.  

Radius radiusf -  

F Scale doscale - Multiplier for total force associated with this attractor point.

Both Radius and Force Scale will default to 1 if not created as point attributes.

Radial / Normal / Edge / Directional Force - These four parameters introduce a type of force when created and each has a corresponding multiplier associated with it.  

F Scale scalef -  

Radial F doradialf - Force directed towards the attractor point. Positive multipliers are towards while negative are away.  

Radial F radialf -  

Normal F donormalf - Force directed along the point normal direction.  

Normal F normalf -  

Edge F doedgef - Only works on primitive face types. The force is directed in the direction of the edge leading from that point. If multiple vertices reference the same point, then the direction is the edge direction of the last primitive referencing the point.

If the face open, then the end point has an edge direction equal to that of the preceding point in that primitive.

Note: When edge forces are added using the Point SOP, the force directions are computed in the Point SOP itself. Thus, any following transformations do not effect these. If you wish for the edge directions to be transformed as well, all transformations must be done before the Point SOP. Only the edge forces function like this.  

Edge F edgef -  

Dir. F dodirf - An arbitrary directional force, still affected by the distance roll-off function.  

Dir. F dirf - -

  • X dirfx -
  • Y dirfy -
  • Z dirfz -

Operator Inputs

  • Input 0 -
  • Input 1 -

TouchDesigner Build:

Add • Alembic • Align • Arm • Attribute Create • Attribute • Basis • Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • CPlusPlus • Creep • Curveclay • Curvesect • DAT to • Deform • Delete • Divide • Extrude • Facet • File In • Fillet • Fit • Font • Force • Fractal • Grid • Group • Hole • Import Select • In • Introduction To SOPs id • Inverse Curve • Iso Surface • Join • Joint • Kinect • Lattice • Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Profile • Project • Rails • Raster • Ray • Rectangle • Refine • Resample • Revolve • Script • Select • Sequence Blend • Skin • Sort • Sphere • Spring • Sprite • Stitch • Subdivide • Superquad • Surfsect • Sweep • Switch • Text • Texture • Torus • Trace • Trail • Transform • Trim • Tristrip • Tube • Twist • Vertex • Wireframe • ZED

Each SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.

Information associated with SOP geometry. Points and primitives (polygons, NURBS, etc.) can have any number of attributes - position (P) is standard, and optional are normals (N), texture coordinates (uv), color (Cd), etc.