Learn Magic of Houdini by TeamVFX

The Procedural operators ( Context or Node types ) in Houdini.

OBJObject nodes – Object nodes represent objects in the scene, such as character parts, geometry objects, lights, cameras, and so on.

SOP Geometry nodes – Geometry nodes live inside Geo objects and generate geometry.

DOPDynamics nodes – Dynamics nodes set up the conditions and rules for dynamics simulations.

VOPVector/shader nodes – VOP nodes let you define a program (such as a shader) by connecting nodes together. Houdini then compiles the node network into executable VEX code.

LOPUSD nodes – LOP nodes generate USD describing characters, props, lighting, and rendering.

ROPRender nodes – Render nodes either render the scene or set up render dependency networks.

CHOP Channel nodes – Channel nodes create, filter, and manipulate channel data.

COPCompositing nodes – Composite nodes create, filter, and manipulate image data.

TOPTask nodes – TOP nodes define a workflow where data is fed into the network, turned into “work items” and manipulated by different nodes. Many nodes represent external processes that can be run on the local machine or a server farm.

Build in attributes are self contain variables in VEX

Houdini attributes list of geometry object

Point and primitives attributes

  • @P vector – Point position.
  • @N vector – Normal direction.
  • @v vector – Velocity of points.
  • @id int – Unique element ID.
  • @ptnum int – The point number.
  • @name string – Find obj in code by name.
  • @numpt int – Total number of points.
  • @piece int – Faces in the same piece will share the same value in their piece attribute.
  • @Time float – Current time, in seconds.
  • @Frame int – Current frame.
  • @primnum int – The primitive number.
  • @numprim int – The total number of primitives.
  • @scale vector –  Scale non-uniformly along each axis saperatly
  • @up vector – Up vector of the copy (+Y axis of the copy, if no p@orient).
  • @rot quaternion– Additional rotation (applied after the orientation attributes above).
  • @trans vector – Translation of the copy, in addition to v@P.
  • @pivot vector – Local pivot point for the copy.
  • @transform matrix – Transform matrix overriding everything except v@P, v@pivot, and trans.
  • @shop_materialpath string – The instanced object uses this material

Volume bind attributes

  • @P    vector – Position of the current voxel.
  • @density   float – Density field at the current voxel location.
  • @center   vector – Center of the current volume.
  • @dPdx, @dPdy, @dPdz  vector -Vectors store the change in P that occurs in the x, y, and z voxel indices.
  • @ix, @iy, @iz   int – Voxel indices. For dense volumes (non-VDB) these range from 0 to resolution-1.
  • @resx, @resy, @resz   int – Resolution of the current volume.

Houdini attributes list of particle system

Particle Birth Attributes

  • @age float -Time particle was born.
  • @life float – Time particle is allowed to live.
  • @nage float – Normalized age, age divided by life. 
  • @dead int – To kill particles.
  • @id int – A unique id for the particle.

Particle collision Attributes

  • @stopped int – Put particle in rest.
  • @stuck int – Stick a particle to surface.
  • @sliding int – Sliding along a surface.
  • @cling float – Applied to sliding particles inwards.
  • @pospath string – The path to the object the particle is colliding.
  • @posprim int – Collision primitive in the path geometry position.
  • @posuv vector – Parametric uv on the collision primitive.
  • @hittotal int – The cumulative total of all hits for the particle.
  • @has_pprevious int – 1 if @pprevious contains valid values.
  • @pprevious vector – Position of the particle on the previous frame
  • @hitnum  int – Number of times the particle collided.
  • @hitpath string – Path to the object that was hit
  • @hitprim  int – primitive hit by particles.
  • @hituv  vector – Parametric UV space on the primitive.
  • @hitpos  vector – Position hit actually occurred with colliding object .
  • @hitnml  vector – Normal of the surface at the time of the collision.
  • @hitv  vector – Velocity of the surface at the time of the collision.
  • @hittime float -Time when the collision occurred.
  • @hitimpulse float – Records an impulse for the collision resolution. 
  • @bounce float – Particles bounce energy they keep.
  • @bounceforward  float –  Particles energy they keep in the tangential direction.
  • @friction float – Particles slowed down proportional over the time.
  • @collisionignore string -Objects that match this pattern will not be collided.

