Categories
Final Project

WEEK 15 – Reflecting on the Journey

Working on my final year project has been an incredible experience. It was the longest and most challenging project I’ve ever done, and honestly, managing everything was tough at times. But looking back, I’m so proud of how it turned out. I couldn’t have done it without the help of George and Serra who gave me tons of useful feedback to make the project what it is today.

The process started with a lot of planning. I spent time working on the story and figuring out how I wanted the film to look. Storyboarding was my first big step, it helped me organize the flow of the film and decide on things like camera angles and the mood of each shot. I wanted the story to feel engaging and clear, so I kept revising my boards and ideas until I was happy with them. Serra really helped me fine-tune things and get everything on the right track.

Once I had the story down, I dove into animation and building the scenes. For the animation, I used motion capture with the Rokoko suit to record realistic movements for the robot character. But capturing the data was just the start, I spent a lot of time cleaning up the animation, fixing issues like stiff movements, and making sure everything looked smooth and natural. George gave me great advice on this, like how to adjust timing or improve the weight shifts to make the actions feel believable.

On the environment side, I modelled most of the props myself, but I also mixed in some pre-made assets to save time. It was a bit tricky to make everything look cohesive since I wanted the world to feel like one unified space. I added small details, like wires and scratches, to make the scenes feel more real. For the terrains, I used Gaea, which let me design realistic landscapes with nice details like erosion and texture blending. Once I had the terrains, I used Houdini to turn them into 3D models and optimize them so they’d work well in my scenes.

Trees were another important part of the environment. I made different types of trees, like cypress, oak, and sugar maple, using SpeedTree. I created about 8 to 10 variations with different shapes and leaf densities to avoid making the forest look repetitive. SpeedTree made it easier to tweak things like branch curves and leaf placement, and I made sure the trees would look good under different lighting conditions.

Lighting was one of the most detailed parts of the project. I used different lighting setups depending on the mood of each scene. For example, when the time-travel device glitches, I added red lighting to make it feel intense, and for normal operation, I used blue to show stability. I also used atmospheric effects, like haze, to add depth. A big challenge was making sure the lighting matched across different shots, especially since some scenes were rendered in Unreal Engine and others in Redshift.

Rendering was probably the hardest part of the project. I wanted high-quality results, so I used path tracing for some scenes, but it made the render times really long. The school render farm only had two computers that could handle GPU rendering, so I had to juggle between those, my laptop, and other school computers to get everything done. Sometimes renders failed, and I had to re-do them, but in the end, it all came together.

After rendering, I brought everything into Nuke for compositing. Nuke let me fix small issues, like cleaning up noise in reflections, and add final touches like motion blur and depth effects. I even added a sky to my establishing shot in post-production. Then, I exported the shots and edited them all together in Premiere Pro. Finding the right soundtrack was harder than I expected, I wanted something that felt epic and matched the sci-fi vibe of the film, but it also had to be royalty-free. After a lot of searching, I finally found the perfect music and added sound effects, like the time-travel explosion, to tie everything together.

This project taught me so much. It wasn’t easy managing all the moving parts, especially over such a long period, but I’ve learned a ton about storytelling, animation, and technical workflows. I’m really thankful for George and Serra’s support, they helped me push through the challenges and improve my work. I had a great time working on this project, and I can’t wait to showcase my film and see how people react to it.

Categories
Final Project

WEEK 14 – Rendering, Compositing, and Final Edits

This week, I focused on rendering my shots, cleaning them up in Nuke, and finishing the final edits in Premiere Pro.

Rendering the Shots

I started rendering my shots and had to figure out how to avoid noise while getting high-quality results. Setting up the rendering process had its challenges:

  • Render Farm Issues: LCC only has two computers that support GPU rendering, and since Redshift only works with GPUs, I had to constantly monitor the render farm. I used remote access to keep an eye on the renders, but sometimes they would fail, so I’m glad I gave myself extra time to fix these issues.
  • Using Multiple Systems: To save time, I split the rendering work between the school’s render farm, my laptop, and other school computers. Some shots had problems in the final renders, so I had to go back, adjust things, and re-render them.

