Categories
Immersion

Week 6: Control Rigging

Modular rigging

Embedded below are the screenshots of my notes taken during class time, as well as during my study and exploration of rigging in Unreal Engine.

Forward and Backward solve: rigging character of human-like posture

Categories
Immersion

Week 5: Physics

Physics Simulation

The following presents instructions on performing physics within UE5. These are embedded screenshots of the Word document that I made as the result of the studies and exploration. When rendering a lot of simulation physics within Unreal, it is recommended that you switch to Nanite.

Categories
Immersion

Week 4: Materials

Understanding the RGB Channels in Material Maps

  • Red (Ambient Occlusion): Indicates how much light penetrates through (left to right).
  • Green (Roughness): Controls how much light bounces off. Bright roughness maps make objects appear wet, while darker maps create a dull appearance (top to bottom).
  • Blue (Displacement/Normal Map): Blue represents surface depth, where dark blue areas are deeper and bright blue areas are elevated (front to back).

ORM Maps

  • ORM: Combines Occlusion, Roughness, and Metalness into a single texture for efficiency in PBR workflows.
    • Red Channel: Ambient Occlusion (AO)
    • Green Channel: Roughness
    • Blue Channel: Metalness

Building Blueprint Materials

  • The naming convention for materials: MA or MM for master material.
  • Convert nodes into parameters before adding them to the blueprint; updates occur automatically.
  • Create an instance of the material and save it as MI.

Shortcuts and Tips

  • Ctrl + 1: Assign a value and convert it to a parameter.
  • F2: Rename a parameter.
  • Adding materials to landscapes requires assigning them through the landscape material settings, not drag-and-drop.

Customizing Textures in Unreal Engine 5.4

  • Unreal 5.4 lacks built-in functions for brightness/contrast adjustments, but node-based coding allows implementation.
  • Benefits of a Master Material (MA):
    • Reusable across projects if the proper folder structure is maintained.
    • Allows customization (e.g., overlaying dirt or surface imperfections like rust).
  • Brightness: Use a multiplication node with a scalar parameter for control.
  • Contrast: Use a power node with a scalar parameter for adjustments.

Master Material Custom Functions

  • Create custom PSR (Position, Scale, Rotation) functions (MF_PSR) for UV mapping.
  • Example: UV mapping can be compared to wrapping 2D foil around 3D objects like chocolate Easter bunnies.

Implementation Notes

  • Use ORM files for simplicity and efficiency.
  • Assign RGB channels to the appropriate MA nodes (Green: Roughness, Blue: Metalness, Red: Ambient Occlusion).
  • In cases where a specular texture is unavailable, use a scalar parameter to define specular values.
    • Specular Texture: Defines areas of surface imperfections like dirt or scratches to avoid flat plane aesthetics.
  • Lerp Function: Interpolates between two textures (e.g., blending roughness and surface imperfection maps).

Master Material file implementation: process and reflection

Unreal Engine 5.4 does not provide built-in functions for adjusting the brightness and contrast of textures. However, these adjustments can be implemented through node-based coding by creating a Master Material. While this requires additional setup, it offers significant benefits, allowing for greater customization of materials. For example, layers such as dirt or surface imperfections can be added, conveying a story about the material—such as rusted metal that has undergone corrosion.

Implementing a Master Material also promotes efficiency and reusability across projects, provided the project structure is well-organized. All textures and functions referenced by the Master Material must be stored in corresponding sub-directories within the main Master Material folder to ensure seamless functionality.

Adjusting brightness can be achieved using the multiplication node, with values customized through a scalar parameter, which takes floating-point numbers. Similarly, contrast adjustments can be made using the power node, with a scalar node providing an adjustable slider.

Creating a Master Material also requires defining custom PSR functions (MF_PSR) following naming conventions. PSR stands for position, scalar, and rotation, which are tied to UV mapping. This process can be likened to wrapping a 3D object, like a chocolate Easter bunny, with decorative foil. The flat, 2D foil covers the complex 3D shape, ensuring accurate texture mapping.

To create my Master Material, I followed the tutorial Unreal Engine Materials in 6 Levels of Complexity. My implementation differs slightly as I utilized an ORM file. Based on class discussions and Serra’s advice to memorize RGB channel functions, I assigned the appropriate colour channels in my Master Material: green for roughness, blue for displacement (used as metallic in my case due to research I encountered), and red for ambient occlusion. In the tutorial, the texture was connected to the specular input of the main node. However, the texture I downloaded from the Fab library lacked a specular layer. Instead, I assigned a scalar parameter to define the specular values manually.

