Soulcatcher
Bounty in Blackwood

Soulcatcher is a dark fantasy saga that follows several characters as they go about their various adventures while a dark threat looms in the shadows.

On this page, I share my journey from the early stages to the latest iteration.  The most recent version will always be at the top of the page.

Tools & Software

Development Log

Below is a chronicle of my journey in creating this piece.

Log Entry #1 - Blockout

My first step in making this video was to create a video storyboard in which I blocked out the shots.

I wrote a script for the story and generated the audio early on, so I had something to pace the shots to.  

My initial plan was to cut back and forth between the past and present as we learn about the events leading up to his current situation.

However, because I was new to this type of project, I decided to keep the project simple and have one location with 'memory echoes' playing over the action.

I used Eleven Labs text to speech for the characters.  They are the same voices that I use in my audio book.

Manny had the honour or standing in for Eradin.


Log Entry #2 - Environment

The next step was to create an environment for the trailer with Unreal's landscape and foliage tools, as well as with some asset packs.

The trees and ferns are from the The Forest asset pack from the Unreal Marketplace.

I created Eradin's model in Daz Studio using the Genesis 9 figure.

Finding the correct pipeline from Daz to Unreal proved to be a bit of challenge, particularly in getting the skeleton bones named correctly.  Daz has a different naming convention for the bones than Unreal.

Below is the pipeline that I used.  I add the name of the software to the extension to keep track of where the export came from.

Daz

Blender

Mixamo

Unreal Engine


The resulting character isn't perfect; the hair clips into the outfit, and the hair is extremely high-poly.  I'll fix this later when I convert the head over to Metahuman.

For previz, however, the imperfect character was perfectly suitable.

Log Entry #3 - Opening Sequence

At this point in the project, I was feeling much more confident with the process and that I just might be able to pull off my original vision for the story.

I used the camera rail quite a bit in the project so that I could have the characters move along a curved path.

I also delved further into the character animations.  I blended the Mixamo animations with a layered control rig so that I could adjust the poses as I needed.

For the shot where Eradin slams his tankard onto the counter, I turned on inverse kinematics for the right hand and parented it to the tankard.


I did the same with Jasper's right hand with the bounty note.


I should point out that I was only interested in what would be in-frame.  This sped up production a bit, as I didn't have to worry about perfection.  

However, it did lead to some interesting poses :)

Log Entry #4 - Advancing the Story

I continued building out the story in scene order.

Ravens play an important role in my story, so I wanted to make sure that they were visible in certain shots.

I initially used a crow for the raven from the free Animal Variety Pack on the Unreal Marketplace.  I felt that it was good enough for previz purposes.


I added a bit of a wild camera movements to zoom into the raven.  Admittedly, it was a bit too much, and I ended up changing the shot later.

Shooting from the raven's POV also solved another issue: The characters would be too far way for me to worry about lip sync :)


One of the issues of using a Daz character with its hair feature is that the model comes in with a VERY high vertex count, which is the cause of the fireflies in the render.  Each hair seems to be its own set of vertices.

I'll solve this later by switching to metahuman heads.


For the Beast's POV shot, moved the camera along a rail and added a slow camera shake to simlulate the creature prowling through the forest.

Log Entry #5 - Melantha on Shady Lake

For this sequence, I created a new level that shared the morning lighting with the Lost Arrow Lodge.

This clip shows the original Daz version of Melantha.  She, too, was plagued with eyebrow fireflies.

I used three animations for Eradin:  a walk animation along the camera rail, a "walk to standing" animation, and a "standing idle" animation.

There were some jumps between the animations, which were obscured by clever camera movements and branches that blocked the view.

I added a camera shake to the raven's POV to simulate its wings flapping as it landed.  I found that this was a little too much, so I removed the shake in a later iteration.

Log Entry #6 - Painting away the fireflies

At this point in the project, I decided to add a music track.  I created some placeholder music tracks using Udio.  Using Adobe Premiere, I was able to adjust the music volume so that it was not overpowering.

I removed the facial hair (beard, eyebrows) from the models and used texture paint in Blender to draw them back on.

The good news is that the fireflies were gone.  The bad news is that the characters now looked like Mattel dolls.

Again, it's probably acceptable for prefiz purposes, but I eventually replaced their heads with Metahuman ones.

Log Entry #8 - Nearly done

This is the semi-finalized version of the complete story.  

I had swapped out the character's heads for the Metahuman versions and finalized the story.  

Both Eradin and Melantha are Half-Elves, and should have pointed ears.  Fortunately, their ears are hidden by their hair, so it wasn't an issue.

That said, I'll look into modifying the head mesh in Blender so I can let their Elven heritiage shine through.

At this point, I invested in a more detailed raven model (Raven NPC With Animations).

In addition to continuing to add music tracks, I also added some ambient forest sound effects and the raven's cawing.

Log Entry #9 - Extra polish

After reviewing the video a few times, I noticed a few things that I wanted to change.

I felt that the dock was a bit too wide, so I cut it in half.  The Lost Arrow is, afterall, a small rustic lodge, so it wouldn't have a particularly large dock.  It also serves to tighten up the shot a bit.

I also updated Melantha's animation.  When we first see her, she is staring across the lake towards Blackwood in an almost catatonc state.  

When Eradin approaches and greets her, I gave her a bit of a reaction.  She blinks out of her state and smiles, indicating that they are friends, and that she is motivated to help him.

As she is a half-elf, I also gave her elf ears.


Eradin is also a half-elf, but his shorter elven ears are hidden under his hair.  

From a narrative and world perspective, each half-elf is unique, and their elven traits manifest in greater or lesser degrees.