Categories
Immersion

End result: summary and reflection

Submission


Showreel Animation Kewin Skrzekut

Design Proposal

Design proposal

Reflecting on the experience of working on the project in UE5

I had no prior knowledge or experience with game engines before starting this module. At first, I was extremely intimidated by the interface and the level of sophistication, so it took me a while to wrap my head around it. However, after working on this project, I’ve gained control over the navigation and the level of comfort necessary to explore further. Overall, throughout my time in this module, I’ve built a strong foundation in Unreal Engine, which I plan to put into further practice.

As a UE beginner, I initially struggled to come up with a project idea because I wasn’t fully aware of what was possible to achieve. After watching numerous YouTube videos showcasing Unreal projects, I had a vague idea of where I could take my project, but it wasn’t until I started implementing my own ideas as the project progressed that I understood the full range of possibilities—beyond the predominance of the game industry. As a result, I stumbled, and my project ended up being somewhat meandering.

My approach to this first encounter with Unreal Engine was to learn and practice a hard set of skills. As such, my work on the project was mostly exploratory, with a focus on technical implementation. Going beyond the techniques taught in class, I was particularly interested in procedural techniques for world creation, which required me to learn node-based coding within the UE5 interface. This took up most of the time spent on the project, mainly due to the range of tutorials available online being outdated and often causing confusion. Additionally, optimization issues and frequent crashes of Unreal Engine—due to the excessive computational power required for generating environment elements using multiple point clouds—added to the challenge. I worked with stochastic functions, such as random seeds or noise, and other mathematical calculations across different point clouds for purposes like intersection detection and asset subtraction to prevent overlap. During the initial attempts and learning PCG, the computer’s power often exceeded its limits, leading to crashes—one incident at the Digital Space caused the system to crash, resulting in the loss of an entire day’s work, as the PCs there are set to erase all data upon crashing. This painful lesson taught me the importance of saving regularly and backing up my work to an external drive.

Initially, I envisioned setting the aesthetics of my scene in surrealism, inspired by certain paintings. After my first consultation with Serra, I received feedback that led me to further explore this idea. I began reading The Red Book by Carl Jung and researching Salvador Dalí’s experiments with sleep and dreams. Dalí often intentionally interrupted his sleep cycles to explore the unconscious mind and capture his dreamlike visual experiences. This became a key inspiration for my project, drawing on the psychedelic, mysterious landscapes he created. From surrealist art, my inspiration expanded into film and cinematography. The examples that stuck with me were those that created suspense and mystery, often using unusual shots and perspectives, like Dutch angles, which gave an uneasy impression. This led me to explore Stanley Kubrick’s famous bird’s-eye angles and camera movements, incorporating the principles I learned in Nigel’s animation and cinematography theory classes.

Transitioning from a creative tech background into the School of Screen, I decided to approach this project from a technical perspective and learn the engine in order to become more confident and proficient in its use. I also aimed to incorporate the theoretical knowledge of cinema and visual storytelling through framing, as taught in Nigel’s class. This was a great opportunity to integrate skills and knowledge across modules from the first term. As a result, I now have a better understanding of camera animation and the shots that underpin a visual narrative.

The establishing shot is a wide-angle view showing a mountain-like landscape in the background, with the sunset over the forest. This signals to the audience that time is passing and the day is transitioning into night. The closing scene shows the car driving into the forest, coming to a stop as the road ends. The camera then zooms out to capture the full perspective of the forested area from a bird’s-eye view, revealing a question mark-shaped negative space, where the forest has been deforested due to the road cutting through it. To enhance the odd and uneasy aesthetic, I used chromatic aberration with the post-processing volume.

My final work is a short film that predominantly showcases the movement of a car through a landscape, driving into an upside-down world at dusk, when day transitions to night—the unknown, the questioned. The mise en scène is modest and can be broken down into several elements: the car with dynamic lights, the terrain with foliage and trees, the landscape, and the default sky, fog, and directional light from Unreal Engine. The directional light, combined with the post-processing volume, is used to alter the visual aesthetic and create the desired mood and ambience. Throughout the short video, changes in values for both the actors and other variables, such as saturation, contrast, exposure, and intensity, are animated to visually enhance the transition between the familiar world and the unfamiliar upside-down landscape. The dark, high-contrast red light creates the impression of the sky bleeding and breaking.

