This week, I focused on finalising the model and adding textures. Additionally, I also added a last animation using MASH.
I decided to change the base of the model to a more straight surface with ‘windows’ on it and stars as decoration. I tried to add a tinted glass texture to the windows interior so mixed with the surface underneath would look like a translucent glass. Then I added the platform and the dome of the model, and also, I created a ‘mechanism’ based on a comet shape pushing a spinning plank that was holding the handle from rotating (using manual key framing). In addition, I also added some stars rotating around the model using a torus as a reference shape and then positioning and rotating the stars using MASH distribute tool.
Once I had the final model modelled, I started adding textures and lights. I added a space like background to thee interior of the dome and a yellow glow ring to the edge of the dome. Then, I added a brushed metal and gold texture to poles, gears and satellites rings. For the planet’s actual rings (not the satellites rings), I added a texture of a picture of the real rings of Saturn, so they can be differenciated. For the Sun, I added a bubble like texture that when changed to yellow-orangish colour, it looks like the Sun’s surface. I added this texture so the glow did not look that flat pale yellow colour. I also added a more saturated glow to the planets and satellites, and also added some neon yellows, purples, and blues to some edges to make it stand out from the dark background. The base is mostly purple, with wooden window frames, purple translucent glass for the windows, and golden stars for decoration. The handle and the spinning plank are textured in wood and brushed metal, and the comet has like ‘fire’ texture and glow (like I did with the Sun). The base has a wooden floor pattern with a golden edge and a golden trail where the comet rotating mechanism is supposed to be attached.
Space background, neon edges, Sun, planets, and gold/metal star, gears, poles and ringsComet texture and glowFinal texture
This week, we learnt the 3D compositing process to put together plates and CG, to do clean-ups, to regrain, and to do a beauty rebuild with a multipass comp.
The 3D compositing general process looks like the following:
Main plate clean-up and roto work. After finishing the clean-up, it is recommended to render the cleaned plate so we can use this pre-rendered version to do the rest of the comp. This is done so Nuke has less nodes to calculate each time and the preview of the work done goes quicker.
CG compositing. In this part, we can move on with the beauty rebuild, adjusting the AOVs or passes with subtle grade and/or colour correction
Basic grade match. With a ‘grade’ node, we first do the white balance of the CG that we are going to integrate in the plate, measuring the ‘whitepoint’ (whitest part of the CG) and the ‘blackpoint’ (darkest part of the CG) while holding ‘ctrl+shift+alt’. Subsequently, we go to our background plate and measure ‘gain’ (for the whites) and the ‘lift’ (for the darks) while holding ‘ctrl+shift’. This will balance both plate and CG’s darks and shadows and will integrate them together.
Multipass comp. In this technique, we need first to ‘unpremult (all)’ our CG so we can start splitting the AOVs or passes. This split is made using ‘shuffle’ node and setting it to the desired pass we want to correct. Before editing the passes, we need to make sure to structure the nodes from the CG plate to a ‘copy’ node with all passes merged together, and double check that the CG plate looks exactly the same from initial point (original plate) to the ‘copy’ node. Sometimes this may look different as some of the passes could have been exported wrong. Once we split our passes we can proceed to ‘grade’ them individually. We ‘merge (plus)’ the light passes and we ‘merge (multiply)’ the shadows. We can also select an ID to create a colour map with ‘Keylight’ node. With this node we can select a specific area of the model that we want to adjust as its features will be separated in different saturated colour mattes. This way we could then re-texture a part of the model using a ‘ST-map’ node connected to the texture source. We can then re-light with ‘position pass’ and ‘normal pass’, followed by a ‘grade’ of the master CG plate. We can finish our beauty rebuild with a ‘copy (alpha-alpha)’ to copy the original alpha to the one created, and we we ‘premult’.
Motion Blur. Motion blur will add more realism and dynamism to the movement of the CG added as in 3D everything looks sharp and in focus so it is not as realistic. We can add motion blur following two methods:
Method 1: adding a ‘vector blur (rgba)’ node, then link it to ‘camera’, and adjust ‘motion amount’ in the ‘vector blur’ node as desired.
Method 2: ‘remove (keep)’ node linked to ‘motion blur 3d’ nodes, and adjust this last one’s ‘motion amount’ as desired.
Chroma aberrationand defocus. We can add an ‘aberration’ node to match the original camera aberration of the live-footage plate, so we make the scene more credible. Also, with ‘defocus’ node we can add depth to the scene to be able to differentiate between sharp image and out of focus image (depth of field). After adjusting these, we need to add a ‘remove (keep)’ node connected to an ‘ST map’ node to put the original distortion back to the scene.
Regrain. We also could add some grain to the scene with ‘grain’ node. Then with ‘key mix (all)’ node linked to previous changes and ‘grain’, we can mix channels and add a mask to the previous changes made in the comp.
Effect card. We can add effects like smoke with a ‘card’ node. We will need to connect it to ‘shuffle (rgba to rgba with R to alpha)’ node to ‘card’, and ‘grade’ it. Then we ‘copy (alpha to alpha)’ and ‘premult’ to create the alpha of the effect and then we ‘defocus’. This will be projected on a ‘card’ (connected to ‘scene’, ‘scanline render’, and ‘camera’). Finally, we add the ‘ST map’ to unfreeze the frame and ‘multiply’ to show alpha created.
Lightwrap. We use this to add light to the edges, which could be adjusted with ‘diffuse’ and ‘intensity’. Then we will ‘merge (plus)’ as this is light feature.
QC. Using the ‘merge (difference)’ node, we can see and assess the changes made and there is any error. The ‘colour space’ node with the ‘output’ set as ‘HSV’ can be used to check the colours hue (R), saturation (G), and luminance (B) quality.
Final colour correction.
Export. The main preferred format to export our comp would be EXR. Some companies will also want a photo ‘JPEG’, or ‘AppleProRes’, or even ‘Avid DNxHD’, but that depends of the pipeline of each company.
The homework for this week was to start to put together the elements that would form part of our garage comp, and also, include the machine provided by the professor following all the steps we have learnt today.
Following the reference pictures we got with the brief, I started to research for 3D objects I could include such as tools, tyres, a table, etc.
Objects to add to the comp (downloaded from Quixel)
I also decided to re-watch this week’s recording of the lecture to make sure I followed step by step the compositing process. This way, I started to understand the functionality of each node and technique, and to become more confident at the time of creating a whole comp by myself without having to look at references in other comps. The first thing I added was the machine in the back room. I did a beauty rebuilt with the separation of the passes and added a smoke effect with a card 3D projection. I feel like this part went really well as I did not have any issues along the process and the final look is pretty realistic.
Multipass Comp‘Keylight’ node to create a colour map and re-texture specific areaShadows adjust (ambience occlusion, shadow mask, and shadow matte)Re-lighting using normal pass and position passMaster colour correctionMotion blur for the spinning of the wheelsAddition of chroma aberration, defocus, and grain to match live footage plateSmoke effect projecting alpha on a card and masking it with wall roto previously setSmoke card in 3D spaceLight wraps
Garage comp WIP with machine
After my back machine was fully set, I continued to add the 3D geometry to the comp with its textures. One problem that I had with the objects is the fact that they were really heavy and really jumpy when following the movement of the scene so it was hard to work with.
Objects added as a 3D geometry
My work in progress comp looks like the following:
In this lecture, we focused on finishing our Rube Goldberg machine texturing, camera set up, and rendering the final outcome.
I continued adding the last textures and finishing touches of the design, such as the finish lines numbers, and some more neon lights in the edges of the planks and of other components. I also modelled the light bulbs’ buttons to switch them on and textured them with glow.
Neon glow added to the rotating and fixed planksNeon glow added to parts of the domino pieces and rest of featuresNumber 1 and 2 textures added to domino pieces at finish linesButtons modelling and texturingFinal look of finish lines when balls arrive and light bulbs are switched on
Moreover, I decided to animate some arrow lights on the top of the initial ramp to add another point of interest in the animation:
Arrow lights animated on ramp
After I finished with the texturing, I continued to set the camera movement using ‘camera and aim’. This way, I only have to set the ‘translate’ of the camera since the ‘rotation’ is adjusted with the aim. I tried to follow both balls switching priority between one and the other depending on the point of the animation and which one was more important to follow each time. Therefore, I not only framed the scene from the front view but I also made the camera rotate 360 degrees around the machine, showing its back too.
Camera and aim set up with keyframes on ‘translate’
In the last bit of the scene when the second ball has to reach the finish line, I had to reduce the duration of this since it was way too slow. Therefore, I selected all the elements of the scene and in the ‘graph editor’ I scaled down the number of frames required for this last movement. I reduced from 800 to 700 frames. The following video shows a preview of the camera movement I set:
Camera movement preview
When I had my animation fully set, I proceeded to set the render. Thought of adding a chrome textured background with the lighting of the skydome I had previously, however, it turned out to be problematic as there were too many reflections so the render would take too much time to finish. Maya also started to crash every time I tried to preview the render. Therefore, I decided to get rid of this chrome background and leave it with the original workshop background. I just lowered the light a bit so the glows added were more pronounced.
Disregarded dark chrome backgroundRender settingsRender preview with render settings adjusted
I was playing around with ‘Camera (AA)’, ‘Diffuse’, ‘Specular’, and ‘Transmission’ to get the best result without having to render for too long.
After two days rendering, this is the final result:
Final render
I really enjoyed this project and I feel enthusiastic about 3D modelling and animation. I also feel like I could improve the render, amending some details like adding a dark and reflective background to darken the scene and to make the neon lights more visible. However, due to limited time I was not able to do this (but I definitely will if I find some spare time before the end of term 2).
In this lesson, we saw the different techniques that can be used for 3D project, such as patch projection, coverage projection, or nested projection, and we also analysed how to add texture and lighting onto a 3D object as well as the general problems we can encounter with this.
In 3D tracking, we need to try to avoid to include the sky, as it would give us problems later on, in the same way that we avoid objects that move or reflections in roto.
When adding a ‘rotopaint’ to a card in a 3D space, we need to first freeze the frame with a ‘frame hold’ node at the best position in the sequence for visibility and tracking a specific point. Then we add the ‘rotopaint’ or the patch we need, and add another ‘frame hold’ to ‘unfreeze’ the frame. Then we premultiply it to create an alpha and use a ‘project 3D’ node to project it in our card (the ‘project 3D’ node must be connected to the projection camera and another ‘frame hold’ node). Lastly, we connect our card to the ‘scanline render’ node which will be merged with the main plate.
In order to add texture to a ‘card’ in 3D space, we will use the same method as before, but this time we will take the texture or picture that we want to add which we can ‘colour correct’ and ‘grade’ if needed, to then ‘roto’ the part we want to add from it, premultiply it, and with ‘corner pin 2D’ we will place it in the perspective we desire. Then we will ‘transform’ it to the dimensions we want and ‘merge’ it to the main plate after adding a ‘frame hold’. Lastly, we need to ‘copy’ the roto and premultiply it so we can project the alpha to our ‘card’.
If we want to roto something in the scene to change its features (colour correct, grade, etc), we can do the same as we did with the ‘rotopaint’ but in this case we adjust the roto every 10 or 20 frames. We do not need to adjust the roto every frame as it will follow our match move previously done so just a few adjustments should be sufficient.
When we have several 3D projections that we want to put together, we can use ‘Merge mat’ node, as if we use a regular ‘merge’ node, the quality of the image can decrease and look different.
After seeing these 3D projection techniques, we were asked to practice them using the following a footage of a street provided by the lecturer. For example, we could add something on the wall or floor, change the windows texture, colour correct a specific element of the scene, etc. This is the result of my practice:
Rotopaint on wallGraffiti on wallFloor cracks and failed attempt to add a window
When 3D projecting on top of a 3D object or artefact, the types of projections we can use are:
Patch projection
Coverage projection
Nested projection (projection inside another projection)
We can find some issues when doing artefact projections that can be solved we the following techniques:
Stretching problem: texture is stretched and not showing in the correct place. This issue can be fixed adding a second camera projector on top.
Doubling problem: texture is doubled. We can fix it doing two separate projections.
Resolution problem: texture look pixelated. We can use ‘sharpen’ node to solve it, however, we can also use a more efficient solution which is adding ‘reformat’ node and set the ‘type’ as ‘scale’, to then link node to ‘scanline render’ which would be the connected to a second ‘reformat’ node with the resolution of the original plate.
Lastly, we also saw how to build a 3D model taking as a reference a 2D image. Using ‘model builder’ node, we can create and adjust cards following the perspective of the 2D image, to then ‘bake’ this geometry into a 3D space. We can add ‘point light’ nodes to set illumination with different intensity, colours, and cast shadows. Another illumination node is the ‘direct light’ which is used as a filling light directed to a specific point or direction.
Once we finished reviewing this week’s theory, we were also asked to make the roto of the hole in the scene of the Garage project and to remove the markers with patch projections. I made the roto pretty quick and had no issues with it, but I struggled with two specific markers clean up: in the two markers positioned by the hole in the wall, when I added the roto, the patch made with rotopaint was showing outside the roto boundaries (right on top of this roto), so it was showing the wrong patch.
Roto errorFailed attempt to fix the roto on two markers on both sides of the holeInitial node graph set up
After asking the professor for some help, he figured out that I missed the lens distortion node on both the beginning and the end of the clean up set up (to undistorted the scene and the redistort it back).
Final nodes graph set up with correctionRotoscoping node graph of the hole on the wallProjection cards place in 3D space with point cloud as referenceProjection cards placed in 3D spaceRoto split in sections (bottom section)Roto split in sections (right section)Roto split in sections (left section)Roto split in sections (rope section)Roto split in sections (lamp section)
Another issue I noticed is that the patches added on the floor marks were showing through the roto of the wall. I asked the professor again and found out that this part needs to be merged differently as it is outside the roto. So added a ‘merge (stencil)’ just to these part of the clean-up, then ‘shuffle (alpha-alpha)’ and connected it to the roto ‘scanline render’ node. This will create an stencil of the patches taking the roto as reference and it will not show through the wall.
Clean-up cards visible through roto error‘shuffle’ node set upError corrected with ‘merge (stencil)’
Final clean-up + roto
I had a lot of troubles with this homework and spent a lot of time trying to figure out why it was not working, but I feel that this struggle was useful to familiarise a bit more and feel more confident towards the nodes system used in Nuke.
This week, we focused on baking our bullet simulation to proceed to add texture and set our camera movement.
After all the bullet system is built and set up, we need to bake the simulation so the programme creates the animation’s keyframes of each active rigid body. In order to do this, I selected all the active rigid bodies, then selected ‘Bake Simulation’ on ‘Edit->Keys’ tab. Once Maya has created the keyframes of each element and since we no longer need the bullet system set up, I selected ‘Delete Entire Bullet System’ on ‘Bullet’ tab so all the bullet elements are deleted. I also manually animated with keyframes the background gears since I struggled a bit trying to animate them with bullet; every time I added a new hinge, the whole animation stopped working as I had it set up so it was really time consuming to adjust it all over again each time.
After baking the simulation, I proceeded to texture my design. I liked the cyberpunk mixed with steampunk look that my machine was getting and decided to add some metal textures such as copper, gold, chrome, and brushed metal, as well as glass texture on the helix slide, on the top part of the machine and on the light bulbs. These reflective materials gave me the opportunity to add glow to the balls and to some parts of some elements such as to the ring holders of the helix slide, to some neons on the finish line, and to the filaments of the light bulbs. The following examples inspired me with the colours, mood, and composition of the scene.
Before adding the textures, I searched an HDR in polyhaven.com and downloaded a wood workshop HDR with low and warm light conditions. I wanted to give the feeling that this machine was made in this workshop from random materials found in it. I also researched textures and references like wood, old gears and light bulbs:
Wood workshopPlanks wood textureMetal texture with marksUntreated wood textureBase wood textureVintage number 1Vintage number 2
I also found a tutorial in YouTube of how to make glow effect:
https://www.youtube.com/watch?v=E9iIf95BCQ4
The following sequence of rendered previews show the textures I used:
Wood texture for the baseGlass texture for the top with pink reflections (specular)Glass texture for helix slide with yellow reflections (specular)Copper, gold, chrome, and brushed metal texture for gearsI tried adding a bump map but this texture look too exaggeratedFirst texture attemptSecond texture attempt – it feels more subtle with just a few marksChrome texture for the second slideYellow and pink neon glow for the ballsNeon loops that would function as ‘holders’ of the glass slideWood texture for spinning planks – UV adjustment so the wood lines look vertically instead of horizontallyChrome texture for fixed planks so it reflects the glow of the ballNeon sides in the spinning planks so they are more visually appealingNeon lights added to the finish lines and light bulbs with glass texture and neon glow in the inside filaments
The light bulbs were modelled and textured later on as I thought that the space at the end of the base was looking a bit empty and boring. So I modelled them with the idea that they would turn on when the ball hits the finish line planks and a switch is triggered. I modelled the base and outer side of an old school light bulb and added inside the filaments that I textured separately to give the glow effect. Also the glass of the light bulb is doubled so it gives this thickness and volume effect.
I could not finish the final design this week as I added more elements of what I initially planned and it took me longer than expected, but overall I am very happy with how this is turning out.
Textures and HDR:
Base wood texture and planks wood texture – https://polyhaven.com/a/wood_cabinet_worn_long
Metal texture with marks – https://quixel.com/megascans/home?category=imperfection&search=metal&assetId=uh4obghc
This week, we learnt how to add a UV texture to an organic model, a human face in this case, using both Maya and Mudbox.
In Maya, we imported the skin texture to the project. Then we created a UV map from the model in the ‘UV Editor’, and using the ‘grab’ tool, we started to adjust the UV map to the texture imported. Since the texture imported was designed for models with opened eyes (ours had the eyes closed), we exported it to Mudbox and, using the stamp tool (similar tool to Photoshop stamp), we edited the texture to match the closed eyes of our model. Once finished, we imported the edited texture back to Maya and re-adjusted it. Since the texture was looking completely flat, we added a bump map using the ‘Hypershade’ to add the pores, marks, and facial lines effect to the skin. Finally, we also added a UV map texture to the eyes and, using the ‘Animation editor’ we opened the eyelids of the model so we could see the eyes’ texture.
UV mapSkin texture adjustmentSkin texture with open eyesEyes skin area adjusted to closed eyesEye animation (open/closed) using blend shapesEyes textureFinal texture sequence
I had some issues with the UV map as my model mesh needed to be adjusted in the middle part of the nose (I had some triangulated mesh there so needed to make it squared and follow the rows and columns of squares, to make it more symmetric). Once adjusted, the UV map started to respond better and I could adjust the skin texture more accurately.
This week we finished up our air balloon adding UV textures.
We learnt how to set up a UV map with the ‘UV Editor’ from an object so the texture looks realistic when added. Later on, we downloaded some textures and added them the the UV map created on each part of the balloon. We also changed their appearance playing around with ‘colour’, ‘specular’, ‘transmission’, ‘geometry’, etc. As these images look too flat and no too realistic, we created a ‘bump map’ using the ‘hypershade’ editor to add more detail to the texture. In the ‘hypershade’ editor we also saw how to join different nods to create different texture effects. Lastly, we created a short animation of the model, spinning the air balloon 360 degrees and showing only the object and not the background, and then rendered it in EXR. This would be used in our Nuke class as alpha matte to make a composite with it.
Final texture close up of ropes and top balloonBurners texture close upBasket texture
Final 360 spin render
Since I am interested in focusing on modelling and texturing in Maya, this was a good practice to improve my knowledge on this. I look forward to explore more organic modelling and all its possibilities.