Practical 2: Pixel Art Project: Post 2

 Separating my project into two posts - the previous post:

 https://katieloftsma.blogspot.com/2024/01/practical-2-pixel-art.html

This post will detail the bulk of the modelling and texturing processes. The previous post includes the conceptualising. 

View the final project in 3D uploaded onto Sketchfab here: https://sketchfab.com/3d-models/wizards-study-502d114c98fb494382bf318553936e2b



Modelling


Firstly I started with the shell of the room. I made this shell even before I started doing 2D concept sketches because I wanted to draw on TOP of this shell. This was important to me so that I could figure out visually how things will fit into this shell and it also gave me a base to work from and populate, whereas (knowing me) I might've spent a long time trying to just get perspective right on drawing the shell itself and go back and forth. This bit of the model is basically just a sketch but in 3D.



Modelling modelling modelling... 

I found that since this style is intentionally low-poly and without a lot of detail, I seemed to be quite strict on myself to try to densely populate this room, since in my head I kept thinking that the modelling itself is so simple, I don't really have an excuse to NOT jam in loads of things. 

You'll also see in that screenshot above there are two bookcases, with the one on the left not being used in the final showcase. Despite everything being very intentionally blocky and square, I felt like having one of the main assets in this project (the big bookcase) being too blocky just made it lack visual interest. So, I ended up swapping for the rounded bookcase that is in the corner as is in the final showcase. 



I also added some supporting trims to the walls, which were just made by duplicating the existing room shell, putting in some lines/cuts where I wanted the outline of each trim to be, extruding that, and then extracting the faces. I did it this way so that I could perfectly retain the shape of what I already had, especially the curve of the ceiling, though, I suppose it wouldn't really be a massive problem to do this any other way given that the project is so low poly - you could just manually snap the verts into place - but it is quicker to do it the way I did it, I think. 



With the trims as well, I deleted the back faces as they directly touch the wall and will never be seen. 

As a general rule I delete any bottom or back faces that will be unseen in my showcase or in a game anyway, however, with this project I approached that a bit differently. I was debating in my head if I ever wanted to put this up for sale on Sketchfab so that the assets could be used by others; so I thought that, if for example, I deleted the faces on the bottom of potions, the bookcase, desk, even books etc... It would reduce any use of those assets individually anywhere else and in any other setting/rotation. Even though many faces of the aforementioned assets in my deliberate scene are unseen and will remain unseen, if I or anyone else theoretically wanted to build another scene from my assets here with unique rotations and a set-up (like if the bookshelf was tipped on its side, etc), having all faces still available allows that. 

But of course, with these wall trims, even if they are placed in any way at all in the future that is different to the current setup - they should ALWAYS and very likely be placed against a wall - so I allowed myself to delete the back faces of these. 

The context of the individual asset is what allowed me to form this 'rule', thinking about future uses of my models and any possible usage by others too.


I also noticed throughout this process that eventually it became important to model things with the final camera perspective in mind. I ended up figuring that out eventually, rather, because at one point I realised an asset became completely unnoticable from the showcase angle...

1 - Overall room from the camera angle.

2 - Believe it or not, there are some books stacked behind that chandelier on top of the bookshelf, though, you can't see it from the showcase camera spot!

3 - Moving the camera a bit to the side (and NOT where the final showcase will be from) you can see where the books were actually hiding.

4 - I moved this asset more to the right side and placed the camera back around to where I envision the showcase to have it from, and now you can see the book stacks. 

This whole problem then sparked a sort of principle in my mind when I was modelling the rest of everything or went back to tweak things. Generally, I would take some of the models and just rotate them slightly to face the envisioned camera placement more. If you go to inspect the final showcase on Sketchfab in 3D, you'll be able to see this if you move the camera around the scene a bit. An example of this principle is that I ended up turning the desk's tome and book holder to face the camera to showcase this asset more - though, in reality, if you think about using this space as a real human, you're not gonna place the book you're working on at a slight angle, are you? You'd place it directly straight-on and facing yourself from the desk. 

Similarly, I did this with the chair, too. The chair is off to the side of where you would normally sit when working on a desk, and rotated a bit. I did this to actually show off the fabric seat of the chair to the camera/viewer, and also to show off the booleaned hole that resides on the back of the seat. Otherwise, it was hard to see these details from the camera angle, and the work would be lost. 

But of course, these are examples of creative liberties I found are quite frequent in the making of a scene in this style. 

UV


For the UV's, I decided to split up the main 'chunks' of models in my mind into four separate UV texture sets. Each colour here represents its own UV. The way I decided what should be grouped into one UV was dependant on the few 'main' points of visual interest in my scene as a whole - being: the fireplace, bookshelf, and desk. (Of course, the 'room shell' is big and important enough to just be on its own anyway, as it requires a lot if not most of the detail in comparison to the other models here, as it is the largest.)

So, establishing any one of the three main points of interest, I just included the immediate surroundings of that main piece to be included in that particular UV. For example, since the broom touches the bookshelf, it shall be included in the 'bookshelf UV'. 

It just kind of makes sense for things to be grouped that way, I think. It's quite similar (at least in my mind) that things follow a certain order, like when you might be painting a portrait, you might (or, at least I would) paint the skin first, and then the hair, and then other smaller things.

Texturing



To start with, I placed a random material and Pixel8r in my Substance Painter. I tested the differences between 1024 texture resolution and that of 512. I thought that at first 512 would be the way to go as it seemed quite odd to me to use a bigger texture resolution given that the visual style is of course pixel art -- not incredibly realistically detailed at all. 

Though, comparing that of 512 and 1024 and even other options, I ended up going with 1024 for most of the main UV texture sets. As you can see in the comparison image above, the 512 resolution makes the pixel effect quite blurry... Which was not my intention at all.

Perhaps if I was set a strict rule or brief to stick to 512 or lower, I think the solution would be to lower the pixel dimensions in the Pixel8r generator options. That would generally make the textures be less detailed though, which, was not how I wanted this project to look.

I wanted crisp pixels with defined edges. Not a seemingly unintentional blurry texture. 

So, I picked to go with 1024. 

Most of the time I work in around 4000 texture resolutions for my work anyway, so, 1024 is still fine to me. 


Zoomed out...  That random wood material I slapped on my layers to test my texture resolution alongside Pixel8r actually made me realise this whole endeavour had quite a bit of potential. More than I thought, really. 

Let's not forget that I did say I hated pixel art at the start of my very first blog post for this project, okay? Cut me some slack. 


But of course, before any of the fun texturing stuff -- I ORGANISE MY LAYERS. I NAME MY GROUPS. 

Like for example, I'll create a group called "floor". This will, as you probably predict, only be used to texture the floor of my project. So I'll apply a black mask on that group as a whole, and then use the UV selection to only paint WHITE on the floor. This makes it so it is impossible to texture any other part of the project and only the WHITE bit of the mask -- which is, of course in this case, the floor!

Rinse and repeat for everything else. Tedious, but, saves a lot of pain and effort down the road if I were to ever need to simply change the colour of ONE thing and not everything else. Or theoretically give this Substance Painter file to someone else in a team. 

Anyway, I just apply 'base colours' to everything that I think is close enough to what I envision the final colours to be like. Like e.g I imagine the floor to be a cold wood so I do a brown base colour, the walls a yellow-ish plaster, etc. 

Oh, and also -- All of my layers only have colour enabled. There is no need for normal, metal, roughness or height information, as the style is intended to only use base colour. Which can actually be quite good for performance in a game, too. 

But it can also mean that you need to be very good at painting information yourself and conveying the detail you want using ONLY colour. In some ways it is quite freeing, and in some ways quite limiting - depends on the person.

Or depends on the objective of your game or style. 

Much more thought goes into deciding an objective and purpose for a style rather than just something being pretty to look at. 

(Ignore the music...) 

I mostly end up handpainting a lot of this project BUT I still end up using generators and such to create easy and quick ambient occlusion as a base. As you can see in the video, it is quite effective still even with the pixel art approach.


Similarly, I still use quite a normal texturing approach to add base levels of detail before handpainting, like fill layers with a noise texture. What I found overall in the texturing process that is quite different even in this stage is that I would usually have to turn UP the contrast parameter quite a bit to get nice, crisp pixel detail, instead of blurry blobs. Usually in texturing normally (well, anything but pixel art really) I find that my contrast parameter is quite low and definitely doesnt go off into the deep far right end.

Some things don't change though. I frequently use a high pass filter layer set to multiply to create what I think is a watercolour effect on my desired fill layer, as you can see me playing around with it in the above video. Sometimes in general this method is quite unnoticable and rather dainty in a way, but, within this pixel art style I think it was rather crucial. It added another level of depth I think, seeing as before it is applied my fill layer is simply all just one block of colour without much variation in the opacity -- I think because my contrast, like I explained previously, is set so high. 

So using high pass is actually quite a good solution that the pixel art style presented to me. 


I found that it was also really nice and visually effective to just simply get a small brush and repeatedly make simple strokes on a low opacity, building up whatever I wanted to handpaint. Pixel8r really made it so that creating detail was quite low-effort in regards to other art-styles I think. 

Low-effort in the sense that in order to get the desired amount of detail it doesn't take as much time or resources generally to do so. 

Like for example, I did all of this texturing with a mouse instead of a drawing tablet because Pixel8r simply doesn't require the most pristine lines for the style to visually work. Any kind of dot that is drawn on a texture will look the same as one pixel. 


Even here in this video I use the same technique to create outlines by simply drawing them. I found that doing the outlines by hand gave me far more control and a generally better outcome than just applying a curvature generator, as one might use to typically create outlines in Substance Painter.


Again... I handpaint the most crucial details, like the indents in the floorboards! You can see in this video I'm not being too precious with my brush strokes, since overall Pixel8r just makes any brush stroke look coherent. 

Here again is another comparison between the two texture resolutions from before that I thought was particularly stark in its difference. 


Another video of handpainting outlines just for fun :)


The AO generator created some awkward shapes here and there, though, as you can see above on the beige wall in the intersecting 'X'. It is really weird and too sharp and doesn't really look like a shadow as intended, so, things like that required some manual soft brush strokes to help it look as intended. 


Here is how the 'room shell' texture ended up looking. 

When I was texturing some of the curving shapes of the wall trims like the 'X' intersection thing (I don't really know what this is technically called...) I wished that I had laid out the UV differently as to ensure I could create straight pixel lines. 

Basically I laid out my UV in the approach of a more typical art-style. I don't think my UV layout for this project was necessarily wrong... But in the context of pixel art... Well, some things didn't turn out as intended. 

Let me show you another example of what I mean:



I had this barrel that, because of the UV, ended up looking like this...

You can see in my layers in the above picture that I wanted to separate the metal rings of the barrel from the wood in my texturing. But because I didn't create cuts in my UV for this model it creates the undesired overlapping you can see here.


So I went back into Maya and just cut my 'metal rings' from the barrel out and just moved them to an area of the UV map that was unused at the top. Looking back at it now, I wish I had completely straightened these bits in particular, but it's fine. It isn't perfect, but it's fine.


And selected here are now the wooden bits of the barrel, sitting politely on their own without any of the metal bits bothering them.


And now I just reimported my mesh after adjusting the barrel UV's and voilà. No rogue pixels bleeding into the other part of the barrel that I didn't want! 

I definitely could've just ignored this whole thing and textured the barrel as normal but this really bugged me. It was a quick fix of course, but for such a small background prop that isn't even fully seen in the final camera setup... Some may debate on whether this was necessary or not, I think.


A bit of a similar problem with this chest model as the barrel as well. I had to unattach the 'metal bits' from the wood in the UV as I did with the barrel, but even after that, I found that some of the 'bleeding' still occured simply because some of the UV's seemed to be placed too close to one another. Like you can see a small strip of grey bleeding onto the brown square in the bottom right in the above image.

I did end up deciding that this was such a small and unnoticable problem in the context of the whole diorama though. 

I decided with problems like this that because they happened in the first place I now know how I would approach UV'ing completely differently in the first place if I know that I want to work within a pixel art style with Pixel8r in Substance Painter. 

So, I felt like if I were to fix this one little subtle problem on the chest asset UV, I would probably go ahead and fix all of the UV's completely. 

...I did not think it would be a fruitful endeavour to completely redo everything. I think it would be more beneficial to my learning and display of my learning if I were to then make another project in the same style after this project to demonstrate how I would alter my UV methods. 


I had textured every model at this point here, and I reckoned that I was finished. I saved everything and started to export my textures and upload my diorama onto Sketchfab...

I then had a look in my own 'likes' on Sketchfab and was reminded of one of my original inspirations for this project: Mr. Frogge's Woodland Cabin by Wacky , seen below.

I wanted to add my own hazy light from the window in my scene too.  I thought that it was such a nice but simple touch to Wacky's scene that really brought it all to life. 

I inspected the wireframe on Sketchfab and realised it was done with just a few planes that had a faded opacity towards the end, along with some stray square pixels closer to the window. I suppose they are meant to look like dust in the light? 

In Wacky's scene, these dust particles actually move up and down, which is really lovely. But I didn't know how to do this and honestly thought it wouldn't actually add a lot of substance to my scene compared to the amount of time it might take me to figure it out.



Soo... I just went back into Maya and created my own 'hazy light'. 

It was quite simple. For some reason I felt quite nervous about doing it, and had a thought in the back of my head that it will go terribly wrong and I won't know why. I think that is because it isn't really something I've done for maybe 3 years. 
I found it quite daunting in the first year of the Bachelor's to manually do opacity black and white masks in Photoshop and that information didn't really stick in my head... All that stuck in my head was my general dislike for that process, I think.

But doing it in Substance Painter was really simple, to the point where I think I will incorporate elements like this way more often into my projects from now on, pixel art or not.

Modelling wise, I just duplicated the windowframe in my scene and selected the outer faces and extruded them outwards towards the floor in my scene. With the same faces selected, I extracted these from the model to then get two models. I then deleted the other model since it was unneeded. 

With these new planes in the perfect shape of the already established windowframe, I just edited the vertex normals to be entirely upwards for this model. I had to do this so that both the outer faces of the plane would be seen as well as the inner faces of the same plane. 

In Substance Painter, I just enabled opacity in the shader and checked it on my material. I just used a shape gradient as a mask to determine where the haze fades out at the end. 

I also added a very slight emissive yellow colour to it just to make it feel a bit more like light. I envisioned that it would be able to glow as light might in the final showcase this way.

Although. Looking at this now at the end... I wish that I changed where the outer rim of this light originates from. The red outline is where it is originally, and the blue outline is where I would've placed it now. 
I mean, it doesn't really make sense for the light to come THROUGH the windowframe and not these holes instead. 

Final Showcase










And the isolated materials:







Comments

Popular posts from this blog

Exploring Environment Art in Games: League of Legends

resources

Interviewing Industry Practitioners