In addition to the contrasts of day and night, familiar and unfamiliar, up and down, I was also intrigued by the relationship between positive and negative space. This led me to use the spline technique to define the shape within the landscape, which serves as a closing shot. As the car moves, its destination remains unknown, but it is clearly heading somewhere—somewhere unfamiliar. This inspired the title of the project: Quo Vadis? (Where are you going?). This is the very question I asked myself at the beginning of the project: where am I going with this? And here is where I landed.

Overall, I’m pleased with what I’ve managed to deliver. With respect to the visual end result, I’d like to think of this as a prototype on its way to improving in quality, especially in the realm of animation. However, my primary focus was the experience itself, which has definitely allowed me to become more proficient in Unreal Engine and given me a better understanding of the production pipeline. I plan to make the most of this experience in future projects during Term 2



Categories
Immersion

Post production & editing


First renders + Post-production Volume

Overexposured, bad image quality.

Better result but trees started resembling palm trees, changing the ambience into the beach, seadie-like drive.

Colour grading to enhance image quality and cinematic aesthetics

High-contrast lighting, paired with post-processing effects, establishes a dreamlike and otherworldly ambiance. The bleeding red sky transitions from day to night, symbolizing the journey from the familiar to the surreal. Adjustments to saturation, contrast, and exposure were carefully made to mirror the emotional and narrative beats, enhancing the unsettling and mysterious mood of the environment. These aesthetics were achieved through meticulous color grading, performed on a 4K monitor with a high sRGB color gamut, ensuring accurate and vivid color representation.

Editorial in Adobe Premiere Pro

Premiere Pro Adobe Certificate Course

Editorial—something I knew very little about, almost nothing. To move the scenes forward from the shots, I had to learn yet another software. I managed to secure a spot in the Adobe Certified Courses at the Digital Space, led by Oscar, one of the technicians working on the side. It was an intense week packed with knowledge, culminating in an exam on the final day. Unfortunately, due to a scheduling conflict, I couldn’t attend the private screening of the MA 3D Animation previous cohort’s work on the same day. Fortunately, I was able to absorb all the course material and pass the test successfully

Performing audio-visual editing within Premiere Pro, including deciding on cuts, transitions between shots, adding subtitles, as well as designing the cover page and listing the credentials for assets used in the production.

Categories
Immersion

Animating car: Working with camera rig trail/rail in UE5


Overview

The Camera Rig Rail can be used to manually define the pathway for camera movement, offering precise control over its trajectory. Additionally, it allows for the attachment of other objects, effectively replacing the camera with anything from props to lights. I used it to define the trajectory of the car movement, that aligns with the spline trajectory, to allow for car movement through the landscape populated with trees.

I worked through numerous tutorials to fully understand these techniques. These include, but are not limited to, the following sources:

Implementing camera rig rail & animation in sequencer



The images below are screenshots of my own notes, representing the process of the camera rig rail implementation within the sequencer, and in detail cover the consecutive stages and exploratory work represented within the attached screenshots.

Reflections on Using Camera Rig Rails and Sequencers

I ran into an issue with the camera rig rail that took some time to untangle. The rail kept readjusting itself back to its initial location, refusing to align with the desired position along the spline pathway I had created on the landscape actor. It was frustrating at first, but after some troubleshooting, I realized the problem lay in the transformation keys applied to the camera rig rail within the sequencer.

Because the camera rig rail was tied to the car’s sequencer, I needed to check the settings there carefully. This taught me the importance of double-checking sequencers whenever something unexpected happens, especially when working with multiple elements linked together.


Experimenting with Viewport Playback

While testing, I also explored the two main ways to play actions in the viewport:

  1. Playing the Main Level Action
    When I played the main level action, the animation logic tied to the level came to life. In my case, this was the cube moving along the spline. This method works perfectly for testing animations or behaviors tied to the overall level design.
  2. Playing Through the Sequencer
    Playing through the sequencer, however, was a more focused experience. It allowed me to test specific sequences without triggering the entire level logic. This was especially helpful when I wanted to isolate the camera rail and check its behavior independently.

Creating Cinematic Camera Movements

As I continued working, I experimented with combining a cinematic camera actor and the camera rig rail. This setup felt like stepping into real-world filmmaking. By making the camera actor a child of the rail and resetting its location to match the rail’s position, I was able to simulate smooth, professional camera movements.

