`Meet Mat` is Back - The 3D Digital Painting Contest
Sea creature attack

Sea creature attack

Jan Martin Daviknes
by jandav on 21 Sep 2023

School assignment vfx production

1 129 0
Round of applause for our sponsors


This is a school assignment from our VFX production course, 3rd year. In this module we had to plan and produce a shot from start to finish. The shot needs to be composed of multiple layers, including CG that integrate with each other. In our preproduction process we had to plan the shoot in detail. This part starts with storyboarding and alot of previz iterations to figure out the composition, action of the scene, lighting (we need some sort of light interaction with plate) camera movement, focal length etc. When I have approximately planned how I want my shot, I draw a floorplan and acquire the equipment to shoot.

Pre production

CG creation

For this module I created mo own asset. This was a creature I started creating about a year ago using Zbrush. I designed it as I sculpted it, taking mainly inspiration from a mosasaur, but I took some creative freedoms, and shaped it more like I wanted. 

I did retopology and UV mapping in blender. This is a very tedious process, so I start with zremeshing my model, then remove the areas it doesn't get right, and do them manually.

Zremesh version:

I placed down my seams and split my model. I then subdivided my model once to 50k polys, because I knew I was going to generate displacement maps, and then the maps would be more true and have fewer issues around the seams. However, I learned that the reason I have had issues previously is because of a normal issue, so when I recalculated my normals the issue went away with my normal maps. (see image). I also learned that I didn't have to subdivide the model, because in zbrush I can generate my displacement maps from any subdivision level, so I might have made things harder for myself, but then gain the weight painting process which comes later, went smoother since I had more polygons to work with.

For the texturing process I also went through a few iterations. I used substance painter, where i baked the high poly on my low poly, and utilized the different baked maps, especially the curvature to get details in all the crevices.

Because I was going to see the creature very close; I knew I was going to need more details in the front of the mesh and less in the back. Therefore I went through a few iterations of getting the face correct. all while adjusting the roughness map, getting the right breakups and variation, mainly based on the curvature. I also split up my UDIM resolution to having 4k on the head, 2k on the rest, except the tail, which has 1k texture resolution.

For the rigging process I set up a FG rig, and animated by hand. For the animation it was important to get a accurate motion for the creature. It was quite tricky to get it right. I looked alot at referances of sharks and fishes swimming, and I tried to break it down. I also got assitance from my tutor. When sharks and fish swim they stear with their head and propel with their body. So it was also vital to make the head stear the rest of the motion, meanwhile having the head turn at the correct times.

I also needed the impact to feel real, so after the impact the creatures head gets tilted downwards slightly and pushed backwards.


The process from here included some trial and error. I filmed a few different plates ant tested out my composition. I concluded to go further back and use a longer lens, because this made the creature look alot bigger and more intimidating. Because of the tighter lens, the creature becomes flatter and bigger. I struggles a bit to find a good way of filming. The original plan was to film my subject on a greenscreen, and another plate on the location below. I decided however to make it easier for myself and raise the camera a bit and not show the floor. This way I didn't have to combine two plates with each other. This also worked for a much better composition.

The plate I ended up using was filmed with a static camera, and put on a card in nuke. I used the match moved camera from another take as my camera. This way I had a natural camera movement which was real, but I had the flexibility of changing the camera animation as I wanted to get the desired framing and composition in CG. Finally I rendered out my shot and brought it into nuke. It was vital to bring the necessary AOVs into this process, aswell as finding assets for particles, bubbles, and other 2d elements to make this shot. 

This is the first slap version:


Compositing process:

To begin with I had to change the colors a lot, especially the hue and saturation. The render was very blue and way too saturated, which is often the case with CG renders. Water is usually very blue because the other light wavelengths gets blocked as you get deeper. green wavelengths reach quite deep but not as deep as blue, but water will be greener when there is dirt and mud in the water. This was the thought behind making it greener, also because it was more refreshing than the standard blue water. 

I also needed to make the water much murkier and softer, because right now the geometry has very hard edges. CG generally has too hard edges from the render, so i wanted to achieve a softness in the lens aswell, therefore I have two layers of softness, one for the under water effect, which is depth based, and one as a lens effect. the light disperses quite a lot underwater because of all the dense molecules it bounces around on, and therefore the light sources will have a huge glow. 

To add the particles and bubbles deep under water was a bit tricky. what is important to think about is that they can only be visible where there is light. So I had to position them precisely where the light sources were and give the a gradient fade. This is where the position pass comes in very handy. This way I can position cards exactly where I need them, and it will look correct from the matchmoved camera.

In fact, a projection setup is important for all the elements that are used for them to stick in the shot correctly. I used the same method to find the exact distance of the glass from the camera, so I could add surface imperfections and reflections on the glass, as well as a curb, to ground the plate better with the CG. These elements help merge the two layers together.

The plate needed a fair amount of grading to match up to the scene. This was tricky since the lighting wasn't ideal. The plate has way too intense specular highlights, while ideally the lights would be much softer and diffuse. this required some grading work on the plate. I also needed to match the hue of the plate to the greener grade of the CG. On set I did use a flag to block out the main light  on my actress to mimic the creature blocking out the light on her as it gets closer, however this effects was not intense enough.

Lastly I added camerashake, lens distortion, and regrain for the shot. The camerashake should in reality be much more intense, but for now the I had to make it less intense because I didn't have enough overscan in my render.

The shot is currently still WIP

Comments (0)

This project doesn't have any comments yet.