Completing the big destruction – week 7

From the last lesson, we proceeded to create the destruction to the other parts of the building, such as walls, bricks, supporting bits, and glass. For a faster way, the use of ‘For’ loops was implemented in the workflow, thus applying similar procedural destruction and noise to a lot of smaller pieces.

Bigger concrete destruction with meteor area selected (Active_zone)
‘For’ loop for the concrete destruction pattern
Glass destruction

To make the process more optimized, as the meteor would only interact with specific parts of the building, we used the shape of a circle following a path of the meteor through the building (over about 6 frames) to select the surface that would have the interactions and apply more detailed patterns of destruction only to that area. Then all the various bits would get combined back into the building and proxy geometry would get created for the bullet solver to be able to handle the operations.

All destruction file cache merged and proxy geometry created

After finalizing where the lines of breaking points would be, we then added the constraints to guide how it will break and how strong the force of the glue holding it together will be with the use of “RBD Constraints from Rules” followed by “RBD Constraints Properties”. Then the building was divided into active and non-active sections and combined together with the bullet solver, which read the information for collision geometry of the Meteor Proxy that we made earlier. Hence we finally got a look at how the building will get destroyed once in contact with the meteor.

RBD and Bullet solver for active geometry
Meteor colliding with the building

As there were two main contact points of destruction, to add realism we separated them out and made explosions at each point of entrance/exit. First, the volume geo was made by using the meteor proxy taken from a single frame, visualized with the “Trail Path” node, and changed into the volume. For every explosion, the trail path was adjusted to see visually how we wanted the particles to move.

2 points of contact Meteor Volume Geo
Example of trail path

Once the trail paths looked good, they were combined with the Collision geometry, and with the use of “Pyro Solver”, we achieved the final look of the explosion for each point of interaction.

Pyro solving with the use of Volume and Collision Geo coming from Meteor proxy and Active group for destruction.
Destruction with explosions
First explosion: pyro solver settings
Second explosion: pyro solver settings

The final addition was the smoke/dust coming from the separated parts of the building, resembling the dust from smaller particles of concrete broken apart. I managed to follow the tutorial and write out the first 15 frames for the required simulation, but my computer would crash after the frame 38 and not write out any caches, so my final video is of the destruction and smoke by themselves.

Explosion from broken pieces
Smoke overall look
Destruction with the final smoke

Overall, these two weeks of lessons were quite intense requiring a lot of computer power and memory, which was an obstacle in my case. I really enjoyed breaking down the process and messing around with details of instruments to get my own view of the destruction. However, looking back at the result it feels like the pieces at the second collision (a lower bit of the building) have too much force applied and are flying out too far out, which wouldn’t be the case in real-world as the meteor would have slightly less force at the 2nd point of exit.

Further particle simulations – week 6

Now we got to the exciting part, where we were shown how to combine all the previously obtained knowledge into something that would generate much cooler effects.

The first exercise was creation of a disintegration effect where a physical object would break into smaller pieces and those would fly apart, whilst decreasing in size. I tried it on a torus shape, then applied on the human object varying some of the attributes, such as: at what kind of rate the pieces would disappear.

Torus disintegration
Disintegration effects geo network
DOP Network

For the man example I wanted the pieces to last slightly longer, hence changing my value from 0.92 inside the scale to 0.96 in the primitive node in SopSolver inside the DOPNetwork.

POP solver
VOP network for randomization of which particles get de-attached.
Man disintegration effect

We then moved onto using the smoke to direct a path for particles, thus trying to create a more magical effect, similar to the aura from the second week exercise.

I wanted the smoke not to be as grouped as Mehdi’s, so I changed a few settings around, making it slightly more wider in the simulation and dissolution. I also added some colour for the density inside the volume visualization node. I tried out various ways of how to add colour to the particles, that were translated into points when using the ‘CopyToPoints’ node, but didn’t manage to figure how to do so yet.

In the second half of the lesson we moved onto a bigger project: big building destruction. The final objective of this example, is to have a meteor colliding with the building and having explosions at the points of entry and exit.

The first part of it was finding all the problems with the geometry, fixing them and creating the pieces of how it will get destructed. It was noted which parts had defects, however would not be involved in the collision so that we didn’t have to fix them necessarily (e.g. air conditioning unit at the top).

Then we created a proxy version of the meteor, as the original meteor was quite a heavy object with a lot of details and polygons. Various ways were shown of how to subdivide the polygons.

We then started creating the RBD geometry, inside which there will a big graph telling how to break down pieces for various parts of the building. For the outside and inside walls we setup the following way:

Quick review of the building break down.

The plan is to continue creating destruction of the building various parts, such as glass, inside bits like floor, inner walls. For those, example from week 3 when we destroyed the cabin could be used.