It’s satisfying to see how these tools can replicate real-world production techniques in a virtual environment. Each step in this process brought me closer to understanding the intricacies of cinematic effects in game development.


Putting it all together: TESTING

The following shows the testing of the car animation using the camera rail. The car is attached to the rail, moving along a manually defined trajectory that is fixed to the floor. This setup allows for animating the car’s movement, which includes changes in its position within the coordinate space, such as translation and rotation.

The car moves in an arc, so the default settings are maintained, based on the assumption that the car needs time to accelerate and decelerate smoothly, rather than coming to an abrupt stop, which would occur with linear interpolation. For finer control over the car’s movement, a control rig was implemented in the previous phase, enabling more accurate animation, such as steering and wheel rotation, as the car follows an organic, curvy path.

Since this is a test, some things are breaking, but that’s expected! Haha

Categories
Immersion

Car rigging

Overview

There’s no character in my scene, but there is a car, assumed to be self-driven, with no passengers involved.

This post discusses the rigging of the car as part of the consecutive stages of the project. While the car is the main actor in my scene, the primary objective is actually the camera movement. The car driving through the landscape serves as a reason to showcase the landscape shots and the experimental camera rotations that I’ll be implementing moving forward.

Control system – rigging of the car in UE5

My primary goal was to implement a control system that would allow me to create effective animation – a car rig. To support this, I’ve relied on YouTube tutorials as supplementary resources to reinforce class concepts.

Guiding my creative process, by prioritizing functional requirements for individual scenes to develop a Minimum Viable Product (MVP), I was sure to get things working first before I could worry about creative direction, aestetechics, and visual qualities.

Exploring Car Mechanics and Cinematic Camera Movements

Reassessing Focus: Cars as Tools for Cinematic Exploration

After researching the topic and watching numerous YouTube tutorials, I realized that developing car mechanics is an extensive project in itself. There are entire YouTube channels dedicated to this topic, often covering everything from modeling and rigging to simulating car physics for realistic movement within virtual worlds.

This, however, is not my primary area of interest. I don’t drive myself, so I can’t evaluate the accuracy of my creations based on personal experience. For me, the car is merely an asset to facilitate the development of camera movement across the scene. My primary focus lies in exploring and recreating cinematic camera movements characteristic of filmmaking.

Using City Sample Vehicles for Efficient Integration

To streamline the process, I’ve decided to use Epic Games’ City Sample Vehicles, which I sourced from the Fab platform. This approach allows me to incorporate a moving car into my scene without dedicating excessive time to car mechanics, aligning my project with its intended focus on cinematography.


Learning from Tutorials and Class References

Rigging and Animation Insights

One tutorial I followed involved rigging a car model within Unreal Engine and creating a control rig. In this process, the car’s suspension animation was generated procedurally using a custom function. I found this tutorial both informative and practical, expanding on the knowledge I gained in class during Week 6, where rigging was a key topic.

Car rigging: ULTIMATE ONE CLICK CAR CONTROL RIG – Unreal Engine 5.4

The model of the car has been provided by the author of the tutorial via the Google Drive share link who is the content creator for both the tutorial and the car model. Contact information can be found here: postprocessed.media – Contact

The end results: blueprint class for the forward solve graph implementation for the wheel rotation, steering and body control.

Future Aesthetic Enhancements

The car’s aesthetics, such as its materials and textures, can be customized later. I plan to revisit this in a subsequent phase of the project, focusing on enhancing the visual appeal and coherence of the scene.





Categories
Immersion

Spline

Spline is a very effective tool for path-making and for drawing clouds of points. These clouds do not necessarily need to take the shape of an actual cloud but can represent something less volumetric, like a road or path. I have explored the implementation of these techniques in both landscape and modelling modes. The tutorials I referred to include, but are not limited to, the following sources:

Follow a Spline and Report Distance Along It Using an Actor Component | Epic Developer Community
How to move things along a spline path – Unreal Engine 5 Tutorial

Exploring Splines, Timelines, and Lerp Functions for PCG

Timeline Function

The timeline function is equivalent to the draw function in other programming contexts. It runs repeatedly to create continuous updates.

Lerp Function

The Lerp (Linear Interpolation) function is used to interpolate between two values, A and B. For example, interpolating between the RGB values of orange and blue will produce a smooth colour transition between these two colours.

