After completing our style guide we were to begin creating our assets! I had originally chosen the environment to the character design pipeline due to wanting to challenge myself as I genuinely had never done 3D environments before, so I had a lot of learning to do (Spoilers, it didn’t go so well… but that’s part of the learning process eh?)
Before starting my asset building I looked over a series of videos detailing video game environments and how to effectively apply these techniques to build a scene.
Creating Assets:
The first 3D asset I focused on was our PortaPotty, as we were planning to use this asset for transporting Grimm into the scene from the HellEvator sequence. The main formation of the PortaPotty was a cube shape, which was perfect as the style guide called for cube-like shapes for the human world to match the shape language of the people residing there. I intended to keep this in mind for my other assets.
I began the process by adding a cube, using the loop cut tool to add edges to pull from. I worked using real life reference but ensuring I kept my shapes simple.
PortaPotty’s always follow a cube like structure, this including the carved detailing at their side/where the door is. I solidified the door and applied the modifier to ensure the door wasn’t a flat plane upon opening. I had added more loops to the cube to form a better shape to the door/doorway, using the knife tool to cut the desired shape I wanted to extrude the faces inward. I adjusted the models position upward, using the mirror and bevel modifier I placed a cube shape under the form so replicate a stand and applied.
I kept the inside of the PortaPotty relatively simple. During our presentation we showed the lecturers what we desired to do for the opening sequence, however this was a lower priority. It was nice to implement if we had the time, but our time-frame was actually pretty short so I kept this effort in the case we needed to delete these features. I proceeded to add materials to each part of the model at a low roughness and later implemented these into unreal as temporary textures. I did these which each one of my assets as it was an effective way to colour map/where to apply my base colours at a later date.
I had actually went against my style guide here, as I stated all the colours in the construction site was to remain in a warmer colour story. As the blue is a statement colour for the Portapotty I thought it best to keep to this hue, the player being able to recognize the object for what it was. This was the object connecting “Hell” to the surface, and we agreed for hell to be bluer in tone to fit the “cold and boring” aesthetic I thought it was a nice link.
I wanted to test the texturing style we had agreed on, this asset being a simple enough starting point. I made a smart material of our metal texture, so I implemented this onto the model and began to paint using the layers. I wasn’t entirely happy with how this came out, I implemented a plain on the door so I could place a graphic there (lack of a better word, the graphic and overall UV’s for this model were pretty poopy) so I later redid these based off of feedback. Additionally I painted brown at the bottom to indicate gravel being kicked up onto the model, however this didn’t look right given the context of the object, and used too many materials so there were an obnoxious amount of MAPS I needed to carry across. I later fixed these.
To note, during my modelling and texturing stages I was to rig and animate my assets to import into unreal. Due to our ambitious painting style, alongside the lack of assistance from my environment counterpart, I wasn’t able to complete these animations/rigs in a timely manner. The first instance of this is the portapotty, as we discussed it was going to shake to indicate Grim’s introduction to the tutorial stage. There was a simple box rig Mike uploaded to blackboard, however due to my lack of time and hyper fixation to complete individual assets I wasn’t able to meet my teams wants, having them to come up with other ways to animate these assets. This also was a lack of communication on my part, as I had known to complete the rig but didn’t have an exact time frame for when this was needed to code so our level designer Dahe put this into the scene. I ensured, however, that the origin point was placed at the middle of the assets and used “move cursor to 3D object” so when put into unreal they were easy to move around the scene if anything needed altered.
Another important asset we needed to have was a death interaction. I once again hard surface modeled a cement mixer to add to the scene, alongside a modular wooden fence as set dressing.
There had been a banana created by Shane, however they were having issues with programming it to fit the mechanic. I offered to go back and remodel a banana and imported it.
I then proceeded to model on sight lights, a wired fence and forklift, applying temp colour materials on these to get a good grasp of the colour scheme. To note, a lot of the assets I created I’m content with, but a good few I know could have been optimized better, ESPECIALLY the wired fence. Below is the tutorial I followed, using an array modifier to stack the wired area.
I had imported this fence with the intention to go back and bake the plain, however with a simple bake it would apply the texture to a flat surface where I needed transparency. With the same method as an alpha, black masks are used for transparency, so painting the surface on the UV map black could’ve allowed this effect and I would’ve baked high poly onto a low poly surface. A consistent theme for me during this project was time constraints, this was due to a co-worker leaving during a busy period and having to take on more hours. I left this if I had time at the end to adjust, and although I’m disappointed I couldn’t make this adjustment the game ran ok during play test. Even still, this looks good as an individual asset but it’s not optimized for ANY game, I should’ve taken the proper time to fix this as this asset surrounds the construction site.
I had gathered references for the lights, having a tall standing one worked as the small set ones would be seen less due to the perspective/object size.
I used a series of beveled cubes and cylinders, when looking back realized I could’ve used cubes for the entire object to limit the polygon count too, as revising back there were too many edges here I could’ve dissolved.
The forklift looked to be complicated, as I didn’t really know how to approach this when there’s so many details to the object. I had found this tutorial by Blender Forbeg and followed the steps to form my own, making minor changes.
Added temporary materials and placed them into unreal. During this process, as I was aware that the face count of the fence was dramatically high, I deleted edges to my models in hopes it didn’t hinder game performance. This was a poor decision as it created NGONS that I went back and fixed at a later date.
I then constructed the woodchipper, this was an important asset as it was another death contraption. Before this my team was using a plain block and a blood spurting animation to hint at the machine.
This was the first proper death machine you come across in the tutorial so I wanted to ensure I got it right, any there were a lot of different shapes for the machine so I asked my group for advice.
Chloe suggested the blocky design as it fit the style of the construction site, so I used a side profile image to trace the shapes of the machine. I used bevier curves, increased thickness and turned these into a mesh, going in and dissolving these faces to limit polygons. I deleted the inner faces of the meshes that weren’t seen, I could’ve additionally deleted the bottom faces of the object altogether but kept them just in case.
At this stage Chloe suggested to make the tools as they were NPC intractable objects. I finished up a few other set dressing pieces to go into the scene, including a dumpster and a truck.
I wanted to try and focus on implementing ground textures to the scene as the ones we were using were Unreal Assets. This was a massive learning curve for me as I first made a border around the panels to blend into each other, but this left as harsh square effect (in our scene squares are good! But not in this context.) I then repainted over these using a 4 mirrored panel to form an identical, tile-able panel. I admittedly spent an embarrassing amount of time trying to get this right, stacking this panels in procreate and unreal using the array modifier to get a better idea of the scene.
I found that this only really worked for simple patterns, with the help of Dahe in class we plugged in these materials but there was a harsh, black border around them. We found that the resolution didn’t fit the size of the square in Unreal, however this was a simple fix due to just readjusting the size of the file. I created a few variants of these for contrast. Later down the line there were a few issues during playlist, regarding the gravel people would try to pick up the grass texture thinking it was the banana peel, and there wasn’t much variation as Dahe altered the ground to cover with just the gravel and dirt textures. I didn’t want to alter anything Dahe had changed due to his hard work and I had to focus on creating/texturing assets. This meant Chloe set up a nodes to highlight assets with a purple outline, which helped pinpointing intractable items. (This was a similar concept to what was in the style guide, having intractable items purple.) I liked the feedback, however it hurt to not be able to apply it. I began getting really frustrated between always working and balancing Uni work, as when it came to the play test the scene still didn’t look up to par. I wanted to focus on making the scene look as finished as possible, despite the little amount of time I had to work on the game, so I tried to prioritize getting everything on my asset list made and at least textured to fit our style guide but this meant other people had to pick up my slack/feedback.
The second item I textured was the cement mixer. At this stage making up a small asset with a lot of UV space didn’t make much sense so I quickly modeled a cement bag to go with it. When working on the bag it didn’t make sense to me that the mixer wasn’t empty, but Chloe had already made a animation to go alongside this asset so I was worried it would mess up if I re-imported it. I tried painting on the text, but I used the text font alpha and edited the text in the settings to make it readable. I stamped my assets with “Construction.Co” to keep a consistent design between assets. When exporting these I noticed that the origin point kept changing for the bag, so I moved these assets to the origin point and reexported which fixed the issue.
I had based the crane off of this video.
This, alongside these references. I didn’t include the small window as I wasn’t sure what size this asset needed to be scaled regarding game play.
I asked Ben and Dahe in class what type of Crane they wanted and they both suggested the standing crane. I had used the videos idea of keeping the top as a solid block so limit polygons, deleting faces from the cubes in the mesh. I kept the design relatively simple to match our game. I often found when smoothing the faces of blocky objects it left a strange effect, so I manually went into my assets during the UV stage to mark sharps to fix this. I exported this UV at a high resolution due to the size of the crane.
I was rigging my crane, but due to time constraints Chloe said to import separated parts of this mesh for Ben to modify. I was disappointed by this, as the in game crane uses a Unreal mesh in place of the metal adjuster and the metal snaps to the crane, but Ben was under a lot of time pressure himself due to having to take on UI responsibilities as Johnnie was inactive. I painted the Crane to only show the visible pieces of mesh, so the textures were a little off putting in the game, however I don’t blame them as these assets needed to be coded asap for game play. I wasn’t too happy with the quality of the rig, so I left it as is.
I began to work on texturing the assets I had already made, keeping in mind our style influences.
I had originally sent Chloe the metal SM to paint her assets, however Mike’s feedback was that they weren’t painterly enough to match the style guide so I made sure to be as detailed with my assets as possible, due to mostly being hard surface. To save time between assets I made smart materials for orange, glass, black and yellow as a good chunk of my assets shared these textures. It meant I could just carry across the layers and alter them where I saw fit. I mostly used normals and baked these through substance, using them as a guideline when it came to painting my shapes. One way I could have went about my UV’s was the stacking identical UV method, this would have meant I only needed to paint one object and this would have applied to all of them. I tried to mirror my objects as much as I can for continuity.
Note: I modeled this light alongside an electric box for electrocution deaths. I had textured them already, but I simply applied a plain material object the faces I wanted to glow and set up a glowing material node in unreal to get the same effect as in “Death’s Door.”
Electric Box, modeled after Chloe’s suggestion:
I copy and pasted the node and altered the colours/brightness values. In game:
Banana and Dumpster:
I added “Grim was here” to the back of the dumpster in hopes that the easter egg could be see in view, but this was moved to behind the kitchen. I added the banana texture to the ones in the scene individually and not on the asset itself, so I think this got lost when importing new banana’s. I wasn’t aware of this issue until the final game export, so it unfortunately wasn’t applied.
Woodchipper:
I altered the original woodchipper mesh slightly. I painted on screws opposed to modelling them on wherever applicable. As the characters are pulled in through the back I thought it fitting to paint blood marks onto the back! I had also done a animation to accompany this model, but Chloe and Ellen’s new animations weren’t applied and Ben was taking on a lot of extra work.
Animation played upon death:
Forklift:
Crane:
For the truck I chose to duplicate the open back and turn it to paint it for different purposes. I then altered and re-exported the truck to have different colour variants, becoming a modular object to customize. I renamed this accordingly in my unreal folders.
In class Dahe mentioned additional props he wanted for the scene, so I modeled these alongside scaffolding in separate files the uploaded the road FBX and UV’ed/painted these. I made the scaffolding modular so we can customize the set. Prior to this I asked Chloe to send over her wood smart material so our wood pieces looked consistent.
Chloe set up a scaffolding platform, so I used this as a guideline to position the new assets while also set dressing. When playtesting I ran into the issue that Grimm couldn’t get past the scaffold bar so I adjusted the bars, and realized collision was turned on the mesh. Once removing Grimm was able to use these platforms. I then applied the road and street items, noting that they didn’t light the scene too much during the night phase. I added lighting and adjusted the brightness to the lamps so the player could still see, alongside nighttime ambience.
Lighting set up (my meshes only):
I grew a lot more confident in my painting ability, so I revisited the PortaPotty. I added additional assets, including low poly dress setting items. I adjusted the toliets sides, knowing I could just implement the indents as normals, and deleted the inside shapes as I knew we would be getting the HellEvator cut scene. I had also fixed the geometry on the porta, alongside other assets for NGONS using the knife tool and merging by distance.
Signs added by me:
Old vs New painting style:
Last minute I wanted to adjust the buildings, as they were large cubes that you could see surrounding the site. From my previous research into modular buildings, alongside Rachael’s class, I had an idea on what I wanted to do regarding the empty space.
Unfortunately… the trees needed redone, as when I exported the mesh and the materials for Shane they didn’t seem to work. Ellen reached out and recreated this asset per my request as I wasn’t able to modify what Shane did while I finalized the building assets.
Applied to scene. I repurposed the house beams to replace blanks. I tried to alter the location of assets, alongside exporting different colour maps to the house by changing the colour layers in substance. I also added the trees inside the flower pots so they weren’t coming out of the concrete. Added street lights to the streets too, alongside car park. Truck added to road to dress set, alongside the house beams for a curb.
Last set dress I wanted to adjust was the kitchen. I followed a simple tutorial on youtube on how to achieve stylized brick, and added white noise height map to this alongside the house to keep a consistent style and applied this to the scene.
I deleted various faces on the bricks and saved them as separate FBX’s, but when importing them the NPC’s had an issue with getting stuck. When UVing and reimported I ensured the collision was off and playtested to ensure it didn’t get in the wall of gameplay.
I thought to add a brick ceiling to the kitchen, too, applying the transparent mask material to the mat slot in mesh settings so Grimm could still be seen. This just meant that I couldn’t apply my own texture I created in substance, leaving it white.
Set dressed my walls and misc items to run home the idea the site is “under construction”.
Dress set kitchen walls with my assets. I adjusted the height of the kitchen as it felt too low, also added an extra light to where the window is placed.
Individual reflection:
If I could change anything it would be to optimize my assets better for the engine, such as limiting UV space for the game to load assets alongside limiting polygon count of objects, the wired fence baking my normal as alpha. I didn’t follow the trimsheet method of texturing as I liked the process of using substance, however I could have cut down on time and texturing if I had stacked UV’s and used the trim sheet method. Due to time constraints, I couldn’t follow this method efficiently, and despite not being happy with my optimization I know for the future how to properly implement this into game design. I would’ve liked to double check the environment before the submission as there were a lot of assets that I overlooked/misplaced around the scene or were missing, one of which was double traffic lights when you first load into the scene. I was happy with individual assets I created; however, I should’ve taken more care revising over the environment for consistency (with the modular buildings this isn’t noticeable due to the fixed camera angle, even still this lowered my spirit when it came to reflecting how I done the scene.) I feel as though the environment is at the stage in the final game it should’ve been during play test, my workflow was stunted by the demands of outside work and the ambitious art-style we decided to go for.
Due to my environmental counterpart not producing much work I should’ve adjusted my pipeline process to allow for faster workflow. I feel like I could’ve allocated my time effectively by prioritizing getting my assets into scene- rig when needed- and then implement texture, leading to dressing the set alongside our level designer. I wasn’t too familiar with Unreal Engine and reimporting assets, so I was nervous to in case it messed with work that was already finished. My lateness to import my rigs lead to Chloe and Ben finding other ways to have intractable sections of the map to work, which I felt extremely embarrassed by. Each week my assets weren’t implemented well into the scene, so there wasn’t too much feedback as tutors couldn’t a true feel for the game.
The lecturers had said there was so much promise in the pre-production that I feel as though I failed to deliver based on the high expectations. Despite my hardships during the project, I feel as though I was able to produce nice individual assets that fit our style-guide and my art style practice, and without the help and support of Ellen and Chloe I think I would be so much more overwhelmed with what needed done. I can’t help to feel our construction site… ironically looks like it’s still under construction. With a little bit more time and care on my part I would’ve been happier with the environment outcome but despite my negative outlook I was happy to be able to experience a game pipeline, and see my assets in a functioning game. I understand the areas in which I need to improve. This project taught me a lot about self-discipline and the importance of prioritizing assets to meet the games developers’ tasks, alongside short cuts to cut down on time without losing quality. I understood where I went wrong and areas to improve, therefore moving forward I have a better understanding in mind of how to work efficiently despite the circumstances!