Compositing in Nuke

Once the renders were ready, I imported the EXRs into Nuke for compositing. I created a template to make the process consistent for all the shots:

  • Noise Cleanup: Some AOVs had noise in areas like reflections. It wasn’t subsurface scattering or diffuse lighting, but another pass I can’t recall right now. Using Nuke, I cleaned up the noise by roto-mapping and painting over the affected areas.
  • Adding Depth with Z-Depth: I used the Z-depth pass to add more depth to several shots. For example, I adjusted the focus on specific elements to make them stand out while blurring the background slightly. This helped make the scenes look more realistic.
  • Adding the Sky: For the establishing shot, I added a sky to complete the environment and tie everything together.
  • Motion Blur: I applied motion blur to make the movements in the shots look smoother and more realistic.

After cleaning and compositing everything, I exported the shots in TIFF format.

Final Edits in Premiere Pro

In Premiere Pro, I brought everything together:

  • Soundtrack Selection: Finding the right soundtrack took a lot of time. I needed something royalty-free and free to use that matched the epic sci-fi feel I was going for. It also had to build tension and anticipation. After a long search, I finally found one that worked perfectly.
  • Transitions: I kept the transitions simple, using fades to black to maintain a clean and smooth flow between shots.
  • Sound Effects: I added key sound effects, like the sound of an explosion toward the end, to make the scenes more dramatic.

Categories
Final Project

WEEK 13 – Texturing, Lighting, and Rendering Progress

This week, I focused on texturing the props and room, refining the lighting setup, and beginning the rendering process for my project.

Texturing with UDIM Workflow

Texturing the room and props was a major task, and I used the UDIM workflow to ensure high-quality textures and renders. In simple terms, UDIM allows you to split a model’s UV map into multiple tiles instead of cramming everything into a single UV space. This method provides more resolution and detail for texturing larger or more complex models.

Here’s how I approached it:

  1. UV Mapping: I unwrapped the models, ensuring clean and efficient UV layouts.
  2. Tiling for UDIM: I divided the UVs across multiple tiles, each acting as its own texture map.
  3. Texturing in Substance Painter: I imported the models into Substance Painter, baked the textures, and began texturing.

I love texturing, and for this project, I aimed for a sci-fi aesthetic. That meant focusing on metallic surfaces with reflective properties, scratches, and dark grey tones. Once the texturing was done, I exported the maps and set up the shaders in Maya using Redshift materials.

Shader Setup in Maya

In Hypershade, I used Redshift materials to create realistic surfaces. The textures I exported from Substance Painter (like albedo, roughness, metallic, and normal maps) were plugged into the appropriate slots. This gave the materials their reflective, worn sci-fi look while maintaining efficiency for rendering.

Lighting the Scene

Lighting the scene required a lot of attention to detail. I’ve been adding basic lights throughout the process, but this week, I took a deeper dive into creating a cohesive and atmospheric lighting setup.

  1. Character and Object Focus: I used lights strategically to draw attention to key parts of the scene, like the robot and props.
  2. Dynamic Lighting for the Device:
    • When the time-travel machine glitches, I added red lighting effects to reflect the malfunction. I ensured this dynamic lighting matched the scene by adding animated red highlights on the character and surrounding objects.
    • For the machine’s functioning moments, I used blue lighting to indicate stability and progress, carefully matching these colours across the scene.
  3. Atmospheric Volume: To create a hazy and immersive atmosphere, I added volumetric lighting. This added depth and mood to the environment.

I also worked hard to match the lighting to the tone of my Unreal Engine establishing shot. It was tricky to balance everything, but I’m happy with the result.

Rendering with AOVs

I started rendering the scene and included AOVs (Arbitrary Output Variables) in the renders. AOVs are essentially render passes that give control over individual elements like lighting, reflections, and shadows. I’ll use these in Nuke for post-production to fine-tune the look and make adjustments.

This week was all about tying everything together textures, shaders, and lighting to get closer to a polished final result.

