@Brain suggested that I make a blog post breaking down the "creative" side of things for making the "Crusher" or as called: "The Hydraulic Press". This isn't going to be a tutorial or anything, just a break down of what I did and what end result I came to. I'll being talking a bit about how I came to the final render seen here:
(NOTE: The Crate Box and the Crate Box Texture was provided by @Brain which is used in the below render)
The idea was to make a machine for one of his levels that crushes the boxes for his game: Mr Boom's Firework Factory. @Brain provided me with a very basic prototype:
From his blog he posted a textured version of his primitive version:
The major struggle I had was working with the idea of this being hydraulic because I'm unable to model anything above or below the prototype (not including the height seen from the antenna), so having cylinders above pushing down was out of the question. I'll be breaking down my stages below. Then at the end of the post you'll see the final render and a link to @Brain's blog post and project page which also features videos of this in action.
Part 1 - Creating the concept and making the models
The major task here is to create a workable concept that will fit the design requirements and still look good. Even though my biggest worry for this creation was finding out how to do the hydraulics without any clearance. I'm not an engineer by any means, and I decided to try my best to come up with a concept that might not be realistic but for a game... who cares? If it works, it works.
In order to make sure I kept to the height restriction I quickly made the roof, and the floor:
Then at this point I had to think if I wanted to go with a closed or open concept. I opted for a more open concept because I felt it would better fit the environment, plus you could see the boxes going through from different angles.
I then needed to make the part which would crush:
I also had to make sure this piece would clear properly as well with a box under and not overlap on the sides as there would be a moving conveyor belt underneath:
With that being done I needed to find out how I would even move the crusher up and down. My idea was to have four cylinders the would allow a rod to pass through, and a hydraulic system from the bottom up would lift the crusher, then release.
Once I had this concept done I added in the railings around the machine, control panel, side vent, ect...:
I did attempt to keep my poly counts as low as possible so I ended up using smoothing groups as you can see on various parts:
Part 2 - UV unwrapping and Baking
Since I'm pretty much working with a low poly mesh the entire time and not my usual workflow (high first, then low by retopologizing) I could step right into setting up my cuts and UV Maps. One of the issues I had here is that I needed to make sure my density was high enough for the texturing phase. Many people make the mistake of either using an auto uv tool and slapping all the islands into one UV Map, or making their cuts and unwrapping different parts but not paying attention to the actual density and difference between the different UV islands.
I ended up with four texture maps to keep enough density. Due to the requirements I had to keep this part separate from the rest of the mesh as well. This would be the moving component, while the rest would be static.
I did all manual cuts and had to account for all my cylinders (pipes, rods, ect...) I did give the control panel more density just because of the possibility of more focus being put on it.
As there are several "mirrored pieces" here, I did not overlap the uvs for a couple of reasons:
1. I didn't know if @Brain might want different texturing on those parts.
2. The control panel buttons might end up being different colors and so forth
If I did share UV space by overlapping I would still have to make adjustments due to baking. When I bake maps I will never include anything that is overlapped, so I will either offset the position into the next UV space, then put it back after the bake and before texturing, or if I'm exploding the mesh I will just not include those parts and add them back in after.
For the baking part I needed to generate some maps and because I'm working on a low poly mesh without a high I have to essentially use the low as the high. This also can give you a lot of strange issues but low on low isn't perfect and I could've made a high poly from the low prior but I didn't have the time to do it and make proper adjustments. When baking your high onto your low you have to take into account that all the geometry is matching up properly to reduce baking errors.
I simply took the mesh and exploded it to generate my maps:
You can also do your bakes by mesh name in some bakers, which means you having a suffix like _low _high. One very important tip is to always make sure your transforms are reset prior to baking...
Now I have all my nice maps! I also had to make sure to compute tangent space per fragment as UE4 requires this.
(Just a sample of my Texture Set 4 (crusher part))
I don't have a normal map in tangent space generated (I'm using a just a flat one for now) as I'm baking low onto low, but this will change with texturing.
My normal map after texturing (greatly reduced to show the example so quality is going to be different from the original 4k map):
Part 3 - Texturing and Final Renders
After finishing up my bakes and generating those maps, I loaded in my meshes, applied the applicable maps per mesh, and started texturing a way!
@Brain wanted something kinda green so I went with that concept throughout. The control panel itself was more of a blueish plastic.
The final result came out as such:
(NOTE: The Crate Box and the Crate Box Texture was provided by @Brain which is used in the below renders)
Just for fun I did my own little box crush.
Check out @Brain's blog post and project page below:
I've had the pleasure working with @Brain on his game: Mr Boom's Firework Factory by assisting with some graphics as of recent. I'll post a link to his blog and gallery at the end so you can go and check it out.
Long story short, @Brain had a container which he could use but it was over 260,000 Tris and had 5 texture sets, and 4 decal textures all 4k each. I offered to optimize everything but realized the meshes were too messy so I ended up just re modeling it all while maintain most of the same look (structure wise - not texture). I then baked, re-textured the container, and added the decals supplied by @Brain.
The final mesh is only around 20,000 Tris, 1 texture set which is 4k (includes the decals within) which is a major reduction from the original.
I did two different lighting setups to show case the containers. The first is more outside cloudy type HDR, the second is a clear blue sky one.
Check out @Brain's blog, gallery, and project page below:
I had some extra time at lunch today and thought about doing a quick speed model, texture job, and render. I was thinking about @Septopus's game with robots.
Not bad for under an hour, but a bit rough. The joints need to be done properly but I didn't have time so I placed spheres. It doesn't actually define the space in which movement could happen, among other things but oh well. Some day I'll do a quality robot.