Reflection:

Overall, I am happy of how this project turned out, as well as appreciating the knowledge that I have earned through the process of making it. One of the most challenging aspect for me at the beginning that has affected my ability to start was being unsure of what I wanted to make, which got me really anxious and definitely did not help my creativity. I figured I was being too ambitious and got overwhelmed by all the ideas I wanted to make and all the softwares to learn. I eventually had some reflection and reminded myself that the main aim of this project is for me to learn new softwares and practice VFX fundamentals, so I need to lower my expectation for myself and just experiment. I did not have a plan or storyboard at first, and the idea only started coming together as I was creating my Unreal Scene. I have had the vision in mind of the theme that my art usually follows, so every idea after that was by all mean a trust in my own process and experimentation.

Unreal Engine:
In terms of my scene in Unreal Engine, this was the first time that I have used the software and was definitely amazed by how powerful it is in handling such a heavy scene full of foliage (in real time as well). That being said, it took me experimenting on a dozen of projects before I was finally satisfied with what I created, which eventually helped me get more fluent with the software itself. If I have had more time or had a clearer vision in mind, I would have modelled more of my own objects and learned how to texture them realisticly to put into the scene. However, I optimized by playing around with every single material in the scene, from static meshes to foliage to landscape material. This has definitely made me feel more confident on working with models and materials in Unreal. Moreover, I have learned the workflow of importing Alembic into Unreal for animation. The most time consuming part of this was setting up and applying the material for every single parts of the model. In the future, I want to learn how to animate properly and using FBX or USD format to understand the workflow more intensively, also to give myself more freedom in posing and animating the characters.

Zbrush/Substance Painter/Daz
Throughout this project, I have strengthen my skill and love for 3D art when I got to learn my 2 favourite softwares Zbrush and Substance Painter. The leaf boat in particular was something so simple yet I put much effort to make it my own creation. I definitely have spent way more time than I needed to on the sculpting of the boat. If I had to do it again, I would have painted the veins of the leaf with Substance Painter. Yet the workflow that I took luckily taught me valuable lessons in how to work with high & low poly in Zbrush, as well as the baking process before moving to texturing. Considering what I have learned for this, I consider it as a win 🙂

Other used softwares:
Blender: Modelling, Particle system, Animation
Nuke: Compositing the bubbles
Photoshop: Texture creation and editting
Premiere Pro: Final Video editing and rendering

What I want to improve in the future projects:
Apart from strengthening my skill in animation, modelling/sculpting/texturing, I definitely want to be more mindful about the filmmaking/cinematic aspect in the future. I think the final video turned out beautifully, yet it lacks storytelling. I believe if I had solidify a vision earlier on, I would have spent more time on planning, writing a script and making a storyboard. This is typically a workflow known in the industry as well, so eventhough I have always been working purely based on intuition and experimentation, I need to improve on this so I can create more impactful visuals and for anyone who wants to understand my creative process better.
Furthermore, I want to use Nuke more in my future projects since I think it’s a very powerful software. However I have considered its uses in this project and thought it would be better if I know how to to 3D tracking and compositing due to the light and shadow of the scene (which we haven’t fully learned on yet). Luckily the bubble worked out perfectly as it has a complex shader that I have set up, which would be hard to transfer from Blender to Unreal, therefore the use of Nuke in this case is justified and helped blending the bubbles into the scene nicely.

After all, thank you so much for all the help from my tutors to make this project happened!

Working with sequences and rendering process was pretty easy once I got a hang of how to do it. My decision was to work with a 35mm film format as I was inspired by Wes Anderson’s movie style. I believe it added to the fantasy film look, like a fairytale coming to life. I also chose a prime lens and heavily dependent on camera movement to film my final edits.

Keyframing the camera animation

How to work with sequences:

  • Add level sequence > Save it into a Sequence folder
  • Drag camera into timeline
  • Animate camera using keyframes
Remember to ensure your fps
Select all keyframes > Linear for smoother animation
Cinematics > Movie Render Queue
My render settings. I also added an Anti-Aliasing option for improve quality.
I was being mindful of the focal point and composition in every shot to make sure I can guide the audience’s view throughout.

I actually was testing my render, expecting some problems to come up that needs troubleshooting. To my surprise, not only my render came out beautifully, the character hair appeared much nicer compairing to the viewport, which was a problem that I was really trying to fix through shaders. After knowing that the rendering process will be good, I came back and spent some time fixing the character’s materials and makeup, particularly the eyes , which kept being black at first. I resolved this by using a different texture.

I am very happy with how the render turns out

I decided to render my scene in EXR sequences format as it ensures high quality render and due to the fact that I will later import the sequences into Nuke for further compositing.

Since I wanted to add some bubbles to the scene, I thought it would be better to try using Nuke for this. So I created some bubble animation using Blender’s particle system, then rendered it with a transparent background.

Nuke set up to add bubbles in

Resources

Eye Blink Animation

As time was restricted, I decided to use my favourite software Daz for human model creation. I have morphed my own characters so it was very convenient to pose them exactly how I wanted. The model also comes with its own textures that I can use later in Unreal Engine. My idea behind the pose is to later situated the model inside the leaf boat, then add some butterflies into the scene. I also wanted some movement so the model doesn’t look like a static mesh, so I animated the eye blink movement, tried my best to make them dynamic and as lively as possible. If I had more time I would have animated the whole body as well, but I feel good about the result nevertheless.

I was not particularly happy with the fact that Alembic import didn’t name or sort out the material, so it took me quite a bit of time to assemble and set up all the materials one by one. Luckily, I have worked with Daz model before in Blender and there is a particular order to each body part, so it did help me in guessing which one is which. Initially I got frustrated with this so I tried out different technique to import the animation in, from using Daz to Unreal plugin (which didn’t work), to FBX, etc… I decided that nothing looks better than the Alembic route so I went back and tried to finish.

After setting up all the materials manually, there were two problems arised.

  • Firstly, the hair was really patchy and not looking great at all, especially at the root and area that has heavier shadow. As I imported the whole model in as a single alembic, there was no way I could separated the hair from the body for modification. I eventually took the time and imported a separated model without the hair first. Then I imported the hair into Blender and converted it to a particle system, exported as Alembic and imported again into Unreal Engine. The hair is now read with UE5 Grooming system, so i have more options to adjust the hair roots and tips until it looks better
  • Secondly, the eyes textures turns black after importing into UE5. I resolved this by finding a few different textures to test until it worked out. I also had to set the Cornea material to transparent in order for the Irises to show.
Creating Butterfly animation in Blender

I created two simple butterflies animation in Blender, using pictures I found online. Then I put them into Photoshop to create their normal maps and opacity maps. I would say this is one of my favourite technique to learn and can be used in so many cases in the future.

Fixing roughness on the butterfly using Material Instance

Resources:

Creating a Cine Camera in Unreal Engine

Unreal Engine offers three methods to create a Cine Camera:

  1. Right-click in the viewport > Place Actor > Cine Camera Actor
  2. Use the ‘Quickly add to the project’ button next to the Mode option, select Cinematic > Cine Camera Actor
  3. Click on the sandwich menu, choose Create Camera Here > Cine Camera Actor

Camera Types

  • Camera Rig Rail: This mimics a real-world rail system, enabling the attachment and animation of the camera along a predefined path.
  • Camera Rig Crane: Similar to a crane in real life, this allows for the attachment and animation of the camera with crane-like movements.
  • Cine Camera Actor: This camera type provides detailed options for Filmback, Lens, and Focus, aligning with industry standards to create realistic scenes.

Features of Cine Camera Actor

  1. Piloting: Navigate the scene effortlessly by switching the view to a specific camera. Change perspectives by selecting ‘Perspective’ in the viewport, choosing the camera, or right-clicking in the viewport and opting for ‘Pilot’ followed by the camera’s name.
  2. Picture-in-Picture Display: The ‘Preview Selected Cameras’ option in Editor Preferences can be toggled on or off, allowing you to preview a camera by selecting it in the Outliner. This feature is enabled by default.
  3. Look at: Focus the camera on a specific object. Set this by adding an actor for the camera to track, then in Lookat tracking settings, select ‘Actor to track’, pick your desired actor, and turn on “Enable Look at Tracking.”

To change the viewport layout, click on the Sandwich bar, go to Layouts, and choose your preferred layout division. Maximize the current view with F11.

Incorporating Cine Cameras with Post Process Volume is vital for configuring Depth of Field (DOF) and Exposure. These settings are accessible in both Cine Cameras and PPV, with PPV offering global adjustments.

To view DOF in the viewport, navigate to Show > Visualize > Depth of Field Layers.

Post Process Volume (PPV) – Exposure

Local Exposure: Useful for consistent imagery when detailed scene lighting is impractical. Always set this up with Lumen Global Illumination.

Camera Setup Workflow:

  1. Define Filmback (scene size).
  2. Adjust Depth of Field (DOF): Set aperture, focal length, focus distance. (Example: Narrow DOF used)
  3. Adjust exposure: Set shutter speed, ISO.
  4. Create and adjust the Exposure in Post Process Volume (PPV).

Important project settings for Lumen
Point light
spot light
rect light

Env. Light Mixer – Create lighting from scratch:

  • Create:
    • Sky Light
    • Atmospheric Light
    • Sky Atmosphere
    • Volumetric Cloud
    • Height Fog

Other elements to add to create realistic sky/world/lighting:

  • Volumetric Cloud: Uses a material-driven method to create lifelike clouds, offering versatility in cloud types and enhancing the sky’s realism.
  • Exponential Height Fog: Adds atmospheric fog that varies in density with altitude, providing a smooth transition and allowing for two different fog colors for environmental tuning.
  • HDRI Map: Uses an environmental texture to provide accurate background scenery, natural reflections, and contributes to the overall illumination of the scene.

Things to keep in mind when dealing with indirect lighting:

  • Base/albedo color: the material or color of your objects matter as they reflect light bouncing off them. If lighting in your scene seems too dark/light, considering tweaking color of your material.
  • In real world nothing is 100% black or white. Most black: 0.04, most white: 0.9, middle ground: 0.18
  • Use chrome ball to visualize lighting & reflection

To turn off Auto Exposure:

  • Add PostProcessVolume to scene
  • Infinite Extent (Unbound) ✅
  • Metering Mode: Manual
  • Apply Physical Camera Exposure ✅
  • Exposure Compensation: USE THIS to control light (without having to manipulate light in your scene)

Experimentation

After several attempts in creating beautiful skies and environment lighting in UE5, I started to get a hang of how to work with Lumen. There are still a lot of settings which confuses me sometimes, yet I believe lighting is such an essential aspect responsible in deciding the quality and mood of your scene.

References

This week, I tackle on Landscape and material in Unreal Engine 5. In terms of 3D I have always been focusing more on character design, yet creating real-time landscape with great details has been something that I always wanted to implemented in my work as I believe it would be a great storytelling enhancement.

Resources:
Unreal Engine 5 Beginner Tutorial for Film: Landscape and Materials
How I Quickly Create 3D Environments in Unreal Engine 5 | FULL WORKFLOW
Landscape Basics Tutorial for Beginners in Unreal Engine 5.2

Creating landscape
1. Stablishing Scale: this is to make sure your landscape is scaled correctly by adding a mannequin
– Content browser → add → add feature or content pack → third person
– Mannequin → Character → Mesh → SK_Mannequin

2. Landscape mode: Here you can create landscape by manually paint/sculpt on the plane OR use height maps
– Settings: Section per component = to subdivide square/section for higher res landscape
– Drag downloaded surface material into Landscape material

** Be aware of tiling: you can compensate it by modify tiling X & Y in Shader Editor

Before
After


After trying out different surface textures from Quixel Bridge, the landscape still doesn’t look exactly realistic to me if I just use 1 texture for the whole landscape. I have eventually learned how to create different material layers in order for me to paint onto my own landscape, using these tutorials.

From 2:10:00

How to create different landscape material layers:

  • In Content browser, create a material folder. Right click > New Material, name it as Landscape
  • Open up the material, add LandscapeLayerBlend node (This will tell UE5 that this is a landscape material)
  • On left panel, click + to add new landscape layers. Name them accordingly
  • Import Textures into UE5
  • Add MakeMaterialAttribute node, connect Base color (RGB), Normal (RGB) and Roughness (G) to it.
  • Add Texture Coordinate, Multiply and ScalarParameter (for tile), connect to textures’ UVs
  • Right click on material > Make Material Instance, drag this into Landscape Material. If you open this up now you can modify the tile that has been added beforehand.
  • Repeat accordingly to create more material layers.
Tip: Hold alt + click on lines to break connection
Ctrl + W = Duplicate a node

Example of how to create and organize material layers.
I tried to mock up my scene in Blender, obviously was not going as well as UE5 since I used hair particle system to create the grass and it was VERY heavy
experimenting with painting and sculpting Landscape in UE5


Unreal Engine 5 for VFX/Cinematography

Pre-visualization (Previs)
• Prototyping: Quick assembly of scenes to visualize what the final output might look like.
• Real-time rendering allows us to make creative decisions early in the production process.

Real-time rendering & animation
• Real-time rendering capabilities allow for immediate feedback on character animations, lighting, and textures.
• Real-time motion capture

Virtual Production
• LED Walls and Virtual Sets: The engine can be used to drive large LED walls to create photorealistic backdrops, significantly reducing the need for location shoots.
• Integration with real-time tracking systems allows virtual cameras to move with physical cameras, making the virtual environment more interactive and realistic.

Post-production
• Compositing
• Particle Systems and Simulations: For scenes requiring complex particle effects (smoke, fire, etc.), these can be created and rendered within the engine.

Final Output
• High-quality Rendering
• Multi-platform Delivery

Benefits for VFX artists
• Cost-Efficiency: Real-time rendering can save both time and money compared to traditional methods.
• Collaboration: Multi-user editing capabilities make it easier for different departments to collaborate in real-time.

Workshop notes:

Important setting in Editor preferences:
• Invert Middle Mouse Pan
• Orbit camera around selection
• Enable Arcball Rotate
• Enable Screen Rotate
• Left Mouse Drag Does Marquee in
Level Sequence Editor

Real-time Project Setup using Lumen and Nanite:
• Occlusion Culling = turn off
• Enable Virtual Texture Support = on
• Global Illumination = Lumen
• Reflection Method = Lumen
• Software Raytracing Mode = Global Tracing
• Use hardware Raytracing when available = on
• Support Hardware Raytracing = on
• Allow Static Lighting = off (if you don’t have any baked lighting)
• Separate Translucency = off (better Depth of Field)
• SM6 = on
• Default RHI = DirectX12
• Shadow Map Method = Virtual Shadow Maps (Beta)