VFX Demo:
Project 02 Showreel:
Hyberlinks:
Term3_Week01: Project2 Brief (Premise Project)
Week_05: Last Scene Rendering & Procedual Saliva HDA
Week_06: Buildings Destruction & Explosion
Term3_Week01: Project2 Brief (Premise Project)
Week_05: Last Scene Rendering & Procedual Saliva HDA
Week_06: Buildings Destruction & Explosion
Finally, I have finished project 02. I learned a lot in this project, and enjoyed the hardware crisis that it brought to my computer (smile).
This is a personal project which focusing on volume, RBD destruction and liquid simulations in film VFX. This project doesn’t covers any story and is more like a demoreel. It can be considered as a technique preparation and test for my final major project.
What I would like to do in my final major project is an urban legend (or creepypasta) theme short film. The main idea of this film is to tell an abnormal or horror story. It is quite different to other horror topics like zombies or ghost. The film may base on some ideas from Control, SCP (Secure,Contain,Protect), The Backrooms or The Thing.
It can be foreseen that there will be some VFX shots in this short film, and some other VFX represent abnormal effects to create weired atomosphere. At first I want to be more focusing on the VFX that creates horror atmospheres. I then did some research on horror effects in films like The Thing (1982 and 2011), Alien series and zombie films and realized that there are plenty of character VFX and some special effects made by real props in these films. The quality of character VFX is highly depended on the quality of customized rig, cloth effects, animation and compositing, which can be a huge area for me. Therefore I decided to start with traditional effects rather than such kind of specific VFX. If I have extra time after I finished the traditional part, maybe I can do some character VFX.
I decide to focus on volume, RBD destruction and liquid simulations, which are the main traditional effects in film production. As for the abnormal effects, which I think are more like some motion graphic effects, will be researched and prepared at the beginning of July.
The software that I used is Houdini, which can give me enough freedom to finish these effects. At the end of this project, I have finished several explosion sims, smoke sims, destruction sims and a liquid sim. These techniques will also be applied in my FMP project.
During the production of this project, I met some problems and realized the limitation of my hardware. Therefore, I find out what area that I need to focus on in next step and what kind of hardware that I need to prepare for my FMP. I also got some feedbacks from my classmates, which helped me a lot. All these reflections are quite valuable and useful.
In next month I will start to prepare for my FMP project. I will do more targeted preparations for the FMP based on reflections in project 01 and 02. These reflections can also help me to prepare for the script and storyboard, and effectively control time budge and the speed of process.
At first I decided to make another fluid sim. However, I met some problems and didn’t have enough time to solve it. Therefore, I stopped the process and turned to optimize all the things that I have already done.
As I mentioned before, the explosion render color is incorrect. Therefore, I adjusted the color of the volume and exported the whole sequence again. What’s more, I remove some weired dots on the global illumination channel by using rotopaint.
Also, I realize that the water sim still has some problem. Some of the water drops flying crazy in the air, which is quite annoying. I think the result comes from the volume noise that I applied on the surface of spaceship. The flying drops can be limited if I decrease the noise.
I firstly decide to resim the whole scene. However, the time is quite limited so that I chose to remove these drops in post-process. I used rotopaint in Nuke to remove these drops frame by frame. Since I have already separate the foreground and background, this part didn’t take much time to finish.
This week I focused on building volume cloud scene.
I used Houdini to make the cloud and the landscape. The main idea of it is using metaball to form the basic shape of cloud. After that I convert it into mesh, and then turn it into volume. By using several layers of volume noise, more details are added on these volume and make them looks like real cloud.
After that I did a simple landscape by using Houdini heightfield. I also exported several masks for the landscape and used them to make landscape texture.
Then I started to do the layout. By using the mask paint, scatter point and copy nodes, the landscape and clouds are arranged. I can also adjust the layout by changing the painted mask, which is quite handy.
This week I finished a spaceship water sim to test mid scene simulations. What I want to make is a spaceship coming out of ocean and interacting with the ocean water. The water sim must have enough details to represent the scale of the whole scene. What’s more, whitewater is covered in this sim to add more details on it.
To add more details on the sim. I create a custom noise field on the surface of the sim. When the spaceship coming out of the water, the noise field will affect the surface particles. Since the velocity data can be inherited by whitewater, it can also affected by the noise.
The fluid sim took me a lot of time to finish. The most difficult part is to mesh the fluid data and post-process it. I need to keep most of the details on the mesh and clean the edge and bottom of the mesh so that it can be successfully merged with the ocean source. It takes me days to simulate and fix the mesh.
Theecond part of the sim is to add whitewater(foam and bubble). I adjust the whitewater source and the sim several times to find a proper whitewater shape. After that I add just several parameters to add details on it.
A test render:
Ocean render test:
I output the render sequences and composite the background in nuke. Here is the result:
This week I focused on destruction buildings and smoke sim.
I gathered a procedual building HDA writen by some Houdini artist, which is quite handy for generating destruction buildings. By using this tool, I quickly built up a building that I want.
The next step is to fracture the building and turn it into a destruction ready building. I used RBD fracture and voronoi fracture to break all parts of the building and then cached the file to the disk. It took quite a long time to finish since the building has both interior and outside walls.
After that I added constraints to each part of the building so that it can be connected together when the sim started. All the constraints are glue constraints, which can be destoried after the collision object hit the building. I set about 20 constraints to connect the piece and exported them to the disk. Each constraint has be colored by using dofferent colors.
After the building has been set up, I started to test the collision. I find a suitable spaceship model on website and transfered it to VDB for collision. I used some nodes to limit the speed of fractures. After several times of tweaking, I finally got the result that I want.
After that I added debris on the fractured piece. I used velocity and volume as masks to prevent small pieces and low speed piece from emiting partcles. After that I used a pop sim to emit secondary particles from the original particles so that the volume source can get enough particles to form a trail, and then be generated into volume.
I generated flame, density, temperature and velocity source to simulate the smoke and fire. Several micro-solver have been applied to break the shapes of the smoke. The simulation still has some problem since I am not quite familiar with high speed volume sim. Some part of the smoke disconnected because of the high velocity and low substeps. I realized that I need to do more research on this kind of simulation to make the result looks better.
I tried to render out this sequence by using redshift. Unfortunately, my computer is not good enough to run the render in this scene because the cache is too big to be imported into render engine. When I click the render bottom, the screen just freezed. Therefore, I have to export a playblast to demonstrate the result.
After adjusting the quality of the destruction and smoke sim, I rendered the scene and composited it in Nuke this week. Then I added some sound effects in it. Here is the final result:
After that I started to make another visual effect, which is a procedual saliva digital asset.
Saliva is an important element of realistic creatures. For example, we can find creepy saliva effects in film Alien (1979) and The Thing (1982), which brings a great sense of realisim and horror.
I firstly find some saliva reference:
As we can see, saliva can be separate into 3 types:
Filamentous dropping saliva and punctual dropping saliva can be easily simulated by using high viscosity fluid sim and surface tension. However, filamentous dangling saliva can not be easily achieved by using fluid sim. It is more like a fluid-like cloth simulation. What’s more, the shape of saliva has some regular patterns: both sides of saliva is thick and the middle of it is thin. Such kind of feature shows a sense of high viscosity.
I used a combination of vellum cloth and VDB to sim filamentous dangling saliva. The main idea of it is to build up lines using VEX, and then use vellum solver to sim these lines. After that I turned lines into particles and then turn them into VDB, and finally convert them back to polygons.
This is a procedual method of building saliva. Therefore, I can easily build saliva on different creature models by using the HDA. What’s more, I can change the shape and numbers of saliva by using customed attributes.
I did a simulation to test the result. Most part of it works well. However, a bending can be easily found on the saliva when the the mouth is closing. This can be a problem because it makes the saliva more like a cloth rather than a fluid. I think the problem comes from the vellum simulation. I need to add more elasticity to the sim to prevent this kind of results.
After that I optimized the volume of saliva, here is the result:
A rendering for the saliva:
A movement test for the saliva:
From this week I decide to use destruction and pyro techniques to make a more interesting and technicial shot. The whole shot should be finished in 1 to 2 weeks.
What I want to make is a scene in which a creepy monster/creature breaks through the side wall and running towards the camera. The shot will lasts about 7-10 seconds, which focus on the dynamic effects of buildings and creature and the atmosphere of the whole scene.
I decide to build up a corridor for this shot. I firstly did a research on horror corridors on the internet and gathered some lighting references. After that I started to build the frame of the scene. What I need to do is to build part of the corridor and duplicate it forward to make whole corridor. Each part of the corridor shares same UV and textures.
Since I don’t have enough to focusing on creature modeling and rigging, I searched on the internet and found an alien rigged model, which is pretty nice(I can use it to test some CFX later). The texture of it is not at a high quality (no SSS, and low res), maybe I’ll replace it later.
After that I baked normal textures in substance painter. Then I made other textures by combining quixel scaned textures and baked textures together in substance painter. The uv had some problem at the beginning and was solved then quickly.
I then placed the creature into the scene and render a shot with redshift. The whole atmosphere is quite close to what I want. What I need to do is to add a little bit more details on the ground and ceiling. The next part is to animate the creature (it is an alien model acturally) to make the shot more horrible and set up the wall for destructions. The animation is quite important because it drives the range of whole destruction. It should be powerful enough to make the VFX looks better.
After that I did a rough animation for the creature and set the position of the camera.
I import all the environment and animation to Houdini to make the RBD simulations and pyro sim.
Below is a test for the scene. The smoke sim is fine. However, I think the constraints of each fractured pieces still have some problem. I ‘ll add a hard constraints to test the result later.
Here is a rendered one testing the smoke and other textures:
The second sim is a gas explosion. I want the explosion to expand fast in first few frames and then keep rising to form a good shape. The emission should be pretty hard at first and disappear slowly.
I firstly made a rough sim to test parameters and the range of explosion. The first test has a lot of problems: bad shapes and bad emission, the speed of buoyancy is not satisfied enough.
After that I adjust the sim to get a better result. I also add a shockwave to make the ground sim more interesting and interactive.
I then build a scene and an animated camera to fit with the explosion. At first I tried to render it with arnold. However, it takes about 20min to finish one frame, which is way slower than I expected. Therefore, I turned to render it with redshift, which is a faster GPU render engine.
The volume shader in redshift is not as good as the one in arnold, which took me a lot of time to finish the shading. After rendering, I composited it in Nuke, adding vignette and grains on the shot.
Below is the compositing breakdown:
Zhenzhong told me that the color of the explosion may have some problem. I also think that the color of flame is too bright. I will test this short again to make it looks better.
In the second week, I decided to finish my first pyro explosion simulation: Spiky Explosion.
After adjust the velocity and divergence fields, I finally finished the sim.
I then adjust the spiky explosion shape to create several explosions and layout them in a scene. Unfortunatly, the sim is too big to be rendered on my computer (500*500*500*4). Therefore, I did a flipbook instead.
The sim still can be improved in the future. For example, I can add some sparks and RBD smoke to create a more detailed sim. Recently I am satisfied with the result. I may improve this scene in next few weeks if I am free.
The next sim is gas explosion, I will make a sim and then render it out and finish compositing.