Particle movement Attributes

  • @force float -Forces on the particle for this frame.
  • @mass float – Inertia of the particle.
  • @spinshape vector – Shape of the particle for rotational inertia.
  • @drag float  –  Particle is effected by any wind effects.
  • @dragexp float  – Angular and linear drag.
  • @dragshape vector – Particle is dragged in each of its local axes.
  • @dragcenter vector – Drag forces will also generate torques on the particle.
  • @targetv vector – Goal, or target, velocity for the particle.
  • @airresist float – Resist hickness of the air.
  • @speedmin float – Minimum speed a particle can move.
  • @speedmax float – Maximum speed a particle can move

Particle orientation Attributes

  • @orient quaternion – Orientation of the particle. 
  • @w vector – Angular speed of the particle.
  • @torque vector – Equivalent of force for spins.
  • @targetw vector – Goal spin direction and speed for this particle.
  • @spinresist float – match the targetw.
  • @spinmin float – Minimum speed in radians per second of particle.
  • @spinmax  float – Maximum speed in radians per second of particle.

Houdini attributes list of POP Grain system.

Grain general Attributes

  • @ispbd int – Particle to behave as grains.
  • @pscale float – Radius of each particle.
  • @repulsionweight float – particle collision forces are weighted.
  • @repulsionstiffness float – Particles are kept apart.
  • @attractionweight float – Particles will naturally stick together when close.
  • @attractionstiffness float – Nearby particles stick to each other.
  • @targetP vector – Particles are constrained to this location.
  • @targetweight float – Weight of the @targetP constraints.
  • @targetstiffness float – Stiffness of  particles fixed to @targetP attribute.

Grain constraint attributes

  • @restlength float – Particles connected by polylines will be forced to maintain this distance.
  • @constraintweight float – Scale, on a per-particle basis of the constraint force.
  • @constraintstiffness float – Stiffness on a per-particle basis.
  • @strain float – Primitive attribute records the amount of constraint stretched.
  • @strength float -Strain exceeds this primitive attribute, the constraint will be removed.

Houdini attributes list of DOP Flip Network

FLIP POP attributes

  • @pscale float – Particle scale
  • @v     vector – Particle velocity
  • @viscosity float – The “thickness” of a fluid.
  • @density   float – The mass per unit volume.
  • @temperature   float – The temperature of the fluid.
  • @vorticity float – Measures the amount of circulation in the fluid.
  • @divergence float – Positive values cause particles to spread out, negative cause them to clump together.
  • @rest vector – Used to track the position of the fluid over time.
  • @rest2 vector – Used for blending dual rest attributes, avoids stretching.
  • @droplet   float – Identifies particles that separate from the main body of fluid.
  • @underresolved  float – Particles that haven’t fully resolved on the grid.
  • @ballistic int – Specifies particles which will be ignored by the fluid solve.
  • @Lx    vector – Angular momentum X axis
  • @Ly    vector – Angular momentum Y axis
  • @Lz    vector – Angular momentum Z axis

Houdini attributes list of DOP Finite element FEM Network

Finite element points attributes

  • @stiffness float – Multiplier for all types of stiffness.
  • @dampingratio float – Multiplier for all damping ratios.
  • @massdensity  float – Multiplier for all mass densities.

Finite element behaviour attributes

  • @solidstiffness float -Multiplier for both the shape stiffness and the volume stiffness of a Solid Object.
  • @solidshapestiffness float -Multiplier for the shape stiffness of a Solid Object.
  • @solidvolumestiffness float -Multiplier for the volume stiffness of a Solid Object.
  • @solidmassdensity float – Multiplier for the mass density of a Solid Object.

Finite element collision attributes

  • @exteriorcollisionid – Int Collision identifier for the exterior side of a polygon or tet surface
  • @interiorcollisionid int – Collision identifier for the interior side of a polygon or tet surface

Finite element Repulsion and Friction attributes

  • @repulsion float – Multiplier for the Repulsion of an FEM Object
  • @friction float – Multiplier for the Friction of an FEM Object

Finite element Material Space Attributes

  • @material vector – Material position of each point, defining the material space
  • @material vector – The U direction within the material space
  • @material Vector – The V direction within the material space
  • @material vector – The W direction within the material space
  • @materialuvw vector – Local material uvw coordinates for each point or vertex of a tet.
  • @materialuv vector – Local material uvw coordinates for each point or vertex of a polygon or polysoup.