The importance of a specular texture is well-documented: “A specular texture defines parts of the surface that might be dirty, scratched, or darker. These areas react differently to light sources. Without a specular texture, light reflects off the surface like it’s a flat plane.” Based on this insight, I may need to refine my Master Material to better align with its intended purpose, avoiding the flat-plane aesthetic and aiming for a more realistic appearance.

Additionally, I explored using the Lerp function to interpolate between two textures. For instance, to create a material that appears dirty, such as a surface touched by greasy hands, I added a layer representing surface imperfections. By blending this layer with the roughness texture using the Lerp function and promoting the alpha value to a parameter, I achieved adjustable blending in the material.

tutorial source: Unreal Engine Materials in 6 Levels of Complexity

Adding Characteristics to the Material

tutorial source: How to HIDE Texture REPETITION in Unreal Engine – UE4 Tutorial

Imperfection
Adding a surface imperfection layer on top of the roughness map provides a story about the material’s journey and wear.

  • Method: Use a texture imperfection file as Source B and a roughness map as Source A (the order doesn’t matter). Use the Lerp function to blend the two, promote the alpha to a parameter, and name it “Blend.” This parameter determines the degree of blending and accepts floating-point values.

Dirt and Filth
Adding a dirt layer on top of the albedo map creates the appearance of a dirty surface. The Static Switch Parameter, which acts as a Boolean, allows for toggling the dirt effect on or off.

  • Method: Use a texture imperfection file as the alpha channel and an albedo map as Source A. Add a Vector3 node for colour (e.g., a brownish tone) and promote it to a parameter. Use the Lerp function to blend these elements, promote the alpha to a parameter, and name it “Blend.” This parameter controls the degree of dirt application, taking floating-point values.

Summary

The process of creating a Master Material has deepened my understanding of material design within Unreal Engine. By customizing textures and parameters, I can achieve a higher level of realism and storytelling in my materials. For instance, adding imperfections or dirt layers provides depth and context to otherwise flat surfaces. While these techniques require a strong foundation in node-based logic and texture mapping, the results are highly rewarding, offering endless possibilities for material customization

Categories
Immersion

Week 3: Virtual Production Sequencer

Sequencing and Cameras in Unreal Engine

Spawnable vs. Possessable Actors

  1. Possessable Actors:
    • Always present in the scene.
  2. Spawnable Actors:
    • It exists only within the Sequencer. They appear in the scene while the Sequencer is active but disappear when the Sequencer is closed.
    • Useful for adding temporary elements like lights or aesthetic objects that won’t interfere with other cameras or views.
    • Example: Adding a rim light to highlight an object for a specific shot.
    • Tutorial reference: #UE5 Series: The Power of Spawnable Actors in Unreal Engine

Creating Sequences

Keyframes in Sequencer

  • Keyframes represent specific snapshots of time and space within the Sequencer.
  • To create a sequence within the level, use the naming convention: LS (e.g., SQ_1 in Spaceship level).
  • Shortcut to bring an actor into the Sequencer: Ctrl + A.
  • In the Outliner, spawnable actors are indicated with their association to the Sequencer.
  • Multiple Sequencers can be created per level. As a best practice, create designated folders to maintain structure and ensure easy navigation.

Combining Sequences

  • Multiple sequences can be merged into a single sequence using tracking options, allowing all shots to be combined into a final shot.

Post-Processing in Camera

  • Post-processing settings can be adjusted within the camera for enhanced visuals.

Folder Structure for Organization

  • Create structured folders to keep assets organized:
    • ShotBased/Cameras
    • ShotBased/Lighting

Sequencer Components

  • A Sequencer should include:
    • Cameras
    • Sub-sequences
    • Camera sub-sequences
    • Camera cuts for rendering

Animating on Cameras

  • Animate directly on cameras that belong to the Sequencer.
  • Create placeholder shots and move them into position using Ctrl + X and Ctrl + D.
  • Add a sub-sequence track and name it appropriately. Use colour coding for organization, e.g., Camera, Animation,and Lighting.
  • Create different shots within the Cameras folder and separate levels for animations.

Cinematic Cameras

  1. Creating a Camera: Drag and drop a cinematic camera into the scene.
  2. Piloting the Camera:
    • Shortcut: Ctrl + Shift + P.
    • Exit pilot mode when done.
  3. Preview Settings:
    • Pin down the preview via the pin icon.
    • Resize the preview window: Hamburger menu → Advanced Settings → All Settings → Camera Preview.
    • Toggle appearance on/off as needed.


  4. Using Multiple Cameras:
    • Adjust layout as a grid or split screen.
    • Activate cameras within each part of the screen via the camera icon (active cameras turn blue).