Setting Up the Blueprint Classes

Two Blueprint (BP) actor classes are required:

  1. BP_Spline: Defines the pathway for the object’s movement.
  2. BP_Cube: Represents the object moving along the pathway. This class contains all the logic, referencing the BP_Spline file.

The entire code is contained in the BP_Cube class, which executes the movement along the spline by referencing BP_Spline.

Code Explanation: BP_Cube

  • In the top-right corner, the Get Actor of Class node references the BP_Spline.
  • The returned value of this function is stored in a variable named Custom Spline.
  • For the object to move along the spline, the function must be explicitly called during execution.

Timeline and Object Movement

The timeline function defines the duration of the movement. This determines how long the object takes to travel along the spline.


Applications and Next Steps

  1. Use PCG techniques to build terrain for large-scale world creation.
  2. Study car movement dynamics, including acceleration, deceleration, and how speed changes based on pathway curves.
  3. For an MVP, experiment with basic movements using a cube before transitioning to a car mesh with mechanics and rigging.
  4. Implement camera tracking for dynamic shots, such as top-down or rotating angles, following the car’s motion.
  5. Research cinematic references for camera movements, such as Kubrick-style angles and transitions to an upside-down world.


PCG implementation/ instructions


The images below are screenshots of my notes, representing the process of PCG implementation, consecutive stages, and exploratory work.

Categories
Immersion

Project objective: Camera movement

Changes to the project agenda

While studying narrative for animation and cinematography as a newcomer in the School of Screen, I realized that it would make perfect sense to reflect on theory and incorporate the techniques I’ve learned in practice. Visual storytelling in film involves the concept of cinema as a frame, which one can manipulate to alter the audience’s perception and, consequently, deform or deconstruct the familiar world depicted. I was particularly interested in camera movements and shots that provide viewers with unsettling, uneasy impressions. Hence, the following techniques became a priority: Dutch Angle/Tilted Angle, Dolly Zoom (Hitchcock’s Vertigo), and the Rolling Camera which shifts the perspective upside down.

There was one particular camera movement that I kept seeing across various scenes in recent productions: the 180-degree roll, which essentially flips the world upside down. When it comes to shots and views, there’s one called the eye-level view, which is an approximation of human perspective from the height of our own bodies. While we may be becoming more familiar with the bird’s-eye view due to booming drone technology, it’s still not inherently part of our nature. I decided that this could easily be classified as unfamiliar. For example, portraying the car driving through the forest from angles different from the eye-level view, using a camera movement that unsettles the audience with an altered perspective

Storyboard for project reflecting changes

Project objectives

Animation:

  • Animate the vehicle using a control rig.
  • Implement camera animation for establishing shots of the landscape, focusing on capturing the accelerating vehicle.

Research:

  • Study car animation techniques and camera animation, particularly top-angle shots and rotations, with reference to examples from cinematography.

Assets:

  • Landscape model.
  • Rigged car model.

Aesthetics:

  • The landscape will be designed to create a negative space that symbolizes the human brain, with the car’s journey representing a surreal exploration of the unconscious mind.
  • Camera movements will be employed to symbolize the transition to an upside-down world, serving as a metaphor for the deconstruction of a familiar environment

Examples of Works Featuring Notable Camera Movements:


This section in short covers the camera movement and hidden meaning/ symbolism that I found within the production/ contemporary cinema, which accounts for some of the inspirations that informed me about shaping my visual storytelling.

A pivotal moment in Smile (2022) occurs when Rose Cotter (Sosie Bacon), the protagonist, is driving her car after experiencing a distressing sequence of events. She begins to realize that she is being influenced by the curse of the “smile.” This moment becomes particularly striking when the camera shifts to an upside-down perspective. Beyond being a visual trick, this inversion serves as a metaphorical device that reflects Rose’s emotional and psychological turmoil, as well as the confusing nature of her new reality.

Stranger Things uses a variety of visual and cinematic techniques to portray the characters’ psychological and emotional experiences, particularly their perceptions of reality. The show is known for its use of camera angles, reflections, and environmental distortions to represent themes of trauma, fear, and the collapse of reality. These visual cues mirror the protagonists’ emotional and mental states, much like the upside-down camera angles in Smile, which symbolize disorientation and the breakdown of reality.