Finite element Material Property Multiplier Attributes

  • @fracturepart int – Partitions the object into unbreakable parts. Must be either -1 (no part) or a nonnegative number that indicates a part.
  • @enablefracturing int – Locally enable/disable fracturing for points or vertices.
  • @fracturethreshold float – Multiplier for the object’s Fracture Threshold.

Finite element Fracturing Control Attributes

  • @Fracturepart int – Partitions the object into unbreakable parts. Must be either -1 (no part) or a nonnegative number that indicates a part.
  • @eablefracturing int – Locally enable/disable fracturing for points or vertices.
  • @eracturethreshold float – Multiplier for the object’s Fracture Threshold.

Finite element Drag Force Control Attributes

  • @normaldrag float -Multiplier for the object’s Normal Drag.
  • @tangentdrag float – Multiplier for the object’s Tangent Drag.

Finite element Reference and Target Attributes

  • @initialpid int – initial point index for each point.
  • @targetP vector – Target position of each point.
  • @targetstrength float – Multiplier for the object’s Target Strength. If this attribute is missing, a multiplier of 1 is used at all points.
  • @targetdamping float – Multiplier for the object’s Target Damping. If this attribute is missing, a multiplier of 1 is used at all points.
  • @pintoanimation Int – When 1, the point is hard constrained to the target animation (e.g., targetP). When zero, the point is unconstrained.

Finite element Fiber and state Attributes

  • @fiberstiffness float -Multiplier for stiffness along the fiber direction, the W direction implied by materialuvw.
  • @fiberscale float -Multiplier for the rest strain along the fiber direction, the W direction implied by materialuvw.
  • @P vector – Do not modify! Current position of each object point.
  • @v vector – Do not modify! Current velocity of each object point.
  • @accel vector – Do not modify! Current acceleration of each object point.
  • @jerk vector – Do not modify! Current jerk of each object point.

Finite element Embedded Geometry Attributes

  • @parent float – The index of a parent primitive in the simulated geometry.
  • @baseP float -Base positions used for alignment with simulated mesh.
  • @fracturepart float – Optional user-specified fracture part ID.
  • @P float – Positions that correspond to the deformed state.
  • @v float – Velocities that correspond to the deformed state.
  • @N float – Normals that correspond to the deformed state.

Finite element Optional Output Attributes

  • @quality float – A quality metric between 0 (worst) and 1 (best)
  • @potentialdensity float -The local density of deformation energy
  • @dissipationdensity float -The local density of the rate of energy loss
  • @kineticdensity float -The local density of the kinetic energy
  • @fracturecount int – The number of times a point was fractured during the simulation

Finite element Legacy Attributes

  • @fexternal vector – External force density
  • @force vector – Another name for external force density

Houdini attributes list of wire Network

Wire behavior Attributes

  • @width  float – Width of each edge.
  • @density   float–  Density of each point.
  • @orient quaternion – Initial orientation of each point. This value is stored as a quaternion.
  • @v     vector – Initial velocity of each point.
  • @w     vector – Initial angular velocity of each point measured in radians per second.
  • @friction  float – Friction of each point.
  • @klinear   float – How strongly the wire resists stretching.
  • @damplinear float – How strongly the wire resists oscillation due to stretching forces.
  • @kangular  float – How strongly the wire resists bending.
  • @dampangular   float – How strongly the wire resists oscillation due to bending forces.
  • @targetstiffness  float – How strongly the wire resists deforming from the animated position.
  • @targetdamping  float – How strongly the wire resists oscillation due to stretch forces.
  • @normaldrag float – Component of drag in the directions normal to the wire.
  • @tangentdrag  float – Component of drag in the direction tangent to the wire.
  • i@nocollide float – Collision detection for the edge is disabled (Only used if Collision Handling is SDF).
  • @restP vector – Rest position of each point.
  • @restorient quaternion – Rest orientation of each point.
  • @gluetoanimation   int – Causes a point’s position and orientation to be constrained to the input geometry.
  • @pintoanimation    int – Causes a point’s position to be constrained to the input geometry.
  • @animationP vector – Target position of each point.
  • @animationorient   quaternion – Target orientation of each point.
  • @animationv vector – Target velocity of each point.
  • @animationw vector – Target angular velocity of each point.
  • @independentcollisionallowed   int – Toggle external collisions (Only non-SDF Geometric Collision).
  • @independentcollisionresolved  int – Unresolved external collisions (Only non-SDF Geometric Collision).
  • @codependentcollisionallowed   int – Toggle soft body collisions (Only non-SDF Geometric Collision).
  • @codependentcollisionresolved  int – Unresolved toggle soft body collisions (Only non-SDF Geometric Collision).
  • @selfcollisionallowed  int – Toggle self collisions (Only non-SDF Geometric Collision).
  • @selfcollisionresolved int – Unresolved toggle self collisions (Only non-SDF Geometric Collision).

