If you need your particles or points to be rendered with constant size according to your camera, in Houdini, this is what you could do.

Going back doing another tutorial to better understand how Houdini works.
This series is specifically for who is coming from C4D.
recreating mograph in houdini -1 cloner object

in attribcreate you can add

$PT point
$NPT total number of points

with Attribute Wrangle you can easily create attributes.
f@fall = 0;




Expression functions

Reminder, check this link!

Expression functions are different from VEX expressions.
Expression functions are for Hscript, the expressions in network parameters.

npoints returns the number of points in a geometry. npoints(surface_node).
opinputpath returns the full path of the node connected to a given input. opinputhpath(“.”,0) it returns the input connected to the sop.
for example: npoints(opinputhpath(“.”,0)) it will return the number of the points of the curve connected to the attribute create sop.

$PT point number
$NPT Total number of point
$CR Diffuse point color red
$CG Diffuse point color green
$CB Diffuse point color blue
$PR Primitive or profile number
$NPR Total number of primitives or profile number
$F Frame number

The Copy sop has a great feature that is the stamp, where you can control the individual copies.
Check stamp inputs, write the variable.
You can then add $CY, number of copies.

With op:`opinputpath(".",1)` you connect through expression the sop to its second input.

Attrib Delete:
* to delete everything
^nameoftheattrib to save that attribute

Tutorial and classes

Video tutorial


Some free ebooks and pdfs I’ve found online about Houdini

You can download the Houdini project here. I had a bit of fun with Point VOPs, nothing crazy.
GastaLoop 103

Following this tutorial that creates trails from volumes.
Playing with some splines. In Houdini you create them with the Curves sop.
Resample to subdivide splines.
Polyframe to generate tangents from points.
Press X to create a Visualize node.

A nice way to invert tangents from points is with an Attribute Wrangle and this code
v@tangent = @tangent * -1;
Just be careful when declaring the type of variable. A tangent is a vector, not a float.

The Volume sop has some interesting parameters:

If you want to use the tangents in your Volume, you have to use a Vector rank.
Careful about Name parameter of Volume sop. It’s not “just a name”. It’s absolutely important.

Naming volumes allows mantra and the Volume VOP to override the correct parameters with the values of the volume.

The input of the Volume sop is Bounding Source. It’s the Bounding Source of the geometry! When you create a Volume it will look at the boundary box of your object. If you want to increase the Volume boundary box, use a Bound sop, not a Volume Bound!

Volume Vop allows us to write vex for volumes.
When you’re working with vector, remember to change Bind export to vector!

These are Vops that I used in the Volume Vop.
Point Cloud Open: this node opens a point cloud file and searches for points around a source position.
Pount Cloud Filter: allows us to choose an attribute (channel) from the point cloud.
Length: it calculates the lenght of a vector.

Volume Trail sop: computes a trail of points through a velocity volume (from the help!).

Remember: VDB from Polygon to create a volume from polygons.

Some VEX here.
VEX stands for Vector Expressions.

SHIFT + R to reverse the node inputs.

The full list of VEX functions is here.

to declare a variable:
int nameofthevariable; // create a integer variable
vector nameofthevariable; // create a vector variable

Fetching vector P
‣ @P // fetch first input P
‣ @opinput1_P // fetch second input
‣ @opinput?_P // fetch ?th input
Fetching float foo
‣ f@foo // fetch first input foo
‣ f@opinput1_foo // fetch second input
‣ f@opinput?_foo // fetch ?nt input
my comment block

f@myattrib = 1.0; // f means floating point. This line means that I'm creating a new variable, called myattrib, it's a floating number and it's 1.
@N = @N; // initialise the normals
@UP = {0,1,0}; // this is the way we initialise the vectors, with the up on Y
@Cd = @Cd; // initialise the colors

In the past few days I’ve jumped between tutorials and, to be honest, the more I watch them, the more I understand.
The last one I’ve done is just brilliant, about reaction diffusion, by Entagma.
And, finally, I’ve been able to render an animation!

So, I’ve just finished the first big tutorial on Digital Tutors.
More free Houdini tutorials here:


But before I start on those, I’ll dive into Dynamics a bit more with another Digital Tutors tutorial.

Cloth object

If some penetrations happen, check the cloth thickness in collisions.
The main controls for the Cloth are in Model, like C4D: stiffness, damping, density.
how much cloth is resisting deformations.
Density: how heavy is the cloth?
Damping: how quickly the cloth will settle down, it’s how much it’s springy