Tuesday, 28 January 2020
transparent points/ points with alpha, Arnold
Plug Alpha attribute using User Data Float into OPACITY of Standard shader (in geometry section)
Monday, 27 January 2020
POP streams, for POPs or even RBDs.
Bit of a waffly post here.. mostly for my own ref..
I had a case where there were a bunch of colour swatch cards in a display case of sorts. They needed to fly out of their resting position, but also had to vibrate and wiggle a little before this.
For context - I chose to use RBDs & the Bullet Solver, packed primitives for all of this, as there didn't need to be any clothy/plastic Vellum defomations.
So-
1) 10-15 frames run-up sim to settle
2) Cards gradually wiggle, not all at once.
3) Some cards shoot out of their position, not all at once.
The challenge is to effectively create an activation for the individual forces that effect the cards.
At first I was using the RBD-branded wind and fan forces - which did provide the necessary dynamic effect, but I couldn't figure out a way to use groups, or to trigger their activations on a per-packed-piece-point basis. These forces were connected one after another in a chain.
The solution is to use POP-Streams. In my case, we can plug this into an Rigid Body Solver (the 3rd input), as it already has a multi-solver, bullet solver and some other clever bits built into it.
We need to create a master POP stream with the rule set to include all the calculated points. You can/should initialise any values in this stream to account for any points that aren't picked up by the other streams. This might include making them active or not...
From this we can then connect secondary POP streams, each with their own rules and POP force nodes.
I tended to use the random stream option as a way to gradually and naturally add points to the stream.
Something I tried to get working was splitting streams one step further.. eg. A splits off to B ...but B then splits into C & D. This didn't quite go as planned.
I was trying to achieve a slow random addition to a stream/group and then for the cards to go either to the Left or Right, using POP forces. A bit of an inelegant solution, but I ended up creating two streams instead of B producing it's own two, (A divides into B AND C) using SOP bounding boxes. To achieve the random addition effect, I animated a threshold, which determined when the cards would activate. Each stream would then have its own POP forces. Much more control overall.
I had a case where there were a bunch of colour swatch cards in a display case of sorts. They needed to fly out of their resting position, but also had to vibrate and wiggle a little before this.
For context - I chose to use RBDs & the Bullet Solver, packed primitives for all of this, as there didn't need to be any clothy/plastic Vellum defomations.
So-
1) 10-15 frames run-up sim to settle
2) Cards gradually wiggle, not all at once.
3) Some cards shoot out of their position, not all at once.
The challenge is to effectively create an activation for the individual forces that effect the cards.
At first I was using the RBD-branded wind and fan forces - which did provide the necessary dynamic effect, but I couldn't figure out a way to use groups, or to trigger their activations on a per-packed-piece-point basis. These forces were connected one after another in a chain.
The solution is to use POP-Streams. In my case, we can plug this into an Rigid Body Solver (the 3rd input), as it already has a multi-solver, bullet solver and some other clever bits built into it.
We need to create a master POP stream with the rule set to include all the calculated points. You can/should initialise any values in this stream to account for any points that aren't picked up by the other streams. This might include making them active or not...
From this we can then connect secondary POP streams, each with their own rules and POP force nodes.
I tended to use the random stream option as a way to gradually and naturally add points to the stream.
Something I tried to get working was splitting streams one step further.. eg. A splits off to B ...but B then splits into C & D. This didn't quite go as planned.
I was trying to achieve a slow random addition to a stream/group and then for the cards to go either to the Left or Right, using POP forces. A bit of an inelegant solution, but I ended up creating two streams instead of B producing it's own two, (A divides into B AND C) using SOP bounding boxes. To achieve the random addition effect, I animated a threshold, which determined when the cards would activate. Each stream would then have its own POP forces. Much more control overall.
Wednesday, 27 November 2019
adding noise/field effects in certain areas
Lifted from the Houdini help page.. Useful for localised noise/breakup
You can attach DOP nodes that modify velocity fields, such as Gas Turbulence, to the fourth ("Advection") input of the Pyro solver node. Most field-modifying nodes have some way to scale the effect by a mask field.
Create a geometry object in the shape of the area you want to affect.
Convert geometry to a fog volume - use an isooffset
In the DOP network, add a SOP Scalar Field node after the Pyro object.
- Turn on Use SOP Dimensions.
- Set the SOP path to the path of the fog volume object (for example
/obj/mask_object
). Make sure Use Object Transform is on. - Set the Data Name to something indicating the purpose of this field, for example
NoiseMask
.
This attaches the fog volume as field data on the Pyro object with the given name.
Create a Gas Turbulence node and connect it to the fourth ("Advection") input of the Pyro solver.
- On the Bindings tab, set the Density Field to the name of the mask data, for example
NoiseMask
. The effect of the node is multiplied by the value of this field. - Use the controls on the Turbulence Settings tab to control the amount of turbulence added.
Wednesday, 30 October 2019
camera projection with houdini
Houdini camera projection is as simple as creating a "UV TEXTURE" node and plugging it into the geo you're projecting onto.
In this node, select "Perspective from Camera", from the Texture Type dropdown menu.
You could name the UV Attribute something other than the default of "uv" if you are creating some alternate uv sets.
In the Camera dialog box, specify the camera node. Eg. /obj/cam1 & usually the attribute class for the uv's will be set to vertex.
Now, whatever material you apply to it will use these uv's. (or maybe a different set if you specify within the shader network!) eg. uv2.
In this node, select "Perspective from Camera", from the Texture Type dropdown menu.
You could name the UV Attribute something other than the default of "uv" if you are creating some alternate uv sets.
In the Camera dialog box, specify the camera node. Eg. /obj/cam1 & usually the attribute class for the uv's will be set to vertex.
Now, whatever material you apply to it will use these uv's. (or maybe a different set if you specify within the shader network!) eg. uv2.
Friday, 25 October 2019
size of array, VEX snippet
i@size=len(i[]@nameOfArray);
the [] is actually [ ].
the [] is actually [ ].
activating particles
to have particles come alive, mid sim (or indeed, to have them stop mid sim) you just need to trigger the "stopped" attribute in your pop network.
blurring vdbs
float dist = xyzdist(1,@P);
float distremap = fit(dist,ch("near"),ch("far"),0,1);
f@density *= distremap;
This gives a vdb a falloff based on how close it is to the original object's surface.
Stick the VDB into a volume visualisation and then plug that into input 0
Put the original geo into input 2.
Now you can "blur"
float distremap = fit(dist,ch("near"),ch("far"),0,1);
f@density *= distremap;
This gives a vdb a falloff based on how close it is to the original object's surface.
Stick the VDB into a volume visualisation and then plug that into input 0
Put the original geo into input 2.
Now you can "blur"
Subscribe to:
Posts (Atom)