Houdini attributes list of Bullet RBD packed system

RBD Packed point attributes

  • @active int – Object is able to react to other objects.
  • @animated int – Transform should be updated from its SOP geometry at each timestep.
  • @deforming int – Collision shape to rebuilt from its SOP geometry each timestep.

RBD Packed point stored attributes

  • @bounce float -The elasticity of the object.
  • @bullet_add_impact  int – Impacts will be recorded in the Impacts or Feedback data.
  • @bullet_ignore  int –  Object should will be ignored by the Bullet solver.
  • @bullet_angular_sleep_threshold float – Sleeping threshold for the object’s angular velocity.
  • @bullet_linear_sleep_threshold float – Sleeping threshold for the object’s linear velocity.
  • @bullet_want_deactivate int – Disables simulation of a non-moving object .
  • @computecom int – Center of mass computed from the collision shape.
  • @computemass  int – Mass computed from the collision shape and density.
  • @creationtime float – Stores the simulation time at object was created.
  • @dead int – Object should be deleted during the next solve.
  • @density float – Mass of an object in its volume.
  • @friction float – Coefficient of friction of the object.
  • @inertialtensorstiffness float – Rotational stiffness. 
  • @inheritvelocity  int – v and w point attributes from the SOP geometry velocity.
  • @mass float  – Mass of the object.
  • @name string -Unique name for the object. Used by Constraint Networks.
  • @orient quaternion – Orientation of the object.
  • @pivot vector – Pivot that the orientation applies to
  • @v vector –  Linear velocity of the object.
  • @w  vector – Angular velocity of the object.

RBD packed Collision Shape Attributes

  • @bullet_adjust_geometry int – Shrinks the collision geometry.
  • @bullet_autofit  int – Bounds of the object for Box, Capsule, Cylinder, Sphere, or Plane.
  • @bullet_collision_margin float  – Padding distance between collision shapes.
  • @bullet_georep string –  Can be convexhull, concave, box, capsule, cylinder, compound, sphere, or plane.
  • @bullet_groupconnected  int – Create convex hull per set of connected primitives.
  • @bullet_length float  – Length of the Capsule or Cylinder collision shape in the Y direction.
  • @bullet_primR vector – Orientation of the Box, Capsule, Cylinder, or Plane collision shape.
  • @bullet_primS vector –  Size of the Box collision shape.
  • @bullet_primT vector – Position of the Box, Sphere, Capsule, Cylinder, or Plane collision shape.
  • @bullet_radius float – Radius of the Sphere, Capsule, or Cylinder collision shape.
  • @bullet_shrink_amount float – Amount of resizing done by Shrink Collision Geometry.

RBD Packed Collision Attributes

  • @activationignore string –  Won’t be activated by collisions with any objects .
  • @collisiongroup string – Name of a collision group that this object belongs to.
  • @collisionignore string – The object will not collide against any objects.
  • @min_activation_impulse float – Minimum impulse switch from inactive to active.

RBD packed Speed Limit Attributes

  • @speedmin float – Minimum speed in second a particle can move.
  • @speedmax float – Maximum speed in second a particle can move.
  • @spinmin float – Minimum speed in radians per second a particle can spin.
  • @spinmax float – Maximum speed in radians per second a particle can spin.
  • @accelmax float – Limits the change in the object’s speed caused by enforcing constraints.
  • @angaccelmax float – Limits the change in the object’s angular speed caused by enforcing constraints.

RBD packed force Attributes

  • @airresist float – Resistance to match the target velocity (v@targetv).
  • @drag   float   – @airresist attributes effect the object.
  • @dragexp float – Angular and linear drag.
  • @force vector – Force that will be applied to the mass of the object.
  • @spinresist float – Match the target angular velocity.
  • @targetv vector  – Target velocity for the object.
  • @targetw vector – Target angular velocity for the object.
  • @torque vector  – Torque that will be applied to the object.