Basic Camera Settings

  1. Focal Length:
    • Locked when using prime focal length.
    • Use Universal Zoom for more control.
  2. Aperture: Determines how much light passes through the lens.
  3. Focus:
    • Adjust manually by moving the spawn plane.
    • Use the colour picker icon to simplify focus settings. The chosen area remains in focus despite camera movement.
  4. Squeeze Factor: Use this setting for an anamorphic look.

(image source: Comparison-shot-1024×572.png (1024×572))

Creating Camera Rigs

  • Rig Rail: Use for controlled camera movement along a path.
  • Crane: Simulate crane-like camera movements.

Sequencer Workflow

  1. Sequence-Based Linear Workflow: Ideal for straightforward storytelling.
  2. Shot-Based Non-Linear Workflow: Flexible for working on individual shots.
  3. Multi-Artist Collaborative Workflow: Utilize sublevels to allow multiple artists to work on different aspects of the project simultaneously.
Categories
Immersion

Week 2: Worldbuilding in Unreal 5.4.




Project Notes: Structure and Workflow in Unreal

File Structure and Extensions

  • The primary file extension for Unreal Engine is .uasset.
  • Projects should be downloaded in the Nanite version.

Customization and Asset Import

  • Creating actors and materials for the customization of default primitives.
  • Importing ready-made assets from Quixel Bridge (which will transition to the Fab platform in the future) and integrating them into Unreal.

Levels and Sublevels

  • Working in Levels and Sublevels: Essential for creating environments. Sublevels are useful for scenarios like day and night cycles.
    • Example: (Windows → Levels → Sublevels → Moving Actors Across Levels). Refer to the DMX Pervis Sample for guidance on levels.
  • Industry Rules:
    • Keep the Outliner clean.
    • The master level is where everything comes together. Collaborative work within a group should be managed on sublevels.

Content Browser

  1. Starter Content Pack: Add via “Add Feature and Content.”
  2. Quixel Bridge: Access via the cube icon in the navigation bar.
  3. Materials: Create, edit, and apply to actors.
  4. Merging Actors: Combine actors and save them as new assets in a folder. Useful for creating repetitive parts of scenes or recursive areas.
  5. Nanite: Ensure the project is optimized using this feature.

Levels Workflow

  • Add the Levels tab from the Window menu and place it next to the Details panel.
  • Do the same for the World Partition Editor, World Settings, and Layers.
  • Create a new level in the Content Browser and save it in your project folder.
  • Set up a Subclass folder in your main folder to organize and save sublevels.

World Selection and Terrain

  • Use the World Partition system to work on partitions instead of the entire worldview.
  • UV Map Selection:
    • Use Ctrl + A to select the entire UV map, then manually select areas on the grid.
  • Terrain Creation:
    • Use sculpting tools within the Landscape Mode to create custom terrains.
Categories
Immersion

Week 1: Introduction to module and game engine.



First entry: welcome message

Welcome to whoever will be reading this blog. This serves as a documentation of my learning and development on the project for this part of the module. I’m beginning this module with no prior knowledge or experience with game engines. To be honest, I don’t really play video games, so you might find my notes obvious, basic, novice-like, or perhaps dull and boring. However, I’ll do my best to keep everything concise and digestible!

I’ll be approaching this from the perspective of a creative technologist, so you will find plenty of technical information, notes from class, and tutorials that I’ll be exploring during my individual studies.


Covered in class

Intro to Unreal: Visual Storytelling in Digital Space

We’ve gone through the administrative aspects of the course, which is divided into two separate blocks of classes led by Sara and George. Sara’s focus group will focus on Unreal Engine for World Building, Development Pipeline vor Virual Production including Pre and Post-processing, (primarily used for real-time rendering), while George’s group will focus on the animation fundamentals, theory and practice within Maya software.

Deliverable: Project Brief for this part of the Module ( referred to here as per immersion )

The project theme is open-ended, allowing for exploratory approaches to deconstructing familiar places. This theme must be approached with a clear and logical framework, supported by prior research to inform the implementation process.

Process Documentation

Submissions shall be accompanied by process documentation. This includes a minimum of 12 entries, corresponding to the number of weeks in the term, to reflect your weekly progress and development.