Sunday 8 December 2019

1950's Alien Invasion - All Weeks - Part 2

Materials

Materials are important in an environment, the first Material I wanted to create was for the ground as its the foundation for everything else to be built atop of. My goals for creating the material was to be able to blend between versions and break up the repeating pattern (tiling) to make the ground look more unique. To do this I need three materials, one which is fully grass another that's just dirt and a blend between the two.   





This is my first pass at creating the ground. What's good about this is that the grass looks convincingly realistic, the randomness in the grass blades helps sell the look as well. What's bad about this is the dirt. It looks too noisy, and has no defining features. It just doesn't look realistic. 



  
This is my second pass at creating the ground. For the grass I added more colour variation to give it a sense of some dying/dry grass mixed in with fresh green grass. I feel like this helped to add another step in realism as grass would differ in patches of texture, colour and dryness. I've also improved the ground by having size variations of rocks and pebbles. I also added in some small grass blades to the dirt, to make it look as if grass is trying/starting to grow in this dirt.


The next thing I created was the wooden beams that would be seen in the barn behind any structural pieces. What I wanted was a look of age whilst also having variation to make it look like each plank has its own story and is unique. 

Sunset Overdrive - Ultimate Trimsheet

One thing that I wanted to try this project, was to apply edge normals differently to how I would normally do. In the last 2 projects the way that I would add normals to my geometry, would be done by chamfering the edges and then weighting the vertex normals. This makes low poly assets into a "mid poly" asset. However, games in the past didn't necessarily use this technique to add detail to large structures in environments, due to a need of being resourceful with tri's so that the game will run smoothly.

So how did they do it? Well there are two ways, but in this project I'm going to go into one particular technique that was used in Sunset Overdrive. This technique is called the "Ultimate Trim", this requires you to have a standardized trim layout (which I didn't do) and a 45 degree normal map bevels along all edges.

You also need to unwrap the object to the Trimsheet and make sure that the normal's are lined up correctly on the edges. Here's an example given from the GDC talk



As you can see the results are great, although there are some details being slightly distorted. But this can be fixed by spending more time on the unwrap. 
Another thing that needs to be considered is having some padding around the edges of the unwrap, so that when the texture is mipped, the normals won't bleed into each other. 


Now that we've talked about the basics of what this technique is, I'll show what I've created. You might recognize this from part 1, as I used this texture to demonstrate gradient maps in Unreal.

There are two major differences between my texture and Sunset Overdrive. One alright, one bad. The first is that I wanted two different types of bevelled textures. One which has an end or an edge, and one that tiles forever. My reason for this is because some structures in my environment, have very long width. And it would look very strange if it was made from multiple planks of wood. So having no repeating end edges is a benefit. 

The other difference is that I did not create this using pixel ratios. Earlier I mentioned that there is a need for standardized trim layout. This means that the trim can be separated as each line of detail are x-amount of pixels high. This is important, because there are tools that can be used to help map unwrapped geometry to the sections of the trim. If you don't use this, then it will take a long time unwrapping each object by hand to fit the trim, which can lead to a lot of back and forth from unwrapping to exporting to Unreal. (Which is what I ended up doing)

Since I was only creating a wood trim with no metal, I was able to freely use the blue channel and alpha channel. I plugged my height map into my blue channel so that I could use the greyscale image to colour in Unreal with gradients. I also added a sort of old worn paint mask to the alpha channel. I wanted to have some wood planks look as if they're reclaimed wood, and that they'd still have chunks of paint that's adhered to the wood.   


The Barn

Here are some early development screenshots of the interior of the barn. I wanted the barn to be fairly large in size, so that the player doesn't feel suffocated when inside. A good way to make a small space seem more open or large is by increasing the height of the ceiling. 



Here are the references that helped me in planning and creating the architecture. 


Although I mainly used this image in helping to guide my structure. It was a very clear and understandable image, and I could visually break down each component that makes the support. However there is one difference between this image and my barn, the walls are a lot shorter and the ceiling begins much earlier than my barn. My solution was to just add another layer of supporting beams.


Reference images were sourced via Google Images.




No comments:

Post a Comment