RBD packed Reserved Solver Attributes

  • @bullet_autofit_valid  int Computed collision shape attributes by solver.
  • @bullet_sleeping int -Tracks the object sleep by the solver.
  • @deactivation_time float – Amount of time the speed has been below the value
  • @found_overlap int Solver to determine the overlap test.
  • @id  int – A unique identifier for the object.
  • @nextid int – Id solver will assign to the next new object.

Houdini attributes list of DOP Constraint Network

behaviour and type constraint attributes

  • @constraint_name   string– Prim attribute specifying the Data Name of the constraint to create.
  • @constraint_type   string – Prim attribute specifying degrees of freedom (‘position’, ‘rotation’ or ‘all’).
  • @next_constraint_name  string – Prim attribute specifying the next constraint_name to use after broken.
  • @next_constraint_type  string – Prim attribute specifying the next constraint_type to use after broken.
  • @propagate_iteration   int – Detail attribute specifying number of impact propagations for glue constraints.
  • @group_broken  int – Any constraints that are in the broken primitive group will be ignored by solvers.

Anchor constraint Attributes

  • @anchor_id int – Anchor’s position will be bound to point .
  • @anchor_type  int  – Anchor type attached to a point, vertex or agent transform.
  • @condir vector -The normal of a plane object can move on or rotate about.
  • @condof int -Identifies the number of constrained degrees of freedom for an anchor.
  • @name string – Object constraint is attached to.  
  • @P  vector -Identifies the initial world space position of the anchor.
  • @orient quaternion – Initial world space orientation of the anchor.
  • @r  vector – Initial world space orientation of the anchor as Euler angles.
  • @v  vector –   Velocity of the world space position to which the constraint is attached.
  • @w vector –  Angular velocity of the world space position to which the constraint is attached.

Constraint feedback Attributes

  • @force     float Prim attribute to contain the force applied to satisfy the constraint.
  • @distance  float Prim attribute to contain the distance between it’s anchors.
  • @torque    float Prim attribute to contain the torque applied to satisfy the constraint.
  • @angle     float Prim attribute to contain the angle (in radians) between the anchors.
  • @impact    float Prim attribute to contain the accumulated impulses for the glue bond.

Houdini attributes list of DOP vellum Network

Vellum Setup Attributes

  • @materialuv  vector – Set by the Planar Patch or Planar Patch from Curve SOPs. Used to determine warp/woof directions for anistropy.
  • @bendname, @stretchname float – Scale by Attribute in Vellum Constraints defaults to these sorts to adjust the scale. Should be 0..1, note exponential map.

Vellum Pop Attributes

  • @dragnormal, @dragtangent float –  How much to scale wind effects when the face of the cloth is heading straight into the wind versus sliding parallel to it
  • Inertia float – The resistance of a particle to rotational hair constraints. If this is zero, the particle will not rotate.
  • @weld, @branchweld,@ collisionweld int – A value of 1 or a reference to itself means not welded, but something might be welded to this point
  • @friction, @dynamicfriction float –  Scale the static friction (friction) and dynamic friction scale (dynamicfriction) settings by.
  • @pressurescale float – How much to scale the effect of a Pressure constraint on a per-point basis, from 0 to 1.

Vellum State Attributes

  • @P, @pprevious, @plast, @v, @vprevious,@vlast vector – For 2nd order we need the previous frames position and velocity (pprevious, vprevious), and the frame before that, two frames ago (plast, vlast).
  • @orient, @orientprevious, @orientlast, @w, @wprevious, @wlast vector – Hair requires point orientations and the corresponding angular velocity (w). Same previous/last.
  • @stopped int – This is a standard POP attribute, but it is used and respected by Vellum. Auto-sleep and awaken will manipulate the stopped attribute.

Vellum Collision Attributes

  • @pscale float – Radius at each point. Triangles are fattened at their corners by spheres of the corner pscales, tapered tubes on edges, and sloped planes in center.
  • @layer int –  Controls soft priority of collisions. Only greater/less matters, not magnitude of difference.
  • @disableself, @disableexternal int – A value of 0 means this point will use self collisions or external collisions.
  • @overlap_self, @overlap_external float – Stores how much of the original pscale is overlapped. So 0 means that the pscale is fully used.
  • @collisionignore string – Stores a pattern for the objects and collision groups to not collide with. This means the default empty string will enable all collisions.
  • @collisiongroup  string  -Gives the collision group that this point belongs to. If this matches a collision ignore label, it will not engage in collision detection.