Smoke, fire and explosion – week 5

This week we got to learn about creation of smoke, fire and explosion with the use of smoke solver and pyro solver. Breaking down the basics, it appeared that the main principle behind all of these was getting down to use of smoke solver.

To create the smoke and fire we used the DOP network, while the creation of explosion didn’t require us to do so. However, most of the procedures followed the same steps:

  1. Create a geometrical shape (sphere or circle);
  2. Scatter points inside that shape;
  3. Create a new attribute (the one you want the software to be working on, e.g. density);
  4. Use Attribute Noise to make it more chaotic, rather than follow a pattern;
  5. Use Color for visualization;
  6. Apply Volume Rasterize Attribute (to 4), such that you are creating a volumetric representation;
  7. Finally, use a Null node, to have a clear visual directory when referencing the SOP path later in the DOP nodes.

Then you would create the DOP network, inside which you would set up using smoke object, volume source, smoke solver and some mini solver for gas, like gas turbulence or gas wind (for SMOKE). The set-up is primitively the same for fire, except you would be using a pyro solver instead and have to be aware that you are also using a temperature attribute as well for a better fire simulation.

However, for the explosion we didn’t use a extra DOP network, it was simply set-up in just the Geo node. One of the most important target fields to add in sourcing inside pyrosolver was the Divergence as it defined of how big in size was the initial explosion.

Explosion geo network

The second branch for pyrosolver with a sphere object was created to show how the smoke would be interacting with some sort of collision force. However, it appears that the placement of my camera didn’t manage to catch that output.

All about rendering – week 4

This week we learnt more about various renders, how the image is being adjusted by software for the final output and how it is perceived by our eyes from the monitor screen. Proceeding with learning about the built-in Houdini renderer, Mantra, and it’s according nodes, be it for lighting or materials, we also noted about differences of Arnold renderer in Houdini and the according nodes and tools.

Playing around with the materials and their properties, these were the test images that I made.

Here is a rendered out sequence of the task from second week of studying Houdini. For it I added to the script the Arnold shader, lights and Arnold render node in the ‘out’ directory.

Render of first 165 frames of the second week exercise.

Destruction of the house – week 3

This week was quite tough but fun, as we were learning how to destroy the wooden cabin, which we had built previously. Before creating the procedure to destroy the building, I went back to the Houdini script and slightly rebuilt the house, creating a much neater network. I also added the glass to the house, which previously wasn’t there.

Practicing on just the cube, it was quite informative learning about the basics behind the original creation of an already destructed object, as it cannot be easily programmed for it to break into various pieces. Those breaks and lines where the material will crack must be created by the user before any force could be applied.

Whilst following the lesson copying the guided procedure, I came across a problem when breaking my pre-built wooden cabin. For the pieces that are supposed to be active, the glue constraint isn’t working and hence the parts start to fall due to gravity before the ball comes in contact with the building. Hence the result. There is still some collision happening towards the end of the shot, as when it comes in contact with further pieces they get moved.

After attending the live Q&A session with Medhi, I managed to solve my problem by checking nodes for Constraints from Rules, ConstraintsProperties and Assemble. The problem was down to ticked boxes in the latter node. With fixing and setting up the correct requirements, the wooden cabin destruction was fixed.

Particle simulation – week 2

This week we were learning about varying and affecting the various attributes of an object (points, primitives, vertices). The creation of particle simulation effect involved the newly introduced VOPs and DOPs. It was quite fun to fiddle with the various force-inducing nodes, such as gravity, wind, force or drag, with which this swirl effect was created. This was my final result:

Geo1: node graph
Popnet graph
Attribvop graph

Wood cabin – week 1

In the first week of lectures on Houdini, we were talked through correct way of creating a project, a scene, the types of nodes (e.g. surface, dynamic, compositing, render), how to save a file and how to structure the node graph correctly to store the information successfully. In the end of the lesson we were shown a way to model a wood cabin, reference of which was taken from google search.

Reference
Close-up
My model
Show around the model

I started off by creating a box node, from which I shaped a wooden long plank. Then with the use of the copy node, I easily created 9 other copies, appearing to be stacked on each other. A frame shape of the window was added later, out of which with the use of Boolean I cut out the window. Repeating the same process for other windows and the main door, I realised that a shorter way would have been to apply the nodes for transforming for window made from the same box. Similarly, I could have used the same box and copy nodes for the back wall as for the front. After making the side walls of the cabin, I used a Boolean node to create the cut from the wooden planks to follow the tilted roof from the reference photo. One of nice additions could have been a use of PolyBevel node, to round the edges of the wood.

Node graph
Close-up