Categories
Final Project

WEEK 12 – Rendering the Establishing Shot and Refining Animations

This week, I focused on rendering my establishing shot in Unreal Engine and continued refining some key animation shots.

Rendering Challenges in Unreal Engine

Rendering the establishing shot in Unreal Engine turned out to be more challenging than I had anticipated. I started with lumen and ray tracing, but the results had a look close to games that didn’t match the realistic style I was aiming for. This was frustrating, as I had spent a lot of time working in Unreal Engine and wanted this piece to showcase its capabilities in my showreel.

Serra worked closely with me to explore different rendering techniques. We experimented with various settings, but it was tricky to find the right balance. I rendered EXRs to allow for post-production adjustments, but the discrepancies between what I saw in the viewport and the rendered output made the process even harder.

Eventually, I decided to use path tracing. While it took much longer to render about 20-24 hours it gave me the realistic results I was looking for. Even then, there were technical issues with the rendering process, but Serra helped simplify the settings, making everything more manageable.

Animation Refinements 1.2

Alongside rendering, I continued making tweaks to the animation based on George’s feedback. These adjustments were focused on making the motions smoother and more natural:

  • Turning Scene:
    After fixing the weight shift, George told me that the robot was exiting the frame too quickly. To address this, I added 10-20 more frames, slowing the movement down for better pacing.
  • Picking Up the Blower:
    I tilted the blower for a more natural motion, but the timing still felt off. To improve it, I added more frames to slow the action and make it flow better.
  • Pressing the Blower:
    In this shot, the timing of the thumb press needed work. I adjusted the motion so the robot’s hand reached the button sooner and tightened the overall timing for a snappier action.

Basic Lighting

In addition to rendering and animation, I worked on basic lighting for the scene. This step helped set the tone and added depth to the environment, complementing the refined animations and rendered visuals.

Categories
Final Project

WEEK 11 – Building the Environment and Refining Animations

This week, I focused on developing the environment for the remaining scenes and continued refining the animations based on George’s feedback. The process involved polishing earlier work, adding more props, and ensuring the entire project looked cohesive and well-integrated.

Environment Updates

Over the summer, I had created rough layouts and modelled the basic structures of the environment. As the project progressed, I worked on polishing these elements and adding more details. I modelled most of the props myself, including the room, but for some smaller items, I used pre-made assets to save time. However, picking the right props for each shot was challenging. I had to ensure that everything worked together visually and didn’t feel like random elements from different projects. It was important to make the environment feel cohesive and consistent with the story’s tone.

One detail that made a big difference was the addition of wires. It might sound simple, but the wires added a lot of depth and helped bring the environment to life. They tied everything together and made the scenes feel more complete.

Animation Challenges 1.1

While finalizing the environment, I continued working on the animations and addressing some lingering issues:

  • The Turning Scene:
    Even after applying George’s earlier feedback, the robot’s turning motion still felt unnatural. The hips and weight shift were tricky to fix, and the robot often moved awkwardly or clipped through the camera. After additional adjustments and guidance from George, I managed to improve the motion, making it feel more balanced. At one point, we even considered deleting the turn altogether, but since the camera animation transitions through this moment, focusing on the wires before moving to the next shot, we decided to keep it and refine it further.
  • Picking Up the Blower:
    This scene also had its share of challenges. Initially, the blower’s rotation was incorrect, and it moved toward the camera in an unrealistic way. I reworked the motion and adjusted the placement to ensure it felt more natural within the scene.
  • Pressing the Blower:
    Another tricky part was getting the thumb press right when the robot pushes the blower. The timing felt off, and it didn’t look convincing. George helped me by sketching over my animation to show how the motion should flow. With his input, I adjusted the timing, and the scene started to come together.

Balancing the Process

Between refining the animations and building the environment, this week required a lot of attention to detail. Making sure the props, animations, and camera transitions all worked cohesively was a challenging but rewarding task. The tweaks and adjustments were small, but they made a big difference in tying everything together and creating a polished result.

Categories
Final Project

WEEK 10 – Refining the Animation with George