Similar camera movement can be spotted at the Infinity Pool (2023) by Brandon Cronenber, introducing a range of camera movements, rotations, and zoom techniques to enhance the film’s bizarre and dizzying atmosphere.

In Enter the Void (2009), directed by Gaspar Noé, rotating camera angles, first-person perspectives, and distorted zooms are used to convey the sensation of out-of-body experiences.

180 camera roll: What do I want to convey?

The camera movement depicts the transition to the upside-down world, delivered with a rotation of around 180 degrees. The camera spline trail is used to define the path for the car movement, which is the same path used for the camera capturing the car from the above, ‘the bird eye view’ that rotates upside down. Bringing unsettling sensation to the audience-screen relation, similar to the Dutch angle, but more of a feeling of spinning.

Symbolism: Indirect messaging.

While researching camera movements and the Paramount production for the movie Smile, I discovered a hidden meaning. In the opening of the film, the Paramount animation logo is altered, flipping 180 degrees in a snap. This flip seems to symbolize or reference the theme of the film, as the stars form the shape of a smile. I was astonished that I figured this out on my own! Initially, I had been focused on the camera movement itself and hadn’t considered this deeper connection until it came to me.

????????????????????????????????????????????????????????????????????????????????????????????

I really love this idea. I’m all about the Gestalt Principles, which focus on finding patterns and meaning in chaos. This concept inspired me to incorporate negative space into my shot. Initially, I wanted to create the outline of a brain in the middle of the field. However, during the early research phases, the idea of exploring the unconscious mind led to something that turned out a bit strange—almost like UFO traces or too vague for someone to understand unless they were really looking into it. In the end, I decided to deliver a question mark shape, which I outlined with a spline. This spline created the pathway and procedurally altered the generated content by removing overlapping points from the clouds along the trajectory of the question mark.


??????????????????????????????????????????????????????????????????????????????????????????????

Categories
Immersion

Procedural Content Generation

Procedural World Population

Populating the world procedurally required learning a lot about node-based coding in Unreal Engine 5 and generating point clouds. I worked through numerous tutorials to wrap my head around these techniques. These include but are not limited to the following the following sources:

PCG basic Save Days! Procedural Content Generation Framework (PCG) – Photoreal Landscape Tutorial
PCG and spline 7 Minute Photoreal Forest! Procedural Content Generation PCG in Unreal Engine
PCG theory Procedural Content Generation Overview | Unreal Engine 5.5 Documentation | Epic Developer Community

The images below are screenshots of my own notes, representing the process of the PCG implementation, consecutive stages, and exploratory work.

Procedural environment exploration result

The video below shows a screencast of manually exploring the world using keyboard navigation. The scene features an Australian landscape created using Pixel Pack assets and PCG techniques, including the spline technique. This approach allows for altering the landscape dynamically, such as adding a town in the middle of the terrain and a road running through the entire environment.

All of the assets used come from the Fab platform, which was encouraged by the module leader.

Categories
Immersion

Week 9: Rendering and postprocessing.

Advanced Techniques for Visual Refinement in Unreal Engine

Post-Process Volume

The post-process volume allows for fine-tuning and polishing the visual aesthetics of a scene, either within a specific region or across the entire scene. To adjust the scope:

  • Bounded Option (Off): Applies effects within a defined area.
  • Unbounded Option (On): Applies effects to the entire scene, though this is computationally expensive.

By default, post-processing uses a standard algorithm, but higher-quality outcomes can be achieved with more resource-intensive options. This tool enables adding effects like:

  • Lens flare
  • Bokeh
  • Vignette
  • Dirt masks

It also provides options to modify camera settings (similar to those available directly in the camera), as well as advanced colour grading.

For optimal results in colour grading:

  1. Use professional tools like Premiere Pro or DaVinci Resolve.
  2. Export images in EXR format for 16-bit colour depth.
  3. Perform colour grading on a monitor calibrated to accurately approximate Unreal Engine’s sRGB colour space. This ensures consistent colour representation across different displays.

SM_Color Calibration

The SM_Color Calibration asset is available within the engine content files. To use it:

  1. Place the calibration cube in the scene, ensuring it is perpendicular to the Z-axis and facing the main light source.
  2. Align it with the main light source by copying and pasting the rotation values of the light into the cube’s settings.

