Wednesday, March 30, 2022

Final Major Project - Floor Tiles

Making Materials in Substance Designer

    When it comes to creating the bases for tiling materials such as metal, different types of wood, floor panels and such, I've always preferred making them in Substance Designer rather than heading straight to Substance Painter. The reason for that being that Substance Designer gives me a lot of freedom when it comes to creating a base from scratch. 

    In terms of the floor tiles in my scene.. I remembered this very useful tutorial that I had watched for one of my previous projects last year and I decided to apply it once again, only this time make sure to do it better as I had a much better knowledge about how to use Substance Designer. (TIMELAPSE | Substance Designer Tutorial | Marble Tiles - YouTube).


Graph




    I began by creating a Checker 1 node in order to set up the pattern that I wanted - the squares. Then, I connected the Checker to a Tile Generator (in order to create the actual pattern) and the Tile Generator, I connected to an Edge Detect. What the Edge Detect does is detect the contrast in any image that's black and white and create a black and white mask, highlighting the contract. 

    Next, I created an Invert Greyscale node (in order to invert the colours because we want the black to be invisible and the white to be visible), a Histogram Scan and a Levels node in order to regulate the lightness and the darkness of the black and white manually. The created pattern is what I connected to a Base Colour, to which I'm going to add a Gradient in order to adjust the colours, to a Normal, to Roughness and to an Ambient Occlusion. 


Creating Dirt




    I quite like adding small details such as scratches, dust, dirt, etc to my materials because in my opinion, they add so much to the immersion - almost nothing in the real world is spotless, unless it's brand new I suppose.. although the furniture in my environment is very far from that, so. 

    I created the dirt effect by adding a bunch of different both Grunge and Cloud maps, then adjusted their settings in order to make some stand out more than others and capture somewhat of a more realistic feeling. (Adding Grain also works.) In addition to that, I added a couple of Blurs in order to make the spots not stand out too much. 


Result



    What I would like to do next is adjust the Gradient map in order to get the right colours for my environment. In my next entry, I'm going to insert some Beauty Shots of the progression of my level, as well as the result of the floor tiles.

Monday, March 28, 2022

Final Major Project - Unwrapping (Part Two)

 Unwrap Sheets

JPGs





PNGs

    I saved most of my unwraps sheets, except for the two above, as PNGs because it's the format that I prefer working with. It is practically the same - the only reason the background is white instead of black is because PNG format reads black as empty space. This is very easily reversible in Photoshop, if I ever need to texture the map manually by hand. 
















Wednesday, March 23, 2022

Final Major Project - Unwrapping (Part One)

 Unwrapping

In development..





    When I start unwrapping, I like to spend time making sure that my the assets in my unwrap sheets are spaced around evenly and are put together neatly. This helps me out a great deal later on when it comes to texturing because for example, I know that the door I'm going to be texturing has been unwrapped in the top right corner and the chair is in the bottom left corner.. instead of having parts of one asset scattered all over the texture map. This way, I also find it a lot easier to texture in Substance Painter because for example, sometimes I like to paint on the actual texture sheet using paint brushes. Even if I just want to select parts to texture by polygons, it still works just as nicely. 


Texel Density

Example



    In most of my previous projects, I encountered quite a lot of issues because at first, I didn't pay enough attention to Texel Density and kind of disregarded it. However, I learned the hard way that I can't really afford to do that anymore because it takes me so much more time and effort to fix it later on, rather than get it done right from the beginning. When unwrapping. 

    I've learnt that often times, the reason poor Texel Density creates issues, when the object hasn't been unwrapped correctly, is because it makes a lot of textures skew for example. I have quite a bit of unwrapping to do next because I hadn't realised just how many objects I have in my scene, therefore Texel Density is now something that I'm aiming to attempt getting done better than I have in the past.

Monday, March 21, 2022

Final Major Project - Animating a Door (Blueprints)

Learning how to make objects interactive..

    Before this project, I had never animated or made anything interactive using the Blueprints section in Unreal Engine. So at first, I felt a little intimidated because I didn't quite know where to start - however, one of my course mates helped me out a great deal by explaining to me what most things mean and do in the Blueprints layout in UE4. So that's where I started.

    I had already modeled the door, although in order to make only the door open and close and not the entire door frame, I had to go back to 3Ds Max and separate the objects. Then, I imported everything in Unreal Engine once again, opened Blueprints and used a little default cube to put in the bottom right corner of the door in order to indicate exactly where the opening and closing of the asset is going to be. 




    The ''E'' is just a little something that I attempted to do.. I wanted to also try making it appear on the screen once the player goes close to the door so that they would know what button to press in order to interact with it. Below, I'm going to explain how this plan failed and what alternative way I found to make this clear. 


Blueprints 




Duration




    In order to make the player be able to interact with the door only when they're close enough to it, I create a little box that surrounds the area around the asset. This way, the player will be able to close and open it only once they go inside of that box. It's invisible when the game is in normal play mode, but it's visible when you go back to the default mode in order to continue building and editing your level. This way it can be changed manually, if needed. 


Blueprint Graph






    In the Blueprints, what we do is create the actual event that's going to play out in the game. First of all, I set up a button of my choice (it can be any, in my case I simply chose E) that upon being pressed would make the interaction happen. Second, I set up the little box that I had put in the bottom right corner of the door as an Action Location, which indicates where the animation would work from. And lastly, I added a Control Rotation because I figured that's what's going to make it open by rotation, therefore in the correct way I want it - towards the player. 

  
Press "E" to interact




  The problem that I had was making this text, Press "E" to interact, appear and disappear also only when the player was inside of that box and close to the door. However, no matter how I tried to do it, I couldn't get it actually appear and disappear - it would either be there consistently or not appear at all. So in the end, I ended up deciding to use a default text in Unreal Engine to just indicate to the viewer that they can continue further in the environment and enter the next area by pressing that button. 

    Learning how to make that one particular thing work in future projects is currently one of my stretch goals because I think it would look quite nice and add a lot to the overall immersion of any game. I've really been enjoying learning about Tech Art a lot his year. It used to intimidate me in the past, but now I've realised just how many cool things there are that I can do with it. 


The Attempt




:(

Wednesday, March 16, 2022

Final Major Project - Spider Webs

 Spider Webs 

Plane made in 3Ds Max



    Although the environment in my project is one that's being used on daily basics, I wanted to suggest that it's very old nevertheless, and not often cleaned and tidied. One of the ways in which I wanted to portray that is the overall mess - scattered books and sheets of paper that pile one of top of another, furniture that's been shoved in the corners and untouched ever since.. and spider webs. 

    In order to make the spider webs. I made a plane in 3Ds Max, unwrapped it very basically and exported it in order to import it in Photoshop. I decided that it's going to take me a lot less time to just do it in Photoshop instead of making a material in Substance Designer. 




    Making an alpha map in Photoshop is very easy, all you need to do is make sure that your sheet is only in black and white and then create a new channel. The reason it needs to be in black and white is because when it comes to alphas, everything that's black is going to be what's invisible and everything that's white is going to be what's visible. In this case, we want only the lines to be visible because webs are almost transparent, except for the thin lines. You can very easily adjust the black and the white in Photoshop by using Levels in the adjustments section.

    In addition to that.. this is the royalty-free website that I used in order to find some images of spider webs and edit one like that. 

Example



    The next thing that I did was export the texture map from Photoshop and import it in Unreal Engine, then turn it into a material. Alphas are only going to work if the Blend Mode in the material properties is set to Masked, because that way Opacity Mask is enabled and what I do is connect the texture map to both Base Colour and Opacity Mask.

    I decided to animate the spider webs and make them move ever so slightly. The reason for that is because outside of my environment, I imagined the night to be very cold and windy, therefore some of that wind would surely pass through the window frames and the doors that would open and close.




    In order to do that, I used a SimpleGrassWind in Unreal Engine and I created a Wind Intensity, a Wind Weight, a Wind Speed, and an additional node for it. Then, I created a material instance and adjusted each of these in order to make the webs move. Not too rapidly but slightly, just to indicate that there's some air and wind swirling through the air. 


Graph 



Material Instance




Result




    Now that I've made the spider webs, I would like to spend some time spacing them around the edges and corners of every room because I quite like the vibe that they add to everything else. It makes the space look a little bit more alive.. not necessarily in a very pleasant way though, which is intentional. 

Final Major Project - Beauty Shots

  Final Major Project  Beauty Shots      In a way, it's so very strange to me that this is going to be my final hand in. I have spent so...