Focusing on my simulations, I made more progress in perfecting and working on the fire and sand simulations, as well as started making scripts for the swirling particles and the incense burner smoke.

In the case of fire, I made a crystal, and tried a few fire simulations on it, to see how it would integrate and play with the surroundings. It was very interesting and pushed me in a new direction, with the crystal creation. The workflow consisted of making a rough shape for a crystal base, that has the main outline of being broken around edges. The base for crystal was made from using a tube shape, which was cut in various ways, using a tetrahedron polygon, placed and rotated such that it suited the look, with “boolean” of “intersection” function. As it was just a singular crystal and I wanted at least 6 or those, I used another geometry to scatter and position particles in a way that the crystal could be copied to those points and its appearance can be adjusted.
Part 1 Part 2 Part 3 Part 4
Then I introduced a for loop for each big crystal to have the intersections and breakages along the edges, then give them this naturalistic look of forming during decades. It was achieved by reconstructing edges for crystal shape, scattering, and randomizing position of the points, to which low-resolution spheres were added. Those positioned spheres were now intersecting with the base of the crystal, again with the application of the “boolean” node of “intersect” mode. Very often, “mountain” nodes came in to serve the purpose of creating irregularity and breaking down the reappearing patterns. Whilst it wouldn’t be seen much in the viewport, but better in render, I also had to think about the internal breakage of crystals. This was achieved by turning each crystal into a VDB shape, with specified boundaries inside of which noise would be introduced in the “Volume VOP” node, and later read back into the crystal with the use of the “boolean” node of “____” function. After that, with a very similar approach, the air bubbles inside the crystal were made.




I didn’t like how the fire was projecting, having the flames go high and it felt like there was a lot of empty space, so I decided to change the look of the fire simulation and wanted for it to be smaller.




After observing how it looked in playblasts and renders, it became clear that having fire coming from the bottom of the case (out of nowhere, having no basis or clear source) seemed slightly out of place or like it was magic. However, that is not something that I am going for, and I want to try and create randomized broken patterns on the base of the case, from which the fire will be coming. Other than perfecting how it looks with the simulation, it also feels that applying correct shaders and adjusting how it looks in the render is important as well.

After a very helpful session with Mehdi, I have updated my sand simulation scene and perfected the look of the hourglass and how the sand was falling. As discussed earlier, the system was divided into 3 separate ones, with the sand level going down on top, the sand source placed in the hourglass neck, and the sand pile on the bottom.

Firstly the sand source was read in and split into the top and bottom parts of the hourglass. Whilst for the top, no adjustments had to be made to the shape, it was fed in “vellum configure grains” straight away to create those sand-looking shapes. However, it did require the colliders, which were made by converting needed polygon shapes into VDBs. It was later solved using a DOP network, with various POP forces and setting a boundary box at which the particles were deleted as they entered it. The mountain-like shape for the bottom was created by separating out the mesh for the lower part of the glass, making a plane out of it, and using “soft transform” for raising the central point of this plane higher, thus making that hill outline. A couple of keys were added to various “transform” nodes to make it animated over time and then the shape was used for collisions. It was later also fed in, to create sand grains from the shape, such that it would fit the scene and the falling grains wouldn’t appear falling onto invisible collider. For the sand grains falling, a simple spherical source was created in the neck of the hourglass, which was solved with another DOP network.
Part 1 Part 2 Part 3 Part 4



At last, I also started with the swirling particles simulation and the incense burner. The way that I found how to swirl particles and attach them to the surface of the object has the accent on scripting, which is taking time for me to understand how they work (based on the examples from a source I found: https://www.tokeru.com/cgwiki/index.php?title=HoudiniDops#Pop_stick_to_surface). There was a different way that Mehdi suggested, which required less scripting so I would need to explore that option as well.




With the incense burner, it was quite a straightforward simulation set-up, however, what I noticed was that due to the accurate size of the incense source (1cm in height), the voxels that are the volume source of the smoke for simulation are very small and in turn that directly affects the time taken for the computer to process and update the scene. Every small adjustment made would take at least 10 minutes to update as a playblast, and I am not too sure if I have enough time left to get every simulation to the point of how I want to look it like.


Overlooking the last week’s progress and how much time is left, I now need to decide which 3 simulations I will be proceeding with, understanding the look of them, how the camera will be placed and its movement, what would be the lighting source (an HDRI or hand set-up). When looking at the render, I also realized that I am not too happy with textures, as some don’t look too realistic or how I would imagine them to be.
In summary:
1) Decide whether to go with swirling particles or incense burner simulation;
2) Improve and solve the inconsistencies from fire and hourglass simulations;
3) Find the textures for the objects and apply the adjustments to them to get the right way looking in the render;
4) Either use the HDRI lighting or custom light;
5) Decide if I want to render from Houdini or Maya;
6) If I decide to render in Maya, then understand how to export the simulations from Houdini and set them up in Maya;
7) Figure out the camera movements (most likely to be static) and create them in Maya/Houdini;
8) Get all the sound effects that I would use later in post-production.