Vellum Targeting Attributes

  • @target_path int, @target_pt string,@ pintoanimation string, @gluetoanimation string – The target path and point number for any pins when the Target parameter is set in Vellum Source.
  • @targetweight  float – Affect the strength of the pinned points using a 0..1 weighting value.

Vellum Breaking Attributes

  • @breakthreshold, @breaktype float, string – The threshold for breaking welds and branch welds, measured against the breaktype, which can be one of the following: stretchstress, bendstress, stretchdistance, stretchratio, or bendangle.
  • @pressuregradient, @volumepts, @volume vector, int – When a point is part of a Pressure constraint, these attributes hold values computed during constraint evaluation.

Vellum Internal worker Attributes

  • @dP, @dPw float – Constraint displacements/weights. Likely of last iteration, so out of date.
  • @patchname string – Identifies each generated patch in a simulation so it can be updated/replaced.
  • @L vector – The amount of work done by a constraint, possibly along different stiffness or compression stiffness axes.
  • @pts int – Array of points affected by this constraint

Vellum constraints Attributes

  • @dampingratio float – 0..1 damping ratio.
  • @restlength float – The initial “distance” of the constraint.,
  • @restlengthorig float – Distance constraints use distance, bend constraints use angle in degrees, volume and pressure constraints use volume.
  • @restvector vector – Orientation constraints need a rest orientation, so store a quaternion here. This vector is also used to store target positions for pin constraints.
  • @rest vector – The original point position in rest space, used by shapematch constraints.
  • @stiffness float – How strongly to enforce the constraint.
  • @compressionstiffness float – How strongly to enforce the constraint when it is being compressed.
  • @stiffnessdropoff @stiffnessscaled @stiffnessdropoffmin float – The distance from the rest state at which the stiffness of the constraint drops off to zero, or increases from zero to full stiffness, depending on the direction of the dropoff.
  • @distance string – Type of the constraint.Constraints the points to be restlength apart. distance is used for intrinsic distance constraints, like the edges of triangles or hairs.
  • @stitch string -Type of the constraint. stitch is an alias for distance. It acts the same, but semantically is used for non-topological elastics added to the sim
  • @branchstitch string – Type of the constraint. branchstitch is used for the automatic branch welding.
  • @ptprim string – Constraint between a point and a location on a primitive, usually created with the _Use Closest Location on Primitive option on the Vellum Constraints SOP
  • @bend string –   four-point constraint. The points represent the 4 points of two triangles that share an edge. The constraint is applied to maintain an angle along the shared edge.
  • @angle string – A three-point constraint. Maintains the dihedral angle measured at the middle points. This is used by the String constraint types.
  • @tetvolume string – A four-point constraint. Maintains the volume of the tetrahedron described by the four points.
  • @pressure string – A many-point constraint. All the points represent a surface of a mesh. Volume is computed on the mesh and stored on the points, and then all the points are inflated or deflated to maintain that volume.
  • @pin string – Pins a point to a certain world space location.
  • @attach string – attach implies updating the target location from the target attributes per-substep. pin by contrast is updated according to the matchanimation attribute.
  • @attachnormal string – An additional constraint created for Attach to Geometry constraints when __Tangent Stiffness_ is enabled. This constraint keeps the constrained point aligned with the target object normal, as specified in the restdir attribute.
  • @pinorient string – Pins the orientation of the point to match the rest orientation.
  • @bendtwist string – Two point constraint. Constrains the orientation of points on an edge to be consistent, thereby creating torsion effects along hairs.
  • @stretchshear string – Two point constraint. Combination of both a distance constraint and a bend constraint for edges. This is used by hair.
  • @tetfiber string – A tetrahedral constraint that allows compressing the tetrahedron along the local space direction specified in its points’ materialW attribute.
  • @triarap string – An As-Rigid-As-Possible stretch constraint on triangles that minimizes deviation from the triangle’s rest shape, stored in restvector.
  • @tetarap* string – An As-Rigid-As-Possible stretch constraint on tetrahedra that minimizes deviation from the tetrahedron’s rest shape, stored in restmatrix
  • @shapematch string – A constraint that attempts to keep the original shape of the constrained points, as stored in the constraint geometry’s rest point attribute.