This week, I focused on improving the animation by addressing feedback I received during my weekly sessions with George. Showing him my work regularly was incredibly helpful to ensure everything was progressing smoothly. Although I used mocap for the base animation, cleaning up the movements was a significant part of the process.

Fixing the Establishing Shot

One of the first things George pointed out was a strange zoom-in motion in the establishing shot. It felt unnatural and disrupted the flow of the scene, so I removed it and adjusted the framing to make the shot feel more grounded. Another important suggestion was adding a shot of a picture frame to show the robot thinking about its family. This new shot added emotional depth and helped clarify the robot’s motivation.

Challenging Scenes to Clean Up

Cleaning up the mocap data was a challenge, especially in three specific scenes:

  1. The Robot Turning Around
    In this scene, the robot stands up and turns, but my first attempt was extremely rough. The motion looked unnatural it stood, slid awkwardly, and lacked balance. George advised me to rotate the hips properly and fix the weight shift. The robot had to transition smoothly without wobbling or sliding unnaturally. After several adjustments, I managed to create a more balanced and realistic motion.
  2. The Hunched Robot
    In another scene, the robot is trying to save everything, but its pose was overly hunched with the knees bent too much. George helped me adjust the posture to make the robot look more determined and less awkward. Small fixes to the angles and overall silhouette made a huge difference.
  3. Picking Up the Blower
    This was one of the most difficult shots to clean up. Initially, the motion was too stiff, with the robot’s hand moving in a straight line to grab the blower. George suggested adding a curved motion for the arm and bending the hand slightly to make it look more natural. He also recommended adding anticipation by having the fingers open just before grabbing the blower. Tilting the blower slightly as it was picked up gave the shot a more realistic feel, improving its overall impact.
Categories
Final Project

WEEK 9 – Using Motion Capture for Animation

This week, I worked on animating my character using motion capture. I chose mocap because it offers realistic movements, and it was also a skill I wanted to improve.

Switching to Rokoko Mocap

For this project, I decided to use Rokoko for mocap. Last term, I used VICON, but it didn’t work well for me, so I wanted to try something new. Roos guided me through the Rokoko setup, which was a smooth process.

I asked my best friend and flatmate to act out the motions for me. This was important because I needed to observe the performances from an outside perspective and ensure they matched the story. I showed her my previs and storyboards before we began, and we spent about 2–3 hours recording the movements. We also tried recording face mocap data, even though I didn’t use it in this project.

Processing the Data in Maya

After recording, I imported the mocap data into Maya. Using HumanIK, I mapped the mocap to a simple rig I had prepared for my character. The retargeting process included:

  1. Importing the Rokoko data into Maya.
  2. Setting up the source skeleton and linking it to my character’s rig using HumanIK.
  3. Adjusting the motion to align correctly with the character.
  4. Baking the animation onto the rig for final use.

Refining and Integrating the Animation

Once the data was retargeted, I referenced the animations into my scenes. I used animation layers in Maya to clean up the motions and ensure they fit the context of each shot. This step was time-consuming but essential for making the animations look polished.

Using Rokoko mocap allowed me to create natural movements that enhanced the overall quality of the animation. It was a valuable process, and I learned a lot along the way.

Categories
Final Project

WEEK 8 – Creating the Blower: A Key Element in the Story

This week, I focused on designing and modelling the blower, an important device in the story. Since it plays a critical role in the plot where the robot has to use it, I needed to give it a lot of attention to make sure it looked functional and fit well within the world I was building.

Finding the Right Tools and Techniques

To help me approach the project, I discovered Duard Mostert’s course on using Fusion 360 for hard surface modelling and Substance Painter for texturing. This course was exactly what I needed to develop the skills for designing the blower. It guided me through creating detailed models and applying textures effectively to make them look realistic.

Modelling the Blower

I started by collecting references for machines that resembled what I wanted to create. These references helped me visualize how the blower should look and function. Then, I used Fusion 360 to build the model with a focus on hard surface techniques. The software made it easier to create clean, precise designs that looked like they could exist in the real world.

