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 - Point Page
t - ⊞ - Expressions to translate the XYZ coordinates of a given point can be entered here. The attributes to modify here are:
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.
doweight - ⊞ -
- Keep Weight
- New 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.
doclr - ⊞ -
- Keep Color
- Add Color
- No Color
diff - ⊞ -
donml - ⊞ -
- Keep Normal
- Add Normal
- No Normal
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:
You can flip the point normals of incoming geometry by entering:
(-me.inputNormal -me.inputNormal -me.inputNormal)
in the fields with this parameter set to Add Normals. This works, because it takes the existing normals
(me.inputNormal me.inputNormal me.inputNormal)
and inverts them (the preceding - ).
douvw - ⊞ -
- Keep Texture
- Add Texture
- No 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:
dowidth - ⊞ -
- Keep Width
- New Width
dopscale - ⊞ -
- Keep Scale
- Add Scale
- No Scale
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.
custom1val - ⊞ -
Parameters - Particle Page
domass - ⊞ - Retains, adds, or removes mass and drag attributes for points.
- Keep Mass/Drag
- Add Mass/Drag
- No Mass/Drag
dotension - ⊞ - Tension affects the elasticity of the edges the point is connected to.
- Keep Tension
- Add Tension
- No Tension
dospringk - ⊞ - The Spring Constant is a well known physical property affecting each point.
- Keep Spring K
- Add Spring K
- No Spring K
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
- Add Velocity
- No Velocity
v - ⊞ -
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:
$UPZ - which are the values of the up vector attribute for the first source; and
$UPZ2 - which are the values of the up vector attribute for the second source.
- Keep Up Vector
- Add Up Vector
- No Up Vector
up - ⊞ -
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.
Parameters - Force Page
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
- Add Radius
- No Radius
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
- Add F Scale
- No F Scale
doradialf - ⊞ - Force directed towards the attractor point. Positive multipliers are towards while negative are away.
- Keep Radial F
- Add Radial F
- No Radial F
donormalf - ⊞ - Force directed along the point normal direction.
- Keep Normal F
- Add Normal F
- No Normal 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
- Add Edge F
- No Edge F
dodirf - ⊞ - An arbitrary directional force, still affected by the distance roll-off function.
- Keep Dir. F
- Add Dir. F
- No Dir. F
dirf - ⊞ -
- Input 0 -
- Input 1 -