The second video tutorial from Medhi was super fun as we had to create a particle simulation on a test model from Houdini that was already animated, make it look magical.
In the first video Medhi gave us an introduction to some concepts like: SOP – surface operators; OBJ – object context; DOP – dynamics context; ROP – render operator; VOP – vex operator. This week we started working with DOP and VOP as the DOP network was used for particles and VOP is the scripting language of houdini so it will be used for the simulation. A few more concepts were adressed this week related to the vex networks:
- i@test – integer -59687
- f@test – float -2.6587
- v@test – vector {1.15456, 2, -0.5}
- s@test – string “hello world”
These are the main values of language that vex networks work with and they are adressed with collors inside an attribute vop node, where anything can be added such as noise and color without having to actually know coding – as Medhi said. Which is great because I find codding very hard to understand.
So, this weeks task is about doing a bit of VFX and an introduction to particles, like before the first step was to create a geometry node, inside we had to add a node for the test geometry model, this test geometry is already animated so we can focus on the simulation and not so much on the animation.
For a better workflow the model cannot be time dependent as it is the input for the DOP network that is time dependent by default, so we have to create a time shift node and delete the expression it has on frames, so this way the animation doesn’t run while taking care of the simulation atributtes. After this, we create a POP network (that is actually a DOP network with a shortcut for a particle simulation network.
But before going in deep in to the simulation we need to look at how it is going to be read by geometry and for that there are 2 usefull nodes: pack and unpack. Pack node is used to read the geometry as one entity, so it will have no points, but unpack simulates all the geometry that allows us to see and manipulate it – so that is the one we are going to use for this task, before the time shift node. When these nodes are connected to the POP network, if we hit play particles start emerging from the surface of the model based on its vertices.
Inside the network, we can remove the merge node and it should look like this:
So, the pop object node works like a container for the particles, the pop source node are the particles and the pop solver is like a toolbox with everything needed to calculate the dynamics for particles.
Now what is needed is to add forces to the particles that are being created, so we can add a pop wind node or more than one and tweak them in order to have a more natural effect with multiple forces interacting with each other.
On the geometry node we should add a scatter node in order to control the amount of points we have on the models geometry from which the particles are going to be created from. Ofcourse this depends on how good our machines are because it is all cached to RAM memory, I cannot add that many points because my RAM memory is 16GB, but the result was equaly good in my opinion.
So after adding all the forces and connecting all the nodes this is what the DOP network looks like:

Inside the geometry node this is what is should look like:

A few more nodes were added such as the delete one that was used to delete points from which particles were emerging, this way the particles were only appearing in the geomretry that was facing up and the rest was deleted by normals. The copy to points node, along with the spere and atribute VOP nodes were used to make the particles, so the sphere was the shape of the particles and the attribute VOP was for their color, all this then had to be connected to a merge node so that we can have this amazing final result.