Texturing in Substance Painter

Once the modelling was done, I moved to Substance Painter for texturing. I wanted the blower to look realistic, so I spent time adding small details like scratches, wear, and subtle colour variations. These textures made the model feel grounded and gave it a sense of use.

Final Preparation for the Scene

After finishing the textures, I exported the model and its materials to prepare it for rendering in Redshift. This step ensured that the blower would integrate smoothly into the project and maintain a high level of detail.

The blower was one of the most challenging parts of the project so far, but it was also rewarding to see it come together. It ended up being an essential part of the story and a great opportunity to refine my modelling and texturing skills.

Categories
Final Project

WEEK 7 – Designing the Brutalist Base Entrance with Sci-Fi Details

The base entrance was one of the most important elements of my establishing shot. I wanted it to reflect a brutalist architectural style, blending the futuristic with the human, while also staying true to the sci-fi theme of the story. Inspirations like Star Wars influenced my vision of a structure that felt both advanced and grounded.

Gathering References and Sketching Concepts

Since last winter, I’ve been collecting references of brutalist architecture and sci-fi designs to create a unique, cohesive style for the entrance. I even sketched out some building concepts to better understand the forms and structures I wanted. While these sketches guided my design, I also used two pre-made models from Kitbash. These fit seamlessly into my vision and saved time while ensuring the overall aesthetic was consistent.

Modelling and Adding Details

I began by creating the basic structure in Maya, keeping the geometry clean and functional. Once I was satisfied with the foundation, I moved into Houdini to enhance the model using the Gribble tool. This tool allowed me to add intricate mechanical textures and patterns, giving the entrance its futuristic and detailed look.

Balancing detail with efficiency was a key focus. Overloading the model with excessive geometry could have slowed down the project, so I made sure to optimize the details while retaining the visual impact.

UV Mapping and Finalizing the Design

After completing the detailing, I UV-mapped the structure in Maya to prepare it for texturing. This ensured that the textures would align perfectly with the geometry, enhancing the overall realism. The process gave the base entrance a polished and cohesive look, making it one of the standout elements of the scene.

The Finished Look

With the combination of original modelling, Kitbash elements, and attention to detail, the base entrance became a visually striking piece. It successfully conveyed the brutalist, sci-fi aesthetic I aimed for, setting the tone for the environment and providing a strong visual anchor for the establishing shot.

Categories
Final Project

WEEK 6 – Bringing Terrains and Trees to Life in Unreal Engine

Importing the terrains and trees into Unreal Engine was an exciting part of the project, but it didn’t go as smoothly as I hoped. While Unreal Engine is a great platform for creating immersive environments, getting everything to work as intended required some troubleshooting and adjustments.

Tree Import Challenges

My first attempt at importing the trees from SpeedTree didn’t go well. I used the same workflow I’d previously used in Maya, relying on opacity maps to mask the leaves. However, this caused a strange issue in Unreal Engine. When the camera got close to the trees, the edges of the leaves blurred and even changed colour, which completely ruined the look of the scene.

Serra and I worked together to figure out what was going wrong. Initially, we thought it was a camera issue, but after digging deeper, we discovered the problem was in the material setup. Once I re-exported the trees from SpeedTree, this time using settings optimized for Unreal Engine, everything looked great. Seeing the trees finally appear correctly in the scene was such a relief.

Building a Realistic Environment

With the tree issues resolved, I started refining the environment. I used procedural texturing in Unreal Engine to add variety to the terrain. By layering materials like grass, soil, and rock, I was able to create smooth transitions that made the environment feel more realistic and natural.

Finally, I used Unreal Engine’s foliage mode to place the trees on the terrain. It took a lot of trial and error to distribute them evenly and make the scene look balanced, but the end result was worth the effort. Watching the environment come together was incredibly satisfying and made the work feel rewarding.

This week reminded me that sometimes workflows need to be adjusted for different tools, and patience is key when things don’t work out immediately. Solving these challenges gave me a deeper understanding of how to use Unreal Engine effectively.