Vellum state Attributes

  • @stress float – The amount of stress applied by the constraint.
  • @slidingrate float – The rate at which the target location should slide along the primitives
  • @target_group string – Rate at which the target location should slide along the primitives specified by target_path within target_group
  • @slidingattrib string – If there is a point attribute set to scale the rate, then its name is stored in slidingattrib.
  • @attribpromote string -. The method for promoting attribute values to scale the rate is stored in attribpromote.
  • @breakthreshold float – If breakthreshold is less than zero, no breaking will occur
  • @breaktype  string – Threshold for breaking the constraint, measured against the breaktype, which can be one of the following: stretchstress, bendstress, stretchdistance, stretchratio, bendangle.
  • @plasticthreshold float – negative for a stretch constraint, it is treated as a ratio of the current restlength.
  • @plasticrate float – threshold for applying plasticity to the constraint, which modifies the constraint’s restlength to match the current state, at a rate specified by plasticrate
  • @plastichardening float – The. If plastichardening is > 1, the constraint’s stiffness will be scaled higher at the same rate; if < 1 it will be scaled lower.
  • @plasticflow float – The amount of plastic flow that occurs for a constraint is stored in plasticflow.
  • @matchanimation int– If set to 1 for pin constraints, the solver will lookup the constrained point’s target_path and target_pt

Free Houdini Tutorials and Webinars

Ask any Houdini technical query , Teamvfx will reply soon

Andrew D'costa
Andrew D’costa

About us:- Houdini mentor.
Very few fields effectively combine his love for arts & films and his keen interest in technical challenges like the CG industry does. While working on various projects, since 2007 he has learned a great deal about every aspect of the field. He has good experience in post production, as well as CGI artificial intelligence, Houdini Fx and crowd simulation, 3d animation and game developing. He is also specialize in the special areas of pre-production and on set skill (technical directing).


Hope and Wish we could solve your query and technical issues in this Houdini forum

Awesome quick tip and tricks in VEX / Python

// removes random point with certain probability 
// run over points, create spare parameters
removepoint(0, rand(@ptnum + ch("seed")) < ch("probability")?@ptnum:-1);
v@Cd = vector(chramp('color', rand(@ptnum+ch('seed'))));


# put a python node # to get a point attribute
 for point in geo.points():
    print point.number()
    print point.attribValue("Cd")

// create spare parameters 
@P += curlnoise(@P)*{1,0,1}*fit01(rand(chi('seed')),ch('min'),ch('max'));
// removes random primitive with certain probability 
// run over primitives, create spare parameters
removeprim(0, rand(@ptnum + ch("seed")) < ch("probability")?@primnum:-1, 1);
# put a python node # Set an attribute
for point in geo.points():    point.setAttribValue("Cd", [1,0.1,0]) 
 

// create spare parameters
float rand = rand(@ptnum+ch('seed'));
float pow = ch('power'); // default is 1
@pscale = fit01(pow(rand, pow), ch('min'), ch('max'));
// create spare parameters vector bb = relbbox(0, @P); @Cd = vector(chramp('ramp', bb.y));
# Get a detail attribute 

start = geo.attribValue('your_attr')

Keep visiting the site. More Houdini tutorials are on the way.

𝐋𝐞𝐚𝐫𝐧 𝐡𝐨𝐮𝐝𝐢𝐧𝐢 𝐢𝐧 𝐩𝐫𝐨𝐜𝐞𝐝𝐮𝐫𝐚𝐥 way “𝐡𝐨𝐮𝐝𝐢𝐧𝐢 𝐰𝐚𝐲” . ► 𝐇𝐎𝐔𝐃𝐈𝐍𝐈 ► 𝐕𝐄𝐗 ► 𝐌𝐀𝐘𝐀 𝐌𝐄𝐋 ► 𝐏𝐘𝐓𝐇𝐎𝐍 ►𝐍𝐔𝐊𝐄 -TCL ► 𝐂𝐆𝐈 𝐚𝐧𝐝 𝟑𝐝 𝐏𝐑𝐎𝐆𝐑𝐀𝐌𝐈𝐍𝐆 (𝐏𝐘𝐓𝐇𝐎𝐍 , 𝐂++, API)…𝐋𝐞𝐚𝐫𝐧 𝐮𝐬𝐞 𝐨𝐟 𝐜𝐨𝐝𝐢𝐧𝐠 𝐢𝐧 𝐕𝐅𝐗.