Experimental:Point SOP

From TouchDesigner Documentation
Jump to: navigation, search

Summary
[edit]

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.

The Width (width) attribute affects the line width in the Line MAT. The Scale attribute (pscale) affects particle size, and in the Line MAT it affects the dot size at each point.

PythonIcon.pngpointSOP_Class


Parameters - Point Page

Group group -  

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.

  • Position tx -
  • Position ty -
  • Position tz -

Weight doweight - -

  • Keep Weight off -
  • New Weight on -

Weight weight - 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.  

Color doclr - -

  • Keep Color off -
  • Add Color on -
  • No Color remove -

Color diff - -

  • Color diffr -
  • Color diffg -
  • Color diffb -

Alpha alpha -  

Normal donml - -

  • Keep Normal off -
  • Add Normal on -
  • No Normal remove -

Normals n - - 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].

  • Normals nx -
  • Normals ny -
  • Normals nz -

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


Texture douvw - -

  • Keep Texture off -
  • Add Texture on -
  • No Texture remove -

Texture map - - 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]

  • Texture mapu -
  • Texture mapv -
  • Texture mapw -

Width(Line MAT) dowidth - -

  • Keep Width off -
  • New Width on -

Width(Line MAT) width -  

Scale dopscale - -

  • Keep Scale off -
  • Add Scale on -
  • No Scale remove -

Scale pscale -  


Parameters - Custom Page

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

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

  • float float -
  • vec2 vec2 -
  • vec3 vec3 -
  • vec4 vec4 -
  • int int -
  • ivec2 ivec2 -
  • ivec3 ivec3 -
  • ivec4 ivec4 -

Value custom1val - -

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


Parameters - Particle Page

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

  • Keep Mass/Drag off -
  • Add Mass/Drag on -
  • No Mass/Drag remove -

Mass mass -  

Drag drag -  

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

  • Keep Tension off -
  • Add Tension on -
  • No Tension remove -

Tension tension -  

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

  • Keep Spring K off -
  • Add Spring K on -
  • No Spring K remove -

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.

  • Keep Velocity off -
  • Add Velocity on -
  • No Velocity remove -

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.

  • Keep Up Vector off -
  • Add Up Vector on -
  • No Up Vector remove -

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.

  • Keep Radius off -
  • Add Radius on -
  • No Radius remove -

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.

  • Keep F Scale off -
  • Add F Scale on -
  • No F Scale remove -

F Scale scalef -  

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

  • Keep Radial F off -
  • Add Radial F on -
  • No Radial F remove -

Radial F radialf -  

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

  • Keep Normal F off -
  • Add Normal F on -
  • No Normal F remove -

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.

  • Keep Edge F off -
  • Add Edge F on -
  • No Edge F remove -

Edge F edgef -  

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

  • Keep Dir. F off -
  • Add Dir. F on -
  • No Dir. F remove -

Dir. F dirf - -

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


Operator Inputs

  • Input 0 -
  • Input 1 -


SOPs
Add • Experimental:Add • Alembic • Align • Arm • Attribute Create • Attribute • Experimental:Attribute • Basis • Blend • Experimental:Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • Experimental: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 • Experimental:Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Experimental:Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Experimental:Point • Polyloft • Experimental:Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Experimental:Primitive • Profile • Project • Rails • Experimental: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 • Experimental: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.

An Operator Family that associates a shader with a SOP or Geometry Object for rendering textured and lit objects.