Adjustments for Visual Fidelity

  • Film Slope: Adjust to fine-tune the darkest parts of the scene, such as dense shadows or dark forest corners.
  • Film Toe: Adjust for the brightest highlights in the scene.
  • White Balance: Calibrate using the white section of the colour calibration cube. Adjust the colour temperature based on the scene’s lighting conditions (e.g., for a bright sunny day, set the temperature to around 5500K).

Global Settings

Within the global settings of the post-process volume, you can make detailed adjustments for balanced colour grading:

  • Saturation: Adjust the intensity of colours.
  • Contrast: Define the difference between light and dark areas.
  • Gamma: Refine midtones.
  • Gain: Enhance highlights.
  • Offset: Modify shadows.

Screenshotting via Command Line

Capturing screenshots in Unreal Engine can be automated using the command line, allowing precise control and batch processing.


Colour Correction with Photoshop (PS)

Enhance your visuals using Photoshop for colour correction:

  1. Perform adjustments in PS and export the result.
  2. Open the LUT (Look-Up Table) file with these settings:
    • Mip Gens Setting: No Mip Maps.
    • Texture Group: World.
  3. Apply the LUT to the Post-Processing Volume under the Color Grading LUT section for impactful colour grading.

Post-Processing in Camera

  • Customize the field of depth within the camera settings for cinematic effects.

Rendering Cube

  • Ensure proper rendering setup for cube maps to maintain visual accuracy.

Managing Levels

  • When working with multiple levels, always set the maps to always loaded to avoid runtime issues and ensure seamless transitions.

Anti-Aliasing Tips

Anti-aliasing helps smooth out edges and improves visual quality.

  • Spatial Sample Count:
    • Adjust for better edge smoothness.
  • Temporal Sample Count:
    • Increase for moving objects (e.g., characters) but keep it set to 1 for static environments.
  • Note: Use odd numbers for these settings, as even numbers may cause errors in the engine.

Game Overrides

  • Use game override settings to customize rendering and performance for in-game visuals.

Console Variables Editor

  • Access and modify Unreal Engine’s console variables for fine-tuned control over visual effects and performance.

Colour Output

  • Manage the output colour profile to match your project’s artistic or technical needs.

Engine Scalability Settings

  • Adjust the engine scalability settings to balance performance and visual fidelity based on your hardware and project requirements.

.

Categories
Immersion

Week 8: Dynamic Lighting

Post-Processing Volume
The post-processing volume is a powerful tool in Unreal Engine for controlling visual effects.

  • Specify the Region: Define the region where the volume will apply its effects. Selecting “unbounded” makes the effects infinite in scope but can be computationally expensive.
  • Recommendation: It is advised to work with a post-processing volume instead of relying solely on the camera’s post-processing settings.

Mobility Settings for Lights
Lighting in Unreal Engine can be configured based on mobility settings, each offering distinct performance and functionality:

  • Static:
    • Precomputed lighting baked into lightmaps during the build process.
    • Performance-friendly, with shadows baked directly into textures.
  • Stationary:
    • A hybrid of static and movable lights.
    • Some lighting is baked, but properties like intensity and colour can be adjusted at runtime.
  • Movable:
    • Fully dynamic lights with real-time calculations for lighting and shadows.
    • The most performance-intensive option, requiring careful use in large-scale projects.

Directional Light

  • Example Use: The sun within the scene (default name: “Directional Light”).
  • Key Properties:
    • Source Angle: Adjusts the size of the sun.
    • Temperature: A computationally efficient way to define ambience and light aesthetics without relying on post-processing volumes.

Creating a Moon from the Sun:

  1. Lower the source angle until the sun disappears (shrinking into pixels).
  2. Reduce the light intensity.
  3. Create a material for the moon by first making a master material and an instance of it (useful for sky texturing).
  4. Use a primitive sphere, texture it, and place it over the altered sun.

Spot Light
Spotlights are the least expensive light type to use in a scene.

  • IES Profiles:
    • IES (Illuminating Engineering Society) profiles can only be applied to spotlights.
    • These pre-optimized functions enhance performance and realism.
    • Download IES Light Profile Packs from Fab to access optimized light functions and materials.

Key Adjustments for Spotlights:

  1. Increase intensity.
  2. Adjust the inner cone angle.
  3. Change intensity units to the lumen.

Sky Light

  • Skylights provide global illumination and are essential for realistic reflections.

Reflections

  • Access and adjust reflections via the post-processing volume.

Baked Lighting

  • Baked lighting is precomputed and stored in lightmaps, improving performance by eliminating runtime calculations.
Categories
Immersion

Week 7: Project progress catch-up


First Thought and Start of the Ideation Process

Deconstructing Familiar Environments

My initial thought was an image of war—collapsing buildings, deconstructed familiar living spaces, and destruction. The man-made landscape is being torn apart by bombing and bombardment, with architecture falling to ruins.

I quickly realized I didn’t like this idea. Scenes of horror, suffering, and terror caused by war are still present today, and I didn’t feel inspired to create something rooted in such darkness. I appreciate the beauty in life, and since there’s already a scarcity of it, I didn’t want to dwell on or reflect on the uglier aspects of human existence.

I think at the back of my head I was referring, to the exhibition I’ve been to in the past “Fragile Brutalism”, exploring the future of the Ukrainian urban landscape affected by the result of the war. More info here Fragile Brutalism | Goldsmiths, University of London


What’s Possible?

As a complete beginner, I faced the limitations of not knowing what was possible to achieve. In the first week, we were shown some examples, and as the weeks progressed, I discovered more and more possibilities. I was encouraged by the idea that almost anything can be brought to life in Unreal Engine. However, I also became acutely aware of the vast amount of knowledge I lacked.

I knew it would take time and effort to learn how to implement my ideas. Discussing this with Serra, we both agreed that my decision to approach the project experimentally was reasonable and justified.


What is a Familiar Environment?

It’s the places we live, love, and laugh in. The world around us—nature, the countryside, landscapes.

I started off thinking generically. But the key word for me was “environment.” While reading 3D World magazines, I often came across terms like “environmental artists.” That’s what I wanted to learn: how to create worlds.

I wanted to think big, so manually placing assets wasn’t an option. Instead, I explored ways to optimize my workflow. I discovered procedural techniques for populating terrains with objects such as rocks, trees, and foliage. Most of my inspiration came from other artists’ work, especially those featured in 3D World magazine.

Initially, I thought the concept of the familiar could be boring. It needed deconstruction to make it exciting. Unreal Engine offers a platform to create far beyond regular landscapes, so I thought—why not aim high?

Soon, I became inspired by surrealist aesthetics, particularly paintings with surreal themes. I was drawn to the works of Polish artist Zdzisław Beksiński, whose art I was fortunate to see last summer in Sanok. Examples of the Beskinksi work are pasted for reference below.


Exploring Surrealism

This led me to explore methods for visualizing the unconscious mind, inspired by Sigmund Freud’s theories. Freud famously disapproved of surrealist aesthetics, yet his ideas about the unconscious deeply influenced the surrealist movement.

The unconscious often produces surreal visuals that lie between the real and unreal, resulting in distorted yet sophisticated aesthetics. These visuals are often odd, mysterious, and compelling. To me, this felt like an interesting way to deconstruct familiar landscapes.

Salvador Dalí, for example, used techniques to manipulate his perception. One of his methods involved waking himself from sleep just as he entered the deep phase, by letting a plate fall and create noise. This allowed him to capture distorted perceptions of the room around him.

I became fascinated with these ideas—perhaps too fascinated—and spent far too much time reading about Freud, Jung, and the surrealist movement. Eventually, during a conversation with my mentor about my project’s progress, I realized my true goal was to learn Unreal Engine. So, I moved on to practical studies and decided to incorporate only a few surrealist concepts into the art direction of the project.


World Creation

For this project, we were advised to use assets from Fab (formerly Quixel Bridge). Essentially, the world was our oyster. However, I was hesitant about using someone else’s entire project. I wanted to create something of my own, even if it might not look as visually impressive.

More than anything, I was interested in techniques rather than visual appeal. I decided to focus on functionality first and add the “icing on the cake” later. My approach was similar to developing a minimum viable product (MVP): start small, iterate, and improve.


Terrain

The foundation of any world is its terrain. Unreal Engine includes a landscape mode for sculpting environments. Using a brush, the terrain can be shaped manually. However, most tutorials recommend using heightmaps instead.

I experimented with this. First, I generated a Perlin Noise heightmap in p5.js and used it to create the terrain. It worked to some extent.

Then, I tried digital drawing in Adobe Fresco, creating black-and-white images with brushes scattered across the canvas. This method also worked, but I wasn’t particularly impressed with the results—or the process.