Navigation

 17th October - 21st October 2022
Upskill 2022 Development Blog: 17th - 21st October 2022 (zachwilkinsupskill2022.blogspot.com) 

7th November - 11th November 2022
Upskill 2022 Development Blog: 7th- 11th November 2022 (zachwilkinsupskill2022.blogspot.com)

14th November - 18th November 2022
Upskill 2022 Development Blog: 14th- 18th November 2022 (zachwilkinsupskill2022.blogspot.com)

21st November - 25th November 2022
Upskill 2022 Development Blog: 21st - 25th November 2022 (zachwilkinsupskill2022.blogspot.com)

28th November - 2nd December 2022
Upskill 2022 Development Blog: 28th November - 2nd December 2022 (zachwilkinsupskill2022.blogspot.com)

5th December - 9th December 2022
Upskill 2022 Development Blog: 5th - 9th December 2022 (zachwilkinsupskill2022.blogspot.com)

5th - 9th December 2022

Now, despite finishing the overall scene, I did want to try to add one more thing before hand in: Sound. 

Sound is something I have enjoyed since I was a child, and I feel that music and ambience can make or break a scene. It can evoke emotions within the player and I can guarantee on a personal level that most, if not all, players have experienced more of an impact from games when music has been introduced. 

Only a few games get this right, with one notable instance being Red Dead Redemption 2, at the very end of the game where the Main Protagonist, knowing he is approaching his death, takes his last ride to the final confrontation with 'That's The Way It Is' playing over top of it. It almost has a sense of finality to it -- of sad acceptance as the player and Arthur (the protagonist) reaches the final showdown with the antagonist. 


Another instance of this is Life is Strange Season 1 -- in the final sacrifice made by the deuteragonist. The Player had, previously, spent months (as the game was released episodically) getting to know and love the character, only to need to sacrifice her at the very end of the game to save the rest of the town. As is similar to Red Dead Redemption, the song 'Spanish Sahara' by Foals plays as the final scene rolls. Again there is a sense of finality in the song, while keeping true to the indie music that had been used for the rest of the game. 


For this particular scene I wanted to stay away from music, and stick with ambience. If I were to go into more detail, I would have done the cinematics outlined as my stretch goals, but in this instance just an ambient sound would be fitting. 

I chose a forest ambience with bird song and other nature noises and then added in a wind sound, as if it is blowing through the branches of my trees, both of which being copyright free under the creative commons license, as my project is non-profit and for personal use only. 

It was important that both of these sounds were downloaded in a .WAV format, as Unreal Engine uses this format for Audio. I brought them in, right-clicked on the sound files and selected 'create cue' before opening up said cue.

I selected 'Loop', saved, then dragged the sounds into the scene, and setting the volume and pitch to 0.5 on each one. This ensured there would be no explosion of sound as soon as the simulation began. 

17th - 21st October 2022

 As stated in my R&D Proposal, the plan for this week was to have my idea fleshed out, my moodboards started, and my blockout done to a basic level in Maya. 

I did this to the best of my ability. Due to stress of the module, and other life stressors I'd rather not talk about in an educational setting, I have had to spend a lot of time away from the computer and as such have had to ask for an extension to my deadline. 

I did however complete my goals for this week, finishing my moodboards and even getting the blockout done and to scale.

The first thing I did was finalise my idea and make a rough 2D blockout  for what sort of things I want to include, and what the main angle of my cinematics / renders will be. My idea is to create a scene inspired by Red Dead Redemption 2; a realistic Environmental Diorama of sorts in a small-scale area that gives the illusion of being much larger by padding it out with trees and other foliage. 

So with that in mind, I decided to include the following:

  • Scattered Trees and other Foliage
  • A Log Cabin
  • A Tree Stump with a Woodcutter's Axe
  • Log Pile beside the Axe

I chose this theme because Red Dead Redemption (2010, Rockstar North) was one of the video games that solidified in my mind that I wanted to be in the games industry. Red Dead Redemption 2 (2018, Rockstar North) was released the year I started University, and I feel this is almost a sign of sorts (at least to me) that I'm on the right path. Rockstar is also known as a pioneer in Open World Gaming, with Grand Theft Auto 5 (2013) still being popular almost a decade later and being one of the most expansive open worlds to date.


Tuesday 18th October 2022

To start development, I first researched the average height of a man in 1908 -- as this will play a huge part in how tall I make my cabin. I know the Unreal Mannequin is 180cm (around 5 Feet 9 Inches) tall so I did some reverse maths and found that the average man would have been around 2-3 inches shorter. As such this means my doorways need to be suitable for someone 5 Feet 6 inches in height. 

I then did further research, finding this website which goes into detail in a very simplified way, and found that the average log cabin in 1908 consisted of one room and had the following dimensions:

Height - 2.5m
Width - 3.1m
Depth - 5m

 After that, I had to put together my blockout properly. It was relatively easy, as I wasn't focusing on secondary or tertiary details at this point -- merely on basic shapes and greyboxing. It is hwever important to be able to recognise the objects (something I learned through Journeyman in second year). Then, once I was certain of what I wanted my scene to look like, I moved onto making my moodboards, which you can find below.

Blockout set up in Maya 2023






 
Every  tutorial or piece of literature I've seen starts with creating assets, so that's what I started with, too. This is to make the move from Maya as quick and easy as possible. I started with the Log cabin, building the core structure before adding in my other smaller details, while ensuring I kept to the dimensions stated above. 
 
The windows were something I changed midway through modelling the cabin's walls -- originally intending to go for a more rounded style, but eventually settling on a wooden plank style, as you can see in the images below. I researched the average width of wooden planks (which turned out to be 5 inches) to achieve a realistic aesthetic, and then added divisions in yet again in order to get the desired look. 
 
 
https://www.myfreetextures.com/two-images-window-old-rustic-log-cabin/

 
Once the core structure was done, I moved onto the roof. I plan on using a tiling texture that I will create in week 6 or 7 on the roof, so as such it will remain very basic for the time being.I also added in variation on the logs, adding divisions to them and moving them, scaling them etc to give them a more natural feel. 
 
I also found this image (website linked), which I took inspiration from in order to model the roof and front porch area from there onwards.  I liked how simplistic it was while retaining a 'homely' feel, which is exactly what I wanted from my project.

http://grannyfiddler-northofsanity.blogspot.com/2011/09/yukon-thursday-april-15-1976.html
 
I continued in this way for a full day, creating mesh after mesh and eventually ending up with doors and shutters, too. 
 
Then I took a step back and looked at the reference I'd put together, and decided to advance my skills further by adding a porch area to the cabin. This will be supported in Engine with a small amount of landscape tool usage and Landscape painting, both of which I will research further when the time comes. 
 
I did also add in a chimney and some supporting stonework mesh beneath the foundations, but as you can see I didn't manage to get screenshots of these. 

I then moved onto modelling the hero asset of the environment -- a Lumberjack axe that will sit beside a log pile and some chopped up wood.

Thursday 20th October 2022

When I started thinking about what asset I wanted to make to be the centrepiece of my scene, I knew I didn't want anything too flashy, as I didn't want it to take over the scene or attract more attention than absolutely necessary. So as such I decided to create a simple axe that I would create in Maya, have it sticking out of a tree stump, and have it set beside the architectural piece in a soft light. 

So I started researching axes (see moodboard above) and found one I liked, being a 'Northlander Forest Axe' from Northmen Guild (Available here). This axe has the following dimensions:

Overall length: 25 Inches / 63.5cm
Axe Head: 6.4 Inches / 16.3cm
Cutting Edge: 5 inches / 12.7cm
Overall Weight: 3.3lbs / 1.5kg
Rockwell Hardness Level: 59-60
 
'Northlander Forest Axe' / 'Stalwart' by Northmen Guild 
 
As you can guess I was already slightly nervous about the curved shape of this object. Primitives in Maya are extremely good for hard surface, but for a curve such as this they are extremely tricky to work with, especially under time constraint. With this in mind I opted to learn to use NURBS Curves and convert to Polygons using Birail, Loft, Lattices, and other modelling tools I've never used before. 
 
The first step was to load in my image (above) and trace all outlines using the CV Curve tool, snapping together the ends of each curve using [C] while clicking and dragging to the end points. 

I added a connection point along the top to match with the two points along the bottom edge, separating the top curve to make the next step easier, using the following commands

Connector Point > Click + Drag along the top curve > Curves > Detach
 

I then used birail to connect the edges. I did this by going into the 'Birail 3+' tool as the left part of my model has three curves, bringing up the options menu, and then applying the following commands before editing the Tesselation under the 'Input' section of the Attribute Editor, upping the U and V numbers to better reflect a smooth, useable topology.


It's worth noting that my curves were not equal in terms of curve points, so as such I had to rebuild them. It's relatively easy to do this in Maya, and the quality of the turnout is worth the extra step to create good topology.I used the same technique on the handle using the following parameters, and the outcome is something I am more than happy with. 

 
 
(Above left - before Curve Rebuild / Above right- after Curve Rebuild)
 
After creating the mesh for the handle I used the Slide Edge tool, which uses the existing geometry and allows me to create a non-destructive edit to the mesh's current silhouette / shape. This is definitely a tool I will be using more often in future, particularly for gun grips, smooth assets, and other semi-organic, curve-based structures.
 
Slide Edge Tool use (circled)
 
After this it was a matter of quadding everything that needed to be quadded, and then applying a lattice to deform the clean mesh I'd made before unwrapping and moving onto my high-poly. 

Before Lattice

 
To get the high poly, I simply smoothed the mesh and added in holding edges, and then softened all of my edges afterwards. I applied a blinn to check that there was no pinching, before making sure the Low and High poly laid correctly over each other (no random protruding edges etc). 

Low Poly (Left) | High Poly (Middle) | Reference (Right)

High and Low overlaid (Left) | High Poly with Blinn (Right)

28th November - 2nd December 2022

 29th November 2022

After taking one final look at my scene I decided to add one more asset in the form of a rocking chair on the porch. I won't go into detail about this portion, as (again) I have done the high-to-low baking multiple times over the course of my University life. However, I did learn how to use the NCloth system in Maya in order to create a pillow to set up on said rocking chair. 

 NCloth can be used, quite simply, to emulate cloth physics in Maya by using gravity mixed with other factors (curtains, cushions, hanging coats, etc.) to create solid polygonal meshes that can then be textured in other software. 

 Step 1 - Create a Cube (or any other shape, but in my case it was a cube with quite a lot of geometry to allow for realistic physics. I used 50x50x10 (H x W x D)

Step 2 - Go into the FX Panel and Create the NCloth 


Step 3 - Set the Gravity to 0 and the Pressure to 0.5

 

Step 4 - Press the play button on the animation and watch as the pillow poofs up.  

Step 5 - Generate the Low Poly Mesh from the NCloth Model (I use reduce and then retopologise if needed)

 


Step 6 - Display the shapes in the outliner and then delete the ones that don't need to be exported (just the mesh itself). I learned this the hard way and ended up with errors before I found a tutorial that showed how to export them properly.


From there it was a matter of simply treating the mesh as I would any other mesh, unwrapping it before taking it into Substance Painter and applying my usual technique of building layer after layer to create something unique. I did make sure to add wear to the pillow, as it is supposed to be sitting on a porch in the woods, so that was something I kept in mind. 

1st December 2022

As Vice Chair of Comms for Games Art Society at Teesside University, I attended GameBridge and displayed my work alongside other Society members. During this I recieved feedback from artists at Double Eleven, Radical Forge, DogBox Games. As such I wasn't able to do much work that day.


2nd December 2022

 Today I met with my lecturer, Paul, and recieved verbal feedback on the initial build of my environment from both him and my classmates -- I did this as I'd been working for so long on the build that I needed a new pair of eyes to see any errors I may have missed.

The feedback was positive, thankfully, except for a few details that I could work on. These were:

  • Change the alignment of the logs on the cabin to interlock better, as geometrically the initial build was impossible.
  • Add dirt and moss to the logs as they looked too clean
  • Add scatter assets around the cabin such as rocks and logs. I downloaded two rocks from Quixel, scattering those, and then created logs using the same method I used to create the tree stump.
  • Add variation in height to the landscape
  • Add variation in density to foliage, and make the initial pathway narrower on the lead-up to the cabin

 All of these changes were fixed that very day, and I was ready to take my final beauty shots the next day when I remembered that I hadn't added in a screen mesh to the screen door. This was something I fixed as soon as I realized, taking a screen mesh from a free texture website (royalty free) and assigning it to a flat plane, before scaling it to size in-engine. 

After that, I focused on lighting. To get the result I wanted, I did just stick to the basic Directional light and Exponential Height Fog combo we are initially given in UE5 when the level is built, but I wanted to try to create a Sunset, having the Directional light on the left of the screen as in the general level, this would be due west. 

I activated Light Shafts within the directional light and added exposure in the PostProcess Volume, before stepping back.

Before Fixes

 
After Fixes

Once that was done, it was finally time to generate some beauty shots (one of which you can see above) and post them to art station.  

21st - 25th November 2022

 22nd November 2022

Now that my scene is set up, the plan is to focus solely on assets and get those in before the 30th November in order to stay on-track for hand-in on the 18th December. 

 My first, most important asset is obviously my Log Cabin itself. I focused on getting it up to a standard I liked before creating the high-poly variant. Then, once they were done, I had to move onto the unwrapping process. 

I won't go too much into detail about the hard-surface modelling aspect of this module, but it is worth noting that I had never created any form of architecture before, and as such I had to get some advice from my lecturers, Shafeq Rahman. 

I looked into what I could do, and considered very briefly using UDIMs after seeing them crop up in quite a few videos, but was advised not to due to them being prevalent mainly in animation as opposed to games. Instead, he advised me to make more than one texture map, splitting the cabin up by material or feature. So this is what I did, assigning matching Lamberts to the elements I wanted in a shared texture, and creating three different 4K UV maps. 



From there, it was a simple export out and into Substance Painter, where I experienced what I like to refer to as 'frilling', which is where assets that are extremely close end up bleeding onto one another's normals. I noticed it particularly on parts such as the windows and the base planks. 

It was an easy fix, going back into Maya and separating the problematic assets, reassigning them individual names, before re-exporting and baking the high onto the low by Mesh Name in both the Common Attributes menu and the Ambient Occlusion. This avoided most if not all bleeding onto other assets. 

 


From there it was simply a matter of texturing the model as I normally would, layering different materials and adjusting the existing ones in order to get something akin to
a natural looking Log Cabin. 

Cabin Texture Map A:

Albedo 
Normal

Packed MRAO Map

Cabin Texture Map B
Albedo Map
Normal Map

Packed MRAO Map

Cabin Texture Map C

Albedo Map
Packed MRAO Map


From there, as with all assets, I moved into engine and imported the base mesh and textures, and creating a material. For this I used the following prefixes / labels:

  • Mesh = SM_[Name]
  • Albedo Map = T_[Name]_D
  • Normal Map = T_[Name]_N
  • Packed Map = T_[Name]_MRAO
  • Created Material = M_[Name]

While this isn't necessary, I felt it would speed up my workflow and aid me in the long run while trying to find different assets or materials. It also stops the project becoming cluttered or unreadable. 

24th November 2022

Looking back at the initial plan, I only had one or two more things to make and import into engine, being a Tree Stump and a log pile both for residing beside the cabin. 

To start with, I focused on creating the stump as it was not only a focal point of the scene, it was also a very big part of my hero asset. So to do this I took one of my trees, cut out the polys that were unneeded (namely the top and the leaves) and then filled in the center. I tried to use this base log, but the outcome was less than optimal. So, instead, I created one from scratch, adding enough geometry to make the stump look round as opposed to having visible edges.

I Smoothed it, then took it out into Zbrush where I sculpted in some  detail along the bark, before baking the High Poly onto the Low


 Once again I layered the materials up in Substance Painter, making sure I used the same material I'd used on the bark of the trees to have some consistency across all the models. I also made sure to add dirt and other imperfections, so that when rendered it wouldn't look perfect or too clean-cut as the man living in the cabin would have been hacking at it, meaning it would be dirty, and uneven, and thoroughly imperfect.
 

After that, I brought it into Unreal and set it up with the axe sticking out of it, assigning the materials in the same way I'd assigned everything else. 
 
Then, after trying multiple times to create a realistic looking log pile for beside said stump, I decided to bite the metaphorical bullet and learn yet another skill: MASH. 
MASH is a powerful physics tool in Maya that is most often used in regards to randomly scattered objects within a scene or model (such as sprinkles on a donut). I found a tutorial that walked me through every step of the way, and as such I created what I felt was a realistic-looking (or at least semi-realistic) log pile. 
 
Step 1 - Create the basic low-poly Meshes and unwrap them. Lay them out in a UV Grid and make sure they are centered in the world with a central pivot (deleting all history and freezing Transorms)


Step 2 - Create a MASH network and switch to the FX Window. I had to open up the MASH window Editor purely because otherwise my MASH system would come in as an Instancer by default, which I would need to set to 'mesh' instead, and choosing a grid layout.
 
 

Step 3 - Go into MASH Distribute and set the amount along the X, Y, and Z axes, using the Grid Distribute option. Also changed the rotation, the mesh itself, and other settings to allow randomness in the model by using an ID Node and other


 Step 4 - Add a Dynamics Node to the MASH editor and toy around with the different settings until there is a specific setting that looks right. I chose to add a collider to box in my geometry, which in turn stopped my logs from going too far from each other and rolling away from the scene.


Step 5 - Duplicate the Model, Delete all History and Transforms, and then texture it as I would any other asset, having already unwrapped the geometry so thus only needing one texture per log rather than having to texture each individual log. 

 

Step 6 - Take the final model into engine.