Categories
3D Computer Animation Fundamental immersion

Week 11: Final Polish

Project Progress

Animation

I have been working on completing the animation in Unreal Engine (UE), though there are still several aspects that require refinement. Specifically, the movements of the fish, including spinning, swimming, eye rotation, and fin movement, need further adjustments. The shark animation, in particular, presents challenges as its movements appear slightly laggy, with certain sequences exhibiting unnatural or awkward behavior.

Enhancing Visual Coherence in UE

Additionally, I am considering modifying the color of the shark. Its current color scheme does not harmonize well with the surrounding environment, and this change aims to enhance visual coherence and overall aesthetic appeal.

Realigning the Narrative: Refining Story and Animation Adjustments

An interesting realization emerged after reviewing the current version of my animation: the storyline has inadvertently diverged from my original concept. Initially, the narrative aimed to depict a fish venturing into a new world, grappling with its fear of unfamiliar fish, and ultimately overcoming this fear to form a friendship.

However, by replacing the “stranger fish” with a shark, the story’s tone shifted significantly. The shark’s behavior now suggests a predatory pursuit, emphasizing a chase rather than the fish’s journey of overcoming internal fears. This adjustment has unintentionally altered the focus of the narrative.

To address this, I have decided to modify the ending slightly. By incorporating a friendly smile and wave from the shark, I aim to realign the story with the original theme of overcoming fear and fostering connection. Although the animation for this adjustment is currently somewhat laggy, I plan to refine and smooth it in the next stages of development.

Progress on the Cape

For the final step of my animation, I needed to incorporate a transparent cape for the fish. Initially, I attempted to create this effect in Unreal Engine (UE), but I encountered difficulties in editing it within the Sequencer, which hindered my ability to synchronize it with the animation. As a result, I decided to use nCloth in Maya to simulate the cape. Afterward, I exported the cape to UE using a process similar to the one I used for transferring the animations of the fish and shark. This involved first exporting the cape as a skeletal mesh without animation from Maya and importing it into UE. Then, I imported the version with animation by referencing the same skeletal mesh.

Rendering

During my experimentation with rendering, I tested various settings, including 4K and 16K resolutions, and explored options such as the “Game Override” setting to evaluate performance. I was particularly impressed by Unreal Engine’s rendering efficiency. It completed the rendering of a 30-second animation within a few minutes, even at higher resolutions. This speed is remarkable compared to Maya, which, despite utilizing a network of 10 computers simultaneously, can require 5–6 hours or even an entire day for a similar task. Reflecting on my undergraduate studies in Hong Kong, I recall spending entire nights in the computer lab waiting for renders to finish. The efficiency of Unreal Engine is truly transformative in comparison.

Categories
3D Computer Animation Fundamental immersion

Week 10: Post Processing& Rendering in UE

Lesson Today

In today’s lesson, we explored several post-processing techniques that can be used to enhance the final render:

1. Post-Processing Adjustments

  • Temperature: Adjusting the warmth or coolness of the scene.
  • Color Grading: Modifying the overall color tone to achieve the desired look.
  • Shadowing: Refining shadows for a more realistic appearance.
  • Bloom: Adding a glow effect, particularly useful when light sources such as the sun are present in the scene.
  • Lens Flare: Visible when strong light sources (like the sun) are included in the scene.
  • Grain: Applied to fix noise issues in the render.
    • Plugins can be used for de-noising to enhance render quality.

2. Rendering Settings

  • Console Commands (CMD): These commands allow you to frequently change render settings.
    • Example: To render a high-resolution shot, use the command cm: highresshot 1920 x 1080.
  • Photoshop for Color Fixing: Once the screenshot is captured, you can use Photoshop to fine-tune the color settings:
    • Steps:
      1. Import the screenshot into Photoshop.
      2. Adjust the colors using a layer mask (e.g., saturation, contrast).
      3. After completing the adjustments, apply the layer mask to the LUT (Look-Up Table).
      4. Export the LUT as a PNG for further use in the project.

3. Render Quality Settings

  • Spatial Sample Count & Temporal Sample Count (default value: 8):
    • Spatial Sample Count: Increased for environments or when the camera is static but the character moves quickly. Higher values improve the rendering quality but also increase render time.
    • Temporal Sample Count: Increased for scenes with character movement to reduce motion blur and improve smoothness. This can be adjusted via the command r.TemporalAASamples 464.
  • Render Warm-up Count: This setting allows the system time to prepare before the actual rendering starts, improving overall render quality.
  • Game Overrides: Console variables are used to control various settings, such as motion blur quality or other visual aspects. These variables allow you to define percentage values for specific features.

4. Additional Render Settings

  • Cinematic Settings: Setting everything to Cinematic results in higher rendering quality.
    • This can be done under the Scalability Settings in the rendering menu.
  • Frame Rate: Adjust the frame rate within the settings menu for smoother animation.
  • Render Output Location: You can change the location where the render output is saved, ensuring your files are organized.

5. Rendering Locally

  • For efficiency and speed, it is recommended to render locally rather than over the network.

Project Progress

Animation

As previously mentioned, I attempted to animate using Unreal Engine due to issues encountered when attempting to convert the file from Maya to Unreal Engine.

Challenges in Unreal Engine Animation and Transitioning Back to Maya

The video above illustrates the challenges I faced while working with Unreal Engine, as I was only able to produce a result like this.

I encountered several constraints and difficulties when animating in Unreal Engine. Given my limited familiarity with the software, I struggled to locate certain settings and functions, such as animating the fish’s tail within a hierarchy or controlling the graph editor. Additionally, there is a lack of comprehensive animation tutorials for Unreal Engine in comparison to Maya. As a result, I decided to revert to animating in Maya and then converting the files for use in Unreal Engine.

I attempted to select the skeleton root of the fish rig in Maya, bake the animation, and then export the animations to Unreal Engine.


Although further modifications are still required, the result appears improved compared to the previous version.

Shark Model

This image has an empty alt attribute; its file name is Screenshot-2024-11-25-at-3.47.05-PM.png

Shark: Choice of Colour

I modeled a new shark and performed initial texture tests to evaluate its appearance and fit with the design. Further refinements are planned based on testing outcomes.

Initially, I textured the shark in purple to match the background environment. However, this made it difficult to differentiate the shark from the background, reducing its visibility.

I experimented with various brush strokes in Procreate and found one particularly interesting. However, the result did not align with the overall animation style or the appearance of the other fish.

I opted for a plain texture in a lighter blue, ensuring better contrast with the environment in Unreal Engine.

Categories
3D Computer Animation Fundamental immersion

Week 8: Dynamic Lighting UE

Lesson Today

In today’s lesson, we explored various lighting techniques in Unreal Engine (UE), alongside some modeling methods.

Although I have previously studied lighting in my prior courses, I continue to find it fascinating, as it encompasses more than just the light we perceive. When creating or adjusting lighting, several factors must be considered, including:

  • Shadowing (with softer angles)
  • Ray tracing
  • Reflections
  • Source angles
  • Direct lighting & Indirect lighting
  • Bounced light

Each of these elements plays a critical role in achieving a realistic and dynamic lighting environment.

Project Progress

Environment

I tried to modify the colours of the environment to make it look more vibrant.

Before

After

Animation

I did some brief animating in UE specially for position and timing. All the details will be fixed afterward.

Categories
3D Computer Animation Fundamental immersion

Week 7: UE catchup

Lesson Today

Since today was designated for feedback, I implemented revisions based on my tutor’s guidance and recommendations.

Project Progress

The changes and progress of my project are outlined as follows.

Model and Rigging for the other character

For the secondary fish interacting with the main character, I conducted online research to determine suitable fish models. Initially, I aimed to select more realistic fish models to contrast with the main character. This distinction helps convey to the audience that the main fish, feeling different from the others, is anxious about its unfamiliar environment. The following are a few models I have considered.

However, even if the other fish have different styles or color schemes from the main character, their similar species may make it challenging to convey the protagonist’s fear effectively, especially within a 30-second animation. Therefore, I decided to use a shark as the other character to communicate this idea more directly.

Animation

I tested the timing and positioning of the fish in Maya. To assist with this, I saved the UE environment as an FBX file and imported it into Maya, using it as a reference for the distance the fish need to move and the appropriate scaling.

However, I encountered several issues:

  1. I struggled to achieve accurate sizing and positioning for the fish.
    • Despite adjustments, the camera angle in Maya remains noticeably different from the one in UE.

2. I was unable to import the animation from Maya into UE.

  • There seem to be issues with the rig or model that prevent me from importing the fish into UE (with the rig and animation separately), as it repeatedly flags naming issues.

  • I attempted several methods in Maya, such as combining meshes, deleting history, adjusting skeleton hierarchy naming or namespaces, and modifying various settings. Despite these efforts, the animation still cannot be imported into UE.

After multiple attempts to resolve this issue without success, I decided to create the animations directly in UE. I am now in the process of re-rigging the fish within UE.

Categories
3D Computer Animation Fundamental immersion

Week 6: UE ControlRig

Lesson Today

In today’s lesson, we explored the rigging process for an octopus, a dragon, and a character within Unreal Engine (UE). Rigging involves adding a skeletal structure and control systems to a model to enable animation in the subsequent stages. I find rigging in UE both intriguing and challenging. Although various plugins in UE streamline the rigging process, it remains difficult to retain and apply the required blueprint configurations, which are essential for effective rigging. I believe additional practice would enhance my proficiency in this area.

Project Progress

I utilized an alternative model and integrated plugins to construct the environment, as the previously downloaded file was an HDMI image, which did not meet the project requirements. This format restricted character movement around rocks and corals, which is essential for achieving a realistic effect. Consequently, I opted to modify my approach.

Environment and Camera Angle

Using the available resources, I arranged models and configured elements such as lighting, god rays, shadows, and cameras. This version represents an initial test of the environment setup.I utilized an alternative model and integrated plugins to construct the environment, as the previously downloaded file was an HDMI image, which did not meet the project requirements. This format restricted character movement around rocks and corals, which is essential for achieving a realistic effect.

Consequently, I opted to modify my approach. Using the available resources, I arranged models and configured elements such as lighting, god rays, shadows, and cameras. This version represents an initial test of the environment setup.

At present, I am satisfied with the results and plan to proceed with blocking the animation for the character, particularly the fish.

However, I encountered an issue when reopening Unreal Engine on a different computer, as the downloaded textures for the models and surfaces were missing. I plan to seek a solution for this issue through online resources and by consulting my tutor.

Animatic

Before beginning the animation of the fish, I created an animatic to provide a preview of the character’s movement and camera angles. This process aids in better planning for the animation, as I am using Maya to create the animation and Unreal Engine to build the environment.

Rigging

I attempted to rig the fish I had previously found, but encountered some issues in the process. Due to its shape and the fact that it was sculpted, I had difficulty inputting the skeleton (the bones highlighted in white) into the model.

The “fins” of the fish were not moving correctly with the controllers. I have decided to use a different model for my animation to determine whether the same issues persist.

This rig appears more suitable for use, as it allows me to add controllers to enhance the animation.

For my fish texture, I plan to use purple as the main colour for the environment and yellow for the fish, creating a strong contrast that helps the fish stand out from the background. This approach is inspired by the color palette in the following padlet.

I am going to change the main colour for the environment after I solved the texture issue in Unreal Engine.

I tried to reference the colour from the colour padlet above, but it does not really give a good result and rather seems like the sea was poisonous or cursed. I would continue experimenting with the colours by importing the fish to the environment together with doing the animation,

Categories
3D Computer Animation Fundamental immersion

Week 5: Physics Planning

Lesson Today

In today’s lesson, we conducted tests on the physics system within Unreal Engine (UE), specifically focusing on fracturing models, constraining them, and recording the resulting animations in two distinct ways. This process allows for the rendering of animations and enables further editing post-production.

I found the lesson particularly useful as it built upon concepts I had previously learned in Maya, although the approach in UE differs significantly. Additionally, learning the recording process within UE’s sequencer, where animation properties such as location, rotation, and scale can be edited on a timeline, was highly beneficial for future animation editing.

Project Progress

This week, my focus will be on selecting an appropriate model and designing the environment. I intend to utilize a fish model sourced from the Epic Games Fab platform for this purpose.

Since the model lacked a rig, I implemented one to animate the fish’s fins, face, and tail effectively. Additionally, I plan to adjust the fish’s color and texture to align with the storyline and overall environment design.

For the environment, I initially selected an unsuitable asset, mistaking it for a model-rich, imaginary underwater world. Unfortunately, it turned out to be a simple HDMI photograph, highlighting the need for greater caution when purchasing online assets.

Categories
3D Computer Animation Fundamental immersion

Week 4: Sequencer Materials

Lesson Today

In the current lesson, we examined a range of techniques pertaining to the sequencer, which we initiated last week. Additionally, we engaged in various methodologies for material creation. I have come to recognize that employing both a subsequencer and a master sequencer considerably improves organization and efficiency in the creation of shots and animations. Furthermore, the implementation of instant materials demonstrated significant convenience, facilitating real-time modifications throughout the material development process.

Project Progress

As the project evolved, I advanced my work through comprehensive research and refinement. Building upon the initial storyboard, I developed a revised version that incorporates elements from multiple narratives, adapting these components to ensure compliance with the specified length requirements.

Inspiration

Given my frequent experiences of fear in unfamiliar environments, I aspire for my narrative to illustrate a character’s journey in confronting and ultimately overcoming their fears. To visually represent fear in animation, I intend to depict elements that may arise in the character’s perception during moments of apprehension. For instance, threats that seem tangible to the protagonist, despite not being present in reality, will be portrayed within the scene as manifestations of their fearful vision.

Recognizing that my initial narrative concerning fear was overly lengthy, I opted to revise it by transforming the protagonist from a human into a fish, thereby enhancing alignment with the scope of the story.

Concept

In a lake, a ghost fish hides under an invisible cloak or changes colors to conceal itself, feeling anxious about other fish. Realizing that they are not as frightening as it thought, the fish attempts to engage with them but accidentally gets stuck in its cloak, rendering it immobile. Although the other fish cannot see it, they hear its voice and work together to help it escape. Once freed, the ghost fish overcomes its fear and happily interacts with the other fish, experiencing the power of friendship.

Research

Initially, I envisioned the fish as a cute character; however, I later considered designing a fish that inflates whenever it experiences fear.

While I found this concept intriguing, I recognized that such a design for the fish is commonplace in reality and would not distinguish my work effectively. Consequently, I conducted research on fish animations to generate additional ideas.

I also intend to incorporate elements related to nature in the shot; therefore, I referred to various nature shots and images for inspiration.

To enhance its uniqueness, I also referenced images featuring distinctive environments and color palettes.

These color palettes and environments evoke a more imaginative and mysterious atmosphere.

Background of characters

The character is a fish that utilizes a cape to render itself invisible, thereby disguising its presence from others. My objective was to create a character that is both cute and appealing while simultaneously embodying traits of shyness and fearfulness. To aid in the design process, I employed AI image generation techniques for inspiration, resulting in the following outcomes.

Character designs

I find the final design of the character particularly appealing and may use it as a reference or as the primary character in the narrative.

Mood boards

Categories
3D Computer Animation Fundamental immersion

Week 3: UE Sequencers

Sequencers

In this lesson, we explored the sequencers in Unreal Engine, which are instrumental for keyframing animations and making modifications within the graphic editor. Additionally, we examined the processes involved in creating and adjusting cameras, focusing on parameters such as camera focal length and post-processing effects, including image filters.

Project Progress

I have begun developing one of my story concepts and have initiated tests with motion capture technology. At this stage, I am still evaluating which idea I should proceed with. The current story concept is relatively well-developed, but due to its complexity, it will require a significant amount of time to animate. As a result, I am assessing whether motion capture can streamline the animation process. If it proves inefficient for this project, I may pivot to one of the other two concepts to ensure a high-quality outcome within the given time constraints.

The following is a shot of my work in the motion capture studio.

Categories
3D Computer Animation Fundamental immersion

Week 2: World Building

Unreal Engine

In today’s lesson, we explored the fundamentals of Unreal Engine, including the creation of textures, the process of downloading models, an overview of the level settings, and the collaborative features that will be essential for our upcoming group project. While this content may appear introductory, it is imperative that I continually familiarize myself with these concepts to ensure a seamless production process in the future.

Work Appreciation

Additionally, we examined two distinctive examples of narration: Sam Rolfes Presents: Stage Two – Return to House of Kenzo and Black Cloud by Lawrence Lek.

Both works do not convey their narratives directly; instead, they engage the audience through abstract and experimental approaches that invite deeper immersion into the story.

My Storyboard

Also, I have begun developing my ideas for the upcoming final project. Below are my storyboards.

At this stage, my ideas remain vague and abstract. To enhance my storyboards, I plan to incorporate more details and references, including online images. Here are some strategies I will employ to achieve this:

Categories
3D Computer Animation Fundamental immersion

Week 1: Unreal Engine Introduction

This blog post introduces Unreal Engine. In addition to learning the software’s basics, we watched a case study in class that explored how different angles were used to adapt The Lion King to a fairyland.

This has inspired me to consider possible project ideas for this term—perhaps something realistic, adventurous, or even a blend of both.