How the final scene looked in unreal [GIF: 3 seconds]
Menu screen loose concept [GIF: 3 seconds]. Overlay created in Photoshop and composited using After Effects.
I'm so happy with the final result of this project. However it's still important to critique something I am proud of so that I know what to improve in the future. Firstly, I think the axe head needed improving. It was the first material I made in Substance and was one of the few areas I didn't use a proper reference for and I think it shows. Given the chance I think I'd go back and decrease the roughness to increase the shine and then use some different smart masks and generators to imply some weathering. As it was one of my first materials I think I didn't understand as much about the software and so I didn't use it as effectively as I could have.
I really enjoyed experimenting with the Niagra System for particle effects but I'm well aware this would come with a resource-cost in-game and is a drain on the CPU. However, for the sake of this little presentation I think it's an acceptable use and it taught me the basics of using parameters in VFX generation which is definitely something I'm looking forward to working with more.
I think this project has been a really satisfying way to end the academic year. Looking back at the models I was making in October, and the developments in my skill and understanding has been enlightening. I remember feeling very out of my depth trying to do the Chest project and now here I am :) playing with particle physics and thoroughly enjoying PBR.
The final meshes in 3DS Max.
The Backpack project is probably my favourite thing I've done all year so I was going to give it some special treatment. I decided to set it up on a little tree stump with a steaming mug next to it just to give it that sense of being owned and used. Did I know how to make steam? Or texture a tree stump using PBR? Nope! But with one day until the deadline I had plenty of time to figure it out.
For the stump I started off by reusing the low poly mesh I had created for the chest project all the way back at the start of the year; this needed some significant refinement however so I added some more loops and divisions to smooth out the whole shape. I didn't want to overdo it - this isn't the focal point of the scene but I wanted it to be not so angular that it takes away from the backpack.
I didn't do any sculpting for the stump so I just added a flat wood noise texture and adjusted the height until it looked like a rough bark. I then used some generators to add some colour variation to imply some moss and dirt across the bark. For the top of the stump, I knew it would be mostly obscured so I hand painted some rings and added colours and some dirt splashes to break up the consistent tone.
I kept the mug really simple, only two main textures: black plastic and a brushed metal. I then added some dirt to the metal using a smart mask and did the same using an edge mask for the plastic. I refined these until I thought it looked acceptable and then brought it into unreal so I could make some finer adjustments being able to see it in real time.
The steam material breakdown in Unreal.
For the steam I knew I needed to use a particle system, despite the cost this would add to rendering the level. An animated alpha sprite on its own would probably look okay in a more stylized set up but because I had gone photo realistic with most of the textures so far I wanted to try my hand at some VFX.
Thankfully, Niagra documentation and YouTube tutorials exist. I followed this tutorial for the basic set up, which helped me understand what all the parameters do. I then edited some settings like the velocity, spawn rate and scale/colour alpha to make it a much more subtle effect.
I also created my own basic cloud textures in photoshop for the material; looking back now if I had more time I would have made the cloud textures tile and seen if that made the smoke appear smoother but given it's such a small effect in this instance I'm quite pleased with how it turned out.
My first pass at staging and lighting. I also used a camera for the first time so I could set a fixed point of view in the level. Overall I like this lighting but it is really quite dark. I had this issue with my cart, I tend to leave things in shadow for the sake of atmosphere and sacrificing being able to actually see the textures.
I increased the intensity of the light and tI think it still looks okay. I chose a simple three point set up, with one light above, a cool backlight and a warm fill light in the front. Overall I'm pleased with how this turned out. I can really picture it as the left hand side of a menu screen, with the options listed on the right. I still think it's a really cool idea for a game to show progress or achievements in the form of unlocking phyisical badges and having this happen on the menu screen would actually be a awesome way to keep track of it as the game continues.
For this task I had to look at materials around me in the real world and figure out why they've ended up in their weathered state. I found two exampled I deemed interesting enough to talk about:
Moss growing around a negelcted gutter system.
Lichen and moss visible where the water would run, but the walls are clear elsewhere.
Once I noticed this I couldn't stop noticing it on every building I walked passed. The areas where green grows on walls is always around drainpipes which lead down from gutters - I'm assuming gutters which haven't been cleared, leading to an overflow running down the wall. This wash of rain water would leave a trail of both moisture and minerals suitable for plant life to flourish. Interestingly, I assumed this was just moss but I discovered in my research that more often than not, lichen tends to grow on a surface first, which is like a "fungi-algae sandwich" according to this website. After the lichen is established moss can take root if there is a significant enough supply of water. I think this explains the dark thick green moss plants at the bottom and to the right of the pipe, but in the second image a paler area of thinner lichen is visible.
Youcan also see where water has been trapped in the joint between the pipe and the bracket, as well as at the bottom of the left fixture, that the paint is being eaten away by rust in addition to the moss. This is likely because they are areas where the water will stand for longer periods of time, causeing the corrosion to be accellerated. I remember this from a year 8 chemistry lesson where we had to put nails in pots of water, air, and a mixture of the two to see which one went rusty the quickest. The experiment failed but the result we should have seen was that the metal exposed to air and moisture rusted the quickest. As a side note the presence of this kind of corrosion implies that the metal used is an iron or iron-alloy of some kind, most likely steel. Modern drainpipes are often cheap plastic and avoid this problem, so we can also infer that this building is fairly old. According to Rainguard's History of Guttering it was the 1950's when plastic guttering became popular. Judging by this Victorian era image I found where the same building on Horsefair street is visible on the left towards the back, I think it's safe to say that the building at least pre-dates plastic gutters although there's no telling whether or not it's been replaced since then.
I won't lie, I noticed this entirely because of my fascination with squirrels which started with the Chest project. The right hand side of the tree provides an easily climbable slope for a squirrel compared to the more uneven and concave curve of the left side, and so the right has been used more often. As a result the rough outer bark has slowly been scratched away, leaving the lighter, softer wood exposed to the elements. This is actually a major cause of injury and disease in trees as damaging its outer protective layer can leave it prone to outside infection.
As well as the scratches, this side of the tree faces east and isn't blocked by other woodland as it is on the opposite side. As a result this side gets more light, and catches more rain which is likely why we can see the patches of green where lichen is starting to grow. You may have started to speculate while reading these posts that I have a real passion for lichen when, actually, I just had to study it for Biology GCSE and I want to get my fair share use out of it.
Overall this task has really changed how I look at stuff around me. Even though I've completed this written task I keep taking pictures of random sun-bleached brickwork and rusty lampposts incase they come in handy later. Real-life has a wealth of reference material and resources for this kind of thing, and I find the overlap of the sciences with art really fun to explore. The biological, chemical and physical processes which eat away at the perfect surfaces of everyday objects is what makes them look interesting and as game artists we can use this to tell a story without any words being necessary.
My first attempt at the pose - the torso is fine but the whole thing feels off balance because of the legs. Given that it's a static pose for this project I want it to feel more solid and less in motion. This pose looks more like they're gearing up for a kick.
I fixed the pose by moving the legs out to the side a bit, giving a better sense of grounding to the character. Posing the character was fun, I think it really helps the model feel less like a mesh and more like a character.
The unlit character model in Unreal.
I used my standard lighting set up of a cool backlight, warm fill and neutral top light and it looks adequate. I think given the diffuse nature of the textures it's bound to look a bit strange. As for the textures I'm satistied with how they turned out. They're far from great but they do the job and dont distract from the model itself which is the main thing. I would have liked to refine them more but character art isn't exactly my passion and I think I was right to prioritise time spent elsewhere such as on the backpack project.
Close up of the Gladiator.
At this point I was more or less satisfied with my project but my friends were having difficulties with importing. We did some troubleshooting together and discovered that Unreal engine really doesn't like animations imported on meshes with isolated vertices. Their animations would work fine when placed on my model but not on theirs so I knew it was a mesh problem not a rig one, so after that I just used the xView tools in 3DS to figure out what the culprit was. With some tactful bridging the mesh was fixed and the character could now be imported without becoming a terrifying spiky mess as soon as the animation played.
I have realised through this project that I enjoyed helping people solve problems more than I did creating my own asset. I think more than anything this reaffirms my desire to go into tech art, or at least probably not character art.
Once I'd fixed the initial rendering issues it was time to have some fun figuring out how substance painter worked. I really enjoyed learning how to use substance painter it's definitely my favourite software of the year. For most of the bag I used fill layers and procedural tools like smart masks or the mask editor and textures, but for the badges I decided to hand paint the base colours to make each one unique. I also discovered that I am able to paint on height in a way achieving some kind of pseudo-sculpting effect which was really useful as it allowed me to emphasize the embroidery of the badges.
Base Colour
Normal Map
Ambient Occlusion
Close-up of the rain marks.
Close-up of the badges
Axe close-up.
The ground dirt effect I added to the bottom of the bag combined with the raindrops on top really made the bag feel used. I also added some really subtle fabric creases which I think enhance the detail which is already there in the bake from the sculpt by reducing the amount of unbroken planar areas.
The rain in particular was interesting to add because in addition to the drops I also used a mask to section off some small puddle-like areas on the top of the bag where I decreased the roughness giving it a sheen like it's still soaked from the rain.
Another subtle effect I added was a very slight top-down gradient. The top of the bag is more yellow, implying a bit of sun fading and just overall helping the bag feel less plain and more used.
Front 3/4 view
Back 3/4 view
Side 3/4 view
Top 3/4 view
One thing I would improve is definitely the texture of the axe head. I struggled with conveying a less-reflective metal surface and I think from certain angles it does start to look more like plastic. Maybe some smoother, more polished areas contrasting with some rust would have made for a better impression, albeit potentially more noisy and distracting from the focal point of the badges.
Troubleshooting means learning twice as much in half the time. I was getting odd artifacts around the edges of the thin front pouch. To fix the clipping I found out I needed to use the edit normals modifier to reset the normals. I had previously tried using the normal modifier which it turns out is not the same thing as I only found the option to flip them which wasn't useful in this case.
The next issue I found was these odd artifacts. I could tell this was an issue with detail projection during the bake but I wasn's sure why. I ended up figuring it out right after asking for help with it - because it was projecting the right details on the wrong object I needed to specify the objects for each area to bake down onto so I set it to bake by name rather than always.
Once all these issues were fixed I increased the resolution of the bake to get a better result overall and moved onto creating the textures themselves.
The final way I found to improve these issues was simply to increase the thickness of certain areas on the model. The strange shadows seemed to be occurring where the back of an object was being projected onto the front because of how little depth there was to the mesh, but adding a few extra millimetres seemed to resolve the issue completely.
The main difference when unwrapping for PBR texturing as opposed to hand drawn texturing is that some minor skewing is acceptable, especially if it allows for a more space efficient pack. I made generous use of the straighten tool so that I could get lots of the islands to tesselate properly. I also slightly increased the relative size of the merit badges as these are going to be the main areas of focus and so I think a slightly higher texel density is warranted.
I left less space than normal between the parallel islands as the straight edges and procedural generation in substance should be more accurate than painting by hand in photoshop.
The decimated Zbrush sculpt imported to 3ds max. Some low poly areas didn't need decimating such as the clips and straps.
I used a mix of the conform tool and adding swift loops for manual manipulation of vertices in order to match the forms.
The final low poly. I was able to add extra geometry to the patches due to coming in under the tri limit.
Sculpting the folds.
I found Zbrush to be an incredibly powerful and fun tool once I was used to the interface. It took a while to adapt to the controls but once I realised that it was optimised for use with a pen and tablet more than a mouse it was much easier to use.
I used the standard brush to build up the general form of the fabric folds and then used the dam standard brush too create the crisper creases and seams along the faces of the bag.
I made use of ZRemesher to create smoother subdivided forms with a consistent level of geometry. This was especially useful on the forms which didn't subdivide well such as the axe head.
I decided that I wanted to cut actual holes through the mesh for the belt rather than just relying on carving a dent and then texturing it to be very dark. In order to do this I masked off the area around where I wanted the hole to be and deleted that part of the mesh using modify topology. I then researched how to seal the circumference of the holes and bridge the gap and discovered the curve bridge tool which did exactly that by just selecting the two borders to be connected.
This is going to create a point of higher density when retopologizing but I think it will be worth the small extra cost as it is a focal area of the bag. I will localize the extra geometry to the cut outs and not let it affect the rest of the belt.
Cutting the belt holes.
Another notable aspect of the scultpting was the axe which I added some nice looking wear to by using the standard brush and then flattening it with trim dynamic. I also used the trim curve tool to create the cuts and dents in the front of the axe.
The other main thing I edited in zbrush was the top of the bag. I merged the trim with the main top piece and then used the move tool to create some interesting asymmetry to balance out the composition of the whole bag.
For the merit badges I used the extract tool with circular masks to pull out and duplicate the geometry to create bases for the badges. I then used ZRemesher to even out the geometry and make it nicer to sculpt on so I could add the small details of the embroidered texture.
Overall I really like how the result looks and I really enjoyed the process overall. I think I have added a really good amount of detail for the projection to pick up and hopefully it will look as good when it comes to baking.
Building the base for the backpack was very straightforward. I used the subdivide modifier to add some roundness to the initial box of the body and ised planes with a shell modifier for most other aspects of the bag. The axe was also built using two boxes and extruding them, as well as chamfering the edges of the handle for a smoother curve. I paid extra attention to the clips just because I thought those kind of little details are what bring a prop to life.
I'm hoping to use this as the base for the low poly later on, so I've kept the topology as even as possible. My next step will be to import this in to Zbrush in order to sculpt details. I'm going to focus on sculpting folds onto the main body and creating the merit badges.
My pureref board containing some reference photos, my photoshop sketch of the idea and a list of merit badge concepts to try out.
My idea for this project as to create a backpack that belongs to a surreal survivalist. The main thing that will convey this will be a variety of scout-esque merit badges/patches with both normal and slightly odd icons. In terms of a game asset I think this would be a really cool way of showing in-game progression or achievement unlocks - i.e adding a new badge each time a new skill is unlocked.
For the initial backpack shape I will use 3ds max as I'm more familiar with it than Zbrush and so I'll be able to get started quicker. Then I'll focus on using Zbrush for the detailing of the patches and adding weight and creases to the fabric. I know for the texturing I will need to learn how to use Substance Painter so I'm planning to start looking into this in advance so I can get a headstart on my understanding there.
Lighting characters is something I have a decent amount of prior experience in, at least in real life if not in games. I worked on a short film as part of a half-term course for the BFI a couple years ago, which you can see here. I was one of the cinamatographers of the evening/night scenes so I had a good chance to use lighting to convey a mood in practice as a few of those scenes were actually shot during the day. Lighting in Unreal is much simpler and thankfully involves less dragging of heavy equipment or plugging in of extension cords.
Key Light - This is the main light source in a set up, it is usually a neutral warm colour to mimic natural daylight and is used to make the object visible in an otherwise dark set up.
Fill Light - The purpose of the fill light is to soften the shadows caused by the key light. This is usually less intense than the key light so that the shadows remain visible but the overall impact is to lessen the contrast and provide a more natural look.
Back/Rim Light - This light is placed somewhere behind the object from the POV of the viewer so that anyone looking at the scene can see the character stand out against the background. It is often described as giving a 'pop' to the set up as it helps create a more dynamic and interesting appearence, especially when given a contrasting tint to the key and fill lights.
These three lights when used in conjunction can create a fairly straightforward 3-point light set up, which I will demonstrate with the help of my friend, Inigo Montoya the action figure:
One side of the face is lit and there is significant contrast with the shadows on the unlit side. This would be a good setup for a dramatic scene. For the key light I used my lamp aimed directly at his face.
Here the fill light has reduced the contrast and provides a slightly rounder look to the face while still keeping interest. For the fill light I used my desk light aimed at the wall and so reflecting back on to the opposite side of his face.
Here the cool backlight helps Inigo 'pop' agianst the plain background, giving an overall more artistic and appealing look to the scene. The impact is subtle overall but you can see the blue highlights on the left side of the hair where the light catches it. For the back light I was running out of lamps so I just put my laptop with this page open on full brightness.
In retrospect I realize this is an art course and I could have just drawn diagrams to illustrate my point but playing with action figures is more fun. This is the kind of lighting set up I tended to use in all my Unreal presentations last semester, so I'll be sure to include it for my Gladiator too. However these aren't the only ways to light a character. In a more dynamic or intense scene some of the following directional lighting techniques may be used alone or in combination to achieve different effects:
Often used in more artistic scenarios such as for portraits. Best used for dynamic, emotional or Rembrandt Montoya.
A character's eyes are often obscured by shadow in this set up, it's often used in interrogation scenes. Best used for realistic, outdoor, or Mysterious Montoya.
This is not a lighting scenario seen often in day to day life. Best used for spooky, scary or Evil Montoya.
Lining up the initial biped bones with the model and adding additional bones for the skirt and sash tassel.
I found rigging and skinning in 3DS max to be surprisingly straightforward once I knew where all the buttons were. My initial confusion about bone parentage and blending the weights was easily rectified and I think the final result is fairly good considering how low poly the model is. There are some minor clipping and distortion issues, mainly around the shoulders and where the armour sits under the belt but I don't think it would be noticeable or immersion breaking during typical gameplay animations.
I decided to have the skirt armour rigged separately from the legs themselves as this made more structural sense and I had the bones in the budget to spare. I also added a bone for the tassel along the side of the hip. this would rarely move but I thought it would be a nice touch to as in game there could be a weapon or other prop stored there, or the character could simply fiddle with it.
Weight painting the central spine area. Inspecting the gradient to make sure its smooth and blends well with the bones next to it.
Please enjoy this gloriously grainy gif of the test animation I used to test the weighting.
I split the gladiator into two seperate material IDs as I have two 1024x1024 texture sheets available to use. I initially split the two groups into clothing and skin/hair and then swapped some items between sheets in order to maximise the tesselation of the islands so I could get the highest texel density possible. I also increased the size of some areas of high detail such as the face, hair and kneepads because affording these more texture space makes more sense than marginally increasing everything for negligible results.
Here are the initial base colours and some simple shading on key areas such as the fave and sash. I wanted to test the overall composition and colour scheme before developing the textures any further so I applied them to the character in 3DS max.
My initial pass at the chainmail texture looked messy and uneven so I wasn't satisfied with how it looked. I decided I neede to try a different method because hand drawing the links was proving too inconsistent.
I found a chainmail brush online which I used to create the basic pattern. However no matter what values I was using it still looked flat and rubbery rather than metalic.
I used the photoshop layer effect "emboss" to create this cool shadow and highlight effect quickly and non destructively. The only issue with this is that it depends on the relative placement of the pixels on the canvas which means any islands not oriented correctly relevant to the direction of the model would look wrong. I fixed the major issue this caused where the two halves of the shorts didn't match up at all, but I left it as is on the shirt because I think the distorton is only minor and won't be noticed by the average eye.
The only thing I'm not quite satisfied with here is then neckline of the armour. Unlike with the sleeves I didn't add extra geometry to imply the edge so I'm either going to have to go back and add that or find an alternate way to disguise the border a bit.
Overall I now feel that my textures are in a passable state. I'm trying to find a balance between stylized and realistic because the low poly model could easily start looking uncanny if I go too gritty with the details.
Despite this, if I have the time I will add some more detail to the skin as it is looking rather sooth at the moment, and maybe add some kind of weave texture to the fabric so it also looks less plasticky.
In terms of lighting I think it's lacking, mainly due to my uncertainty of how to approach it. A stationary asset in a scene with fixed lighting is easy to understand but this character is designed to move, how do I know where to draw shadows other than the basics for ambient occlusion?
My next steps will be to bring the gladiator into Unreal Engine and set it up in a scene. I'm not sure at the moment if I have to pose the character in engine or in 3DS max before exporting so I will check this before continuing. I assume they would be posed in engine, but I haven't yet learned how to do that so that will be another thing to research in the coming weeks leading up to the submission deadline.
I created a basic cylinder, then deleted the top and bottom and two of the central side where the hood would join the shirt.
Next I used a 3x3x3 FFD modifier to deform the hood into roughly the right shape.
It took about 3 attempts to get a shape I was happy with; I found that instead of starting from a straight cylinder if I pulled th etop and bottom edges in slightly to create a more curved silhouette as well as shrinking the ends it helped give the hood a much less rigid shape.
Finally I deleted one half of the mesh so that I could apply a symmetry modifier to keep it looking balanced, and then added a shell modifier to give the fabric some weight. I adjusted a few verticies to make sure there weren't any major clipping errors and overall I'm pleased with the result.
For the sash I used the strips tool like I did for the belt and drew a strip across the body where I wanted the sash to lie.
I then roughly aligned the edges so that deformation would be better and used the set flow tool to relax the topology.
I then duplicated and mirrored the sash to create the back portion and used soft selection to reduce the curve so it layed nicely against the back.
I then joined the two planes at the shoulder and used a shell modifier to add some dimension. I then pulled out the outer edges to create a softer silhouette.
For the knot at the side I copied the ends of the sash and pulled them into a taper, I then covered the join by using a torus which creates the illusion of a knot with much less geometry.
I decide to use Photoshop to sketch up my idea so that I could have a visual reference to pull from as I was modelling.
Updated design notes:
I shortened the cape into a hood, this idea will include less rigging and minimise potential clipping issues. Plus, it looks really cool.
I opted for more a more complex hair silhouette rather than a helmet, it makes sense that this gladiator would prioritise flexibility over protection.
I'm likely not going to model any weapons for the gladiator and instead focus on using that topology to add extra detail to the armour and body.
The sash and belts are meant to add depth and layers to the design so they will definitely be separate, unwelded objects which sit on the top of the base armour.
The arm bands and wrist guards can be extruded directly from the arm as long as the topology works well.
I will keep a the browns, greys and reds of a traditional Roman colour palette but with the addition of the brighter white to add some lighter value to balance the overall look.
I wanted the hair to look quite spikey and thick so I opted to use these small hair volumes instead of flat planes or alphas. The hair itself uses a lot of tris but the impact of it on the silhouette is really effective.
The hardest part of modelling the hair was how time consuming it was, and how annoyed my friends became after I kept asking to see which direction their hair flowed in. Due to the irregularity of the hair shapes I'm not sure how to texture them yet but my first idea is to create a small patch of hair texture to use as a sort of trim texture, and then warp the UVs so that it flows in the right direction. I don't plan to create a super noisy and detailed hair texture so as long as I can get some smooth looking highlights I think it will look okay.
My first attempt at the chestplate didn't look great. It felt awkward and this was mainly because I had avoiding any kind of complex torso topology in my ititial build, so my first step for fixing this was to improve the underlying topology so I could build of that more useful framework.
After adding the radial topology and successfully blending it back into the normal parallel topology I was able to create a better looking chestplate base to work from. I then removed the collar areas pulled up some of the geometry to better resemble my initial sketch.
Here is how the final chestplate looks. I added a shell modifier to give some depth to it and also deleted one side to add some asymmetry and straps for where the armour would be fastened. This also adds a dramatic weak-spot which I'm sure could be used for some dramatic narrative in a game. At this point I also pulled out some of the geometry beneath the shoulder to mimic where the sleeve would sit without having to create any extra geometry.
For the belt and skirt I used the strips tool. The belt itself is made of two pieces with a short one coming down from the fastening loop. I angled each skirt strip away from the body just to make it easier for me to get in and around that area if I need to make any changes. I also added a simple pair of shorts by duplicating that area of the hips and legs and enlarging it slightly.
Before so much as creating the box the body would be built from I decided to use the book Anatomy for Sculptors that I got from the library to review the basics of human proportion and it's suggestions for topology based on how various areas deform with movement. I then followed the tutorials for creating the basic forms, especially in regards to the deformation topology of the face and then moved on to editing the basic model to better fit my design ideas.
I used step build over the high-poly mesh following correct deformation topology. At this point I also learned the importance of avoiding triangles on areas that deform or move, it's better to keep the surfaces quadded and consistent.
The loops around the eyes and mouth allow for easier animation by allowing the forms to move correctly. However it's also important to then reduce this topology on less important areas like the top and back of the head and around the ears where possible.
here beneath the chin I reduced the topology by too much too quickly, which caused inefficient edge flow and may have caused issues with deformation when moving the chin and jaw. I removed the 6-pole vertice and made the edges reduce further down.
The improved edge flow for beneath the chin.
This was an odd and unnecessary 6-pole I found on the neck after joining the head and body. I deleted the erroneous vertex and replaced it with two to create a far better edge flow with no triangles as can be seen in the other image.
I followed the blackboard tutorial to create the hand with correct topology. Attaching the fingers to the hand required using the cut tool to increase the geometry and effectively create the knuckles where they join the hand.
I attached the hand to the wrist by using target weld and made sure it was oriented correctly. I then created the bracer, above the wrist joint so as not to interfere with any animation, by extruding the forearm geometry.
Notes from the brief:
12k tri budget
Must have adult human proportions and anatomy
Must utilise effective deformation topology (mainly for face and joints)
<70 bones, rigged using biped
Design of weapons/armour must be reasonable to the time of the Roman Empire
My design:
A female Dimachaerus-style gladiator
Roman Legionnaire inspired armour, including cape and potentially a helmet if it doesn't cause clipping issues with her hair
Leather, scale and iron textures for the armour
Will keep hair short, collar wide and most joints uncovered for ease of rigging as I've never done it before
What is pre-rendering and what is real-time rendering?
This part I know the answer to already, pre-rendered cutscenes are something I have been exposed to often in gaming. Pre-rendered means the scene ships from the creators as, effectively, a flat video file. It may have been a complex 3D scene with individually drawn assets but now it's a single file which can just play whenever called to. Movies and YouTube videos fall into this category.
Real-time rendering (or in-engine rendering) has the individual objects and assets as well as lights and effects placed in a virtual space all reacting to each other dynamically as things change, at the cost of using space on the end-users GPU. To illustrate here's a snippet of a pre-rendered cutscene from the 2011 game Deus Ex: Human Revolution, and a screenshot of what the gameplay looked like.
Pre-rendered Cutscene
Real-time rendered conversation
The differences are clear, and I chose a counter-intuitive example on purpose to break the misconception that pre-rendered always looks better. While it's obvious that the lighting is a lot more dynamic and dramatic in the pre-rendered version it also looks blurry because pre-rendering requires the renderer to choose the resolution. In the case of Deus Ex: Human revolution, this was 720p. I believe 720p was chosen because the majority of games for consoles at the time, the PS3 and Xbox 360, were 720p. However unfortunately for PC gamers post-2011 like myself this creates a jarring reality where up to 4K real-time rendered gameplay swaps to 720p pre-rendered cutscenes on a semi-regular basis.
Real-time rendering has the option to keep up with graphics technology as it progresses, providing the original textures and materials scale to a high enough resolution. Pre-rendering locks your footage into a set quality. This is why my family owns three copies of Ghostbusters. The initial DVD release in SD, an HD Blu-ray and now a 4K UHD Digital Remaster. Technically they are all made from the same original film, but each one has been separately rendered and then exported to a file which can run with a relatively low graphical processing impact.
Compare this to real-time rendering which requires significant GPU and memory usage, especially as ray tracing becomes more and more popular. Real-time rendering is far more dependent on client-end software to run. Pre-rendered cutscenes can look as good as the company producing it desires, provided they have enough time and a powerful machine to process it all one single time. Real-time software uses up the resources on whatever it is running on, so a more modern machine will be able to render a better quality scene. Real-time rendering also doesn't process one single time, on average it processes about 60 times per second assuming you have a standard 60hz monitor.
A gif showing that pre-rendering can also be used in gameplay - not just cutscenes.
However, during my research I did discover something new that I didn't know. I found out about the history of pre-rendering and that it isn't exclusive to cutscenes. Microsoft Rare (previously Rareware) released Donkey Kong Country in 1994 for the SNES with what appeared to be smooth 3D graphics. Hardware limitations on the client side would have made running true 3D impossible so Rare developed, animated and rendered the 3D models of the assets on their high-end machines and then took still images in each position, allowing the SNES to simply render the flat 2D image - a much less processor-intense method.
What is a "Draw Call"?
This one was a bit more complex to research. From what I understand a draw call is the term for the processor retrieving the data it needs for rendering from the game files. If there are three separate sprites, that'll be three separate draw calls to store them in memory. If those three sprites are combined into one sprite sheet then that would be only one draw call and therefore more efficient. The same thing applies to more modern and complex rendering assets like models and materials. It's another aspect of the cost/quality balance when it comes to graphics for video games. Everything comes at a cost but being ultra-efficient can lead to worse quality graphics. For example combining to many textures on one texture sheet could cause the texel density to become noticeably low, and then the options are either increasing the resolution of the texture sheet or separating out some of the textures.
I assume than I can now understand why trim sheets are so useful. One trim sheet can be used for many objects even though it's a single file, so it requires only one draw call to be brought out of the game files to where it can be used by GPU.
By showing footage of real time rendering does it technically becomes pre-rendered, on a meta level?
What impressed me most about this project was how my pace increased dramatically compared to the chest. I am much more familiar with the tools now and definitely more confident in problem solving and troubleshooting. However, as with all projects, there are plenty of things I would like to improve so I will detail them here.
Firstly, the ground texture could do with being broken up perhaps by some small stones or other debris - just something to add some material depth and break up the tiling texture. The ground was the last part I worked on and so it was where I felt most strapped for time so it is definitely the first thing I'd look to improve.
I think the crates could have been better differentiated from the wood of the cart, perhaps by making a slightly lighter variety of wood, or different material entirely. Thankfully, the barrels and bottles do stand out and so the repetitive nature of the wood isn't overwhelming. The addition of the L-brackets and other metal detailing have also helped break up the wood texture.
As for the foliage I really like how the ivy turned out, but the seaweed is lacking. It should look shinier and slimier - as if fresh out the water, and I think it's difficult to tell what it is especially where it's tangled in the wheels and not lit as directly. I'd have to experiment to determine the best way to achieve this but I think improving my roughness map on the seaweed would help it get that shiny texture as opposed to me trying to draw it in by hand.
The roof turned out well despite the limited geometry - the normal map helped. I think choosing to dedicate some extra space on the trim sheet to create some unique tiles was worth it because even just two or three unique aspects makes the whole roof seem less repetitive. I especially like how the scratches and cracks look with the addition of the normal map, it was a really efficient way to add detail without more tris.
The overall tri count was 15,001, so once I minus the tris for the ground (which don't count towards the budget) it comes in just beneath the 15k limit. I think I made good use overall, the ropes and wheels being the most tri-hungry of all the items. Some items such as the barrels and bottles could theoretically be duplicated in engine to reduce the cost but for this project I think it was okay to model them separately.
One thing I regret is making the top flag purple- it becomes really difficult to see against the dark background, so it may have been more impactful to choose a lighter colour.
The final 3DS Max build of the cart, props and ground
The final 3DS export with all objects unwrapped and textured
The unwrap for the cart
The unwrap for the props - utilizing a mix of unique and trim textures
For the wood of the cart I unwrapped each plane as it's own island to get minimal distortion of the wood texture. The roof tiles I mainly unwrapped in rows and then removed a few individual tiles to be damaged or unique looking to distract from the overall repetition.
As the props were mostly unique I unwrapped them in the standard way finding convenient places for the seams. The exception to this was the crates which use a wooden texture which I could effectively use a trim for. This does add to the repetition but I think the other props and the addition of metal detailing helps break it up a bit. The prop sheet is not packed as well as I think I could have achieved, in retrospect there is definitely space for me to have increased the size of some of the islands. I left the extra space initially in case of needing extra trim textures such as for different values for implied lighting on the wood of the crates but this required much less area than I anticipated.
If I did this again I would create the trim aspects first so I knew exactly how much room I had remaining for the unique textures. That way I could pack them more efficiently and use up as much of the texture sheet as possible, giving me maximum texel density in the final render.
The trim sheet for the cart - I used an alpha to create a fork in the flag to give it a bit more form.
The texture sheet for the props.
My final tiling texture for the ground. Using additional maps to add depth to this is really important because it is a very simple mosst stone floor texture.
This is the alpha sheet for the foliage. I created two types of ivy and seaweed as well as a couple of additional leaves for if I had spare geometry and areas that needed breaking up a bit.
With the modelling and texturing complete I could export the assets into unreal and begin creating the materials and lighing the scene.
This error really confused me at first. Having never used unreal before I had no concept of what could be causing this so I started with the basics. I knew it couldn't be an issue with the texture - the render in 3DS max is fine, so it had to be an issue with the lighting. The only error I got when doing lighting builds was a "UV overlap" error. Of course my UVs will overlap, I thought, it's a trim sheet!
After too many hours of researching online and reaching out to other people who knew the engine better than me I was kindly informed I needed to change the UV lightmap resolution. I already tried that! Turns out there are two very similarly named settings, Min UV lightmap resolution and UV lightmap resolution. I needed to change the minimum one and had been changing the standard one. Adjusting the minimum resolution from 64 to 128 fixed the issue perfectly until I added another light, then I got these new smaller black shadows. However this time using what I had learned, I tried increasing the same setting to 256 but this had no effect. So I changed the other one to 128 and then it looked fine! It was a very satisfying conclusion but not one I'm sure I entirely understand yet so I'm going to look into lightmaps and try and figure out what was actually going on because it seems super interesting.
In engine I noticed these odd looking seams on my tiling texture (most prominent in the bottom left corner of the above image) but I was sure I'd removed all seams from the initial drawing. After testing an unlit version I figured out it was actually a seam on the normal map, so I offset my normal layer and blended out the seams by colour picking before reimporting into unreal, which fixed it and made it look much smoother overall.
The same area lit once I'd adjusted the normal map to remove the obvious seams. I'm glad I could fix this because the normal map adds some much needed depth to this otherwise very plain tiling texture.
Creating materials and experimenting with the different maps is really fun. The barrels looked really fake and plastic-y but adding the normal map made it look much rougher and more realistic.
I chose to use an emissive for the candle flame, and then because that only creates an illusion of light I also added a small warm tinted point light within the lantern to create an actual candle effect. I then set the rest of the lights in the scene to a slightly cooler colour to simulate a moonlight effect to contrast the warmth of the candle. I like the subtle impact this had, especially the light which catches the back edge of the barrels.
I noticed more of those black shadow artifacts (bottom corner of the base) when uploading this screenshot so I went back and used the previously mentioned fix and solved that little issue.
The completed scene.
The final unlit model with only colour maps in 3DS max
The model in Unreal Engine (I thought it looked washed out here so later edited the lighting)
Barry, King of the Squirrels, in all his glory.
As far as first ever attempts go, I'm pretty pleased. However this project is far from perfect so let the critical analysis commence!
I'm glad I included a base even though it's not a requirement because it grounds the scene, however I think that when lit in engine the texture is a bit distracting as it's so much more dense than the rest of the piece. To rectify this I would reduce the contrast between the high and low values in the leaves and maybe add some shadows so it looks less flat.
Barry, King of the Squirrels' face appears sharper than I would have liked where the seam runs down the middle. The angle was too dramatic to apply a smoothing group across as this looked weird when lit, so I think the best solution would have been to increase the geometry and create a more gradual change in form. However, given the limitations in tri budgets I think the overall model is effective in conveying what it needs to.
The chest model was created according to the instructions so that itself I can't find fault with. I think the metal texture is slightly lacking but I'm not sure the best way to improve it. It definitely comes across as metal so I'm thinking it needs a bit more character, maybe some scratches or more obvious dents and defects to bring it to life.
The tree stump looks fine from a distance. Up close the lower texel density caused by the necessary shrinkage of it during the unwrap in order to get it to fit on the UV map becomes really apparent. I think the only way around this while keeping in budget would be to use what I've learned since the cart project and create an area of bark texture, then split the stump into more islands which can be scaled up and overlapped to create a trim-sheet effect. This would unavoidably create seams, however I could use the hanging moss asset which is already in the scene to somewhat mask and disguise this.
I'm glad I experimented with alphas in the sprout leaves and hanging moss and I learnt a lot from the process. I think despite their tiny size, saving polys and using the alpha to create the outline of the leave was a good tri-budget friendly way to increase the detail of the props. Actually as I'm reflecting now I've just had the idea to add an emissive map to add a subtle glow to the sprout, just to help it stand out a bit more in the scene. I think I can do that in 5 minutes so I'm actually going to.
The very slightly emissive sprout. I like the effect, I think it helps it stand out and adds character. Barry is a royal squirrel so I think it's no massive leap in logic to say the sprout he is guarding glows a bit.
Initially I accidentally left it as a 32 bit .tga and only realized as I went to screenshot it and noticed the alpha patterns.
I have no idea if the unnecessary channel would cause issues but it seemed wasteful so I fixed this and resaved it as 24 bit and double checked the resolution.
As far as 5 minute fixes go I'm pleased with this one. I did decide to add a multiplier of 0.05 to the emissive when bringing it into the material as I wanted it to be a bit more subtle.
I also dialed down the lights in unreal to allow the sprout to stand out more and prevent the other textures from appearing so washed out.
On the engine side of things I'm pleased with my lighting set up. I used basic three point lighting, with one at an angle either side and then a back light to add some drama to the silhouette which has added some nice highlights to the edge of the lid. I shifted the back light to be a bit cooler toned than the front two as well to help it pop a bit more.
My favourite part of Unreal has been experimenting with the materials and what the different variables change. This is definitely something I'm going to lean into learning more about in future projects.
The main issue I ran into texturing this is that the seams on the fur texture were really visible on the model as it wrapped. I wasn't able to fix this on my own so I asked for some help and was introduced to the program 3D coat which allowed me to paint over the seams in 3D which made a big improvement.
As for the chest texture the final bit of feedback I have received is to add some implied lighting to differentiate the different faces of the metal so this is something I will definitely do next as it does need more depth. I also want to improve the dirt texture so it looks less flat, so I may make a normal map.
The final texture sheet for the chest
The final texture sheet for the props
The base texture - I created 9 unique leaf shapes and then applied a green and a brown gradient map to them to create 18 unique leaf assets to arrange on the base.
An example of one of my additional maps - this normal map was mainly used to add the impression of little stones in the dirt which fills the chest.
This is the trim sheet for the cart - the wood went through many iterations to get it looking right. Initially it looked too scratchy and plastic-like (the grey version). I think there was too much contrast, so to fix that I lowered the opacity of my brush and increased the size to blend it together. I'm still not 100% happy with it, so I might experiment further with the colour.
In order to make it trim effectively I used the offset tool in photoshop. For the rope texture I imported it into another document so I could make use of the vertical offset too because it needed to wrap in both dimensions in order to cover the form properly. Again I'm not sur about the colour but I think at this point it is more important to get a texture in place for everything on the trim sheet and then go back to refine it later if I have time.
For the unique props I wanted to combine the approach to texturing we learned from the dagger and treasure chest tasks with my newly acquired trim knowledge. For example, I textured the equivalent of one side of the cube crate and reused those planks in different orders to avoid any repetitiveness. I emphasized the shadows around the edges of the planks because in order to save on geometry, I don't have any physical detail there. I could also further increase this effect by using a normal map to add changes to the rendering if I have time.
For the carrying crate I created a strip of wood texture similar to that of the cart and used that to tile over each side of the mini planks. I included some different shades of wood to help emphasize the form and shadows for the implied lighting and then used some basic wood ends in varying colours too.
This is a model where I tried to test out the proportions. The reason I started this way is that using primitive shapes allowed me to focus on the overall composition without getting distracted by the complexity or the details.
Here I started to apply more detail such as by constructing the body of the cart using individual planks rather than the solid box I used initially. I still had some issues with the composition, for example the cart felt way too back-heavy, so in my next iteration I resolved to balance it out by adding length and detail to the handles on the front.
This was my first pass at making the wheels. I thought I had a really good method where I could make it out of only one shape and avoid having to attach multiple separate objects. I created a 16 sided cylinder, chamfered the edges then inset, deleted the inner polys and bridged the gaps to create the outer rim. Then I extruded the smaller polys created by the chamfer into the centre, and extruded them again to create where the axle would sit.
In this image you can see my first and second iterations of the wheel. The first one looks very plain and basic. It lacked depth and while it may have worked with the right textures, such as a really rusty metal to add interest, I just didn't feel like it matched the level of detail in the rest of the cart. Also the topology was not ideal; of my extrusion method had left a lot of unnecessary and awkward loops and even deleting some still left a bloated tri count. I fixed this by separating the different parts - the spokes, the centre and the rim. I deleted the rim and created two new cylinders to replace it. I then deleted the unnecessary polys from the spokes and centre and lined them up before attaching them all.
Overall I learned a lot from modelling the wheels. Firstly that consistency across the scene in the level of geometry for each object is really important, otherwise lower poly items will stand out and look distracting. I also thought that my initial method would be the most efficient, but in the end the wheel with separate components had much better topology. However, the first wheel was incredibly quick to model and as I reused most of it's parts I feel like I have discovered a new technique - sometimes modelling something super efficiently isn't the best approach but it does quickly generate something to iterate on and often parts can be separated and reused.
Design and make a cart and it's cargo which is travelling to a local gathering.
Use a repeating tiling texture and trim sheet for the cart and potentially other props/ground plane.
Use an alpha for foliage (it can just be flowers or grass on the ground by the cart)
Keep within the budget of 15000 tris.
I definitely want to go for a rustic fantasy theme.
I want to try using alphas and emissives and have glowing items in the cart - either some kind of lamp or maybe glowing potions in an apothecary cart.
I will use a variety of real carts and fantasy carts for reference. I want to keep it plausibly realistic.
These are three designs I scrapped early in the design process. All three felt too flat initially, but I did like the cover over the third design so I looked for new references which had various awnings and covers on the carts.
After searching for better reference material, I found this really interesting cider cart idea on ArtStation. I liked the different levels within the cart and I especially liked the fabric draped over the side of the cart, it really made it feel used and I would like to appropriate that idea in for own work.
The damage to the tiles is another aspect I want to incorporate into my own design but I currently don't know how I could achieve that while still using a trim sheet for the texture. This is something else I will have to research or ask my tutor about.
This was the design I went with which was inspired by the cider wagon. I chose to go for a more general bar-cart feel, but included a shelf on one side for customers to be served on, as well as some storage shelves. I want to give the roof a dragon scale texture as I have imagined that this cart is run by an ex-adventurer. I will use alphas for the vines, grass and damaged flag, and I will use an emissive for the lights so they can glow. I think for the ropes and vines I will make use of the spline creation tool in 3DS max although I am going to research how to create a rope as I'm sure it is common enough that there is an easy and effective means of doing it.
The way I have painted it gives me a night time feel, so when I import it into Unreal Engine I think I will try to set it as if it is at night although I am conscious of needing enough light to show the detail of my textures so currently I'm thinking I will use a night sky box and a slightly blue tinted light to give a colder feel. Hopefully this will make the cart itself seem warmer and more inviting as it's owner would intend.
For this building the main repeatable forms I have highlighted are the different window shapes which could easily be duplicates of the same model. I have also highlighted the decorative supports along the roof edge as they are all identical in shape and repeat regularly. The chimneys are also repeatable but they do appear to change in orientation and scale unlike the windows, but this could easily be recreated by changing the size and placement of the duplicate model.
Modelling these highlighted items only once, in addition to using a tiling texture for the brick work and possibly a trim sheet for the edge detailing and white beams and bricks, would allow a game artist to work more efficiently, saving time during production.
I used layer blending and fx modes in Photoshop to add inner and outer shadows before creating a multiply layer to add some ambient occlusion which I learned are specific type of shadow created by an objects shape affecting where light reaches itself.
I blocked out the initial values and checked them in 3DS max to make sure everything could be read clearly - there isn't a wide tonal variation currently but I will rectify this as I add more detail. The shadows between the wood planks and the highlights of the metal will add the value detail this is currently lacking.
This was our last timetabled week on this project and next week we will be moving onto the cart, so the rest of the texturing I will be doing in my own time before the January deadline. Although I'm behind schedule on this project I'm confident that I will be able to keep up with the next one now that my knowledge of the tools and software has increased.
My initial plan of deleting hidden faces to reduce the tri count did not work. I was still way over budget and even though my tutor said it was fine it just didn't feel like I was making good use of it, so I changed my idea slightly and instead of filling the chest with acorns I just planted a small oak sprout which had much simpler geometry. I can also use the leaves on this to try and use Alphas for the first time by making parts invisible so it matches the shape of an oak leaf without needing the geometry to reflect that. This left me at exactly 2000 tris for the scene plus 76 for the base it is resting on.
For the unwrap of the chest I stuck to splitting the body of the chest down the corners to separate the four major faces and the top as their own pieces. I did a similar thing for the lid. However with the lid I also split the internal area into three separate islands instead of leaving it as one whole as I did with the inside of the chest. This was mainly because it helped the islands pack better but it also makes sense due to the more severe geometry changes in the area. Initially I also placed a seam where materials changed, such as between the wood and metal of the chest but this lead to unnecessary seams and an overall less efficient unwrap. Given the small size of the texture sheet, splitting up the islands unnecessarily would lead to more wasted space decrease the texel density of an already low resolution texture.
Unwrapping the squirrel has proven much more difficult. I'm very conscious of the face that rendering fur with lots of seams is going to be a challenge, but due to the complexity of the model I think I'm going to have no choice but to split it into several islands.
Currently I think that splitting the main body from the head at the neck, the tail at the back, arms and legs where they join the body and the face across the middle is going to be the most efficient and least disruptive unwrap.
Packing the unwrap of all the props together was surprisingly fun. Having a lot of small acorns to fill in the left over gaps made it very satisfying to complete.
Now that the modelling is done I have moved on to unwrapping and have begun collecting references for the textures. During the week I went home and in front of my house is a giant 120 year old oak tree so I picked up a bunch of acorns that had fallen off of it and used a macro lens to examine the texture closely. This is a low poly render - I don't want to make my textures too realistic or it'll end up looking like a bad PS2 game, however I think understanding what elements are important to conveying a texture and what can be simplified or stylized for effect is crucial to a good outcome.
The stripes on this acorn make for a really interesting texture.
The reflections on this one are the best.
I really like the contrast of the green cap with the orange of the wood, that could be interesting to use.
I thought the rough texture of the cap would be difficult to convey on a flat surface but it's actually quite flat in real life and a lot of the texture is tonal variation.
I followed the supplied tutorial for making the basic chest and experimented with the FFD (free form deformation) modifiers to give the whole chest an overall roundness on top. In order to get it to work I also had to learn how to reset the xform so the modifier would align to the object correctly. After modelling the chest I had about 500 tris remaining in the 2000 tri budget stated in the brief so I began messing around with cubes to see what kind of props I could make.
I didn't fancy a treasure chest because even though it is a classic for a reason I wanted to do something that would be fun and a little bit bizarre so I would enjoy the texturing process more. My two ideas were a kid's themed toy chest or a squirrel themed autumnal chest. This is how the concept of Barry, King of the Squirrels, was conceived in my brain. I love him and he was very fun and challenging to model. I started with a cube and refined it down to a vaguely animal skull like shape. However in my excitement I forgot to use any reference so it was terrible and not at all squirrel-like until I was reminded that reference images are actually very important so I put together a small mood board to use in PureRef. I included a front and side view of a red squirrel so that I could build a 3D image in my head before modelling it in 3DS max.
I really like how Barry, King of the Squirrels, turned out; once I'd been introduced to the concept of using references in 3D it really helped me to build up the form so from now on I will always be starting with that. Despite the tri budget I modeled Barry, King of the Squirrels, without worrying about it being low poly and instead focused on form and then used target welding and edge deletion to simplify the model after it looked good overall.
For the rest of my tri budget I made some small acorns to litter the ground and fill the chest with, but each tiny acorn is 86 tris which I think is going to take me way over budget. I'm going to try and reduce the tri-count by deleting any hidden faces and removing unnecessary geometry like the edges of the acorns hidden under the chest contents surface.
Two iterations of the acorn model, one with and one without smoothing groups.
The 3D model of Barry, King of the Squirrels. This model does have some n-gons which I will be fixing before exporting it to unreal as apparently this can cause issues.
This week was the steepest learning curve so far - I learned how to unwrap a model and correctly align it so that what I paint appears as it will on the model without being distorted. I manually arranged all the islands onto the texture sheet but I only realized after I started painting that I left barely enough space between the borders of some islands, which made it quite difficult to keep the textures separate when painting in Photoshop.
I decided to give the blade a glowing crystal texture like opaque glass. This was inspired by the random colours I chose to block out the UVs with - the blade was light blue. My first attempt wasn't very successful so I decided to start again using what I'd learned. I increased the saturation of the blues and used a better reference image rather than colour picking from regular glass.
This was my first attempt, it was when blocking out the colours I struggles to keep the islands separate. In arranging them to make the most of the space I didn't leave enough of a gap between.
I much prefer my second attempt, I think it looks much more impactful. The blade looks brighter and has more of a glow effect.
The brass and leather textures look quite similar.
Front Back and Side views of my finished dagger. It was just a practice piece to get to know the tools in 3DS max, but there are some obvious issues I would like to fix in my next project now that I've learnt the absolute basics. The straps on the handle don't line up correctly where the seam on the unwrap was - I added a metal strip to hide the very edge but overall it's still an obvious mismatch. I think the best way to fix this would be to unwrap the handle further to lower the level of distortion on each poly.
I really enjoyed hand painting the textures, it's definitely something I want to work on more and improve. For the next project I'll definitely use the materials project to practice and transfer my skills to create a better finished asset.
Prior to this I had a cumulative 0 hours of 3D experience. I had to write down the keyboard shortcuts for 3DS max on a sticky note and stick it to my monitor as I worked, but I successfully created my first basic model! I did have to follow the tutorial document for the majority of the steps, and I did accidentally delete some edges which I had to get help to recover but overall I'm pleased with the result. I wanted a timeless stylised design for my dagger, like the kind of thing I'd pick up in Sea of Thieves, and I think I got that. I now know how to edit primitives and move the various edges and vertices until I get a shape I'm happy with. I also learnt how to attach separate entities together, like the handle and the blade in this case.