Hi, I am Ammer Domingo, a 3D artist living in the Philippines. I started my journey as a professional 3D artist in 2019.
I have experience interpreting 2D concepts and materializing them as 3D objects, creating high-resolution meshes for organic and hard surface assets, texturing assets with PBR workflow, and pipeline knowledge of in-game props creation.
Among all of my technical expertise, doing Hard Surface modeling is one of the things that I enjoy the most.
My Goals for this Asset.
As an artist, there are a few things that can get left behind if you do the same thing repeatedly.
In my case, that would be Spec - Gloss texturing and Hard Surface modeling without the help of boolean workflow in Zbrush, So I set those goals for this particular asset.
So to make it clear, what I want to achieve with this asset is:
- Hard Surface without using Zbrush sculpt pass.
- Relearn Spec - Gloss pipeline for the texturing.
Once I set my goals, I'm ready to move forward with the asset.
One of the challenges in making this asset was finding good references.
Since the Letterpress was quite old, looking for a higher resolution image that shows every detail of the press was difficult.
On top of looking for references, there are several variations and models that should be considered when making the press. Old assets like these tend to have variations that could introduce confusion in your reference gathering process.
When looking for references, my go-to tool is PureRef. Take a look at this other article by Javier Benitez if you want to learn more about reference gathering.
I like to have more references for my objects to look at details, parts, etc., so my boards tend to look busier. This was my final PureRef board.
When looking for references, these are the sites I use the most:
- Google Images
- Youtube - Helps visualized the function and some close-up
- Picclick - A website that shows eBay listing, handy for weird angled shots that can only be found from eBay
- Image Assistant - Browser extension where you can extract every image on a website
- Stock Photos Websites - High-resolution references with watermark
- Various Restoration Service websites - Restoration videos and pictures sent by the God of References
- Facebook Groups - Looking for better refs, I ended up joining Facebook groups, specifically people who shared interest in Chandler and Price
During reference gathering, I tend to look for blueprints of the assets I'll work on. This speeds the process up as I won't need to figure out the proportions for the object.
It is also imperative to find good references for our materials.
2. Blockout Stage.
Using the blueprints that I got, I made sure to match the real-life reference while also sticking to the proportions of the printing press illustration.
As you can see, the previous image shows a wide variety of pieces and their proportions.
With all the parts that the printing press has and in order not to get lost, my reference board is broken down into specific parts, which organize and group similar references.
Doing this is less overwhelming and less distracting when working on some other part, but I still can keep track of which parts I'm missing and which I'm done modeling.
Blocking out should be super simple. I'll roughly model the pieces I'll need and create a model that resembles the original but has no detail in it whatsoever.
I also decided to animate the object to bring it to life and get a nicer presentation in the end.
One of the artists that I looked up to when I was studying Hard Surface is Andrew Hodgson.
Even though he works in films, the same principles apply when making a high poly from a blockout to get a final hard surface asset.
As you can see, Andrew's workflow works well for films, but would it work for games?
Highpoly meshes for films have a sharp edge compared to game meshes since it follows the concept of realism. The problem with sharp edges inside games is readability, as described in the picture below.
How do I model the Highpoly for games, then?
My workflow is as follows:
- Blockout/Concept Mesh - Meshes are pipe-shoved and booleaned.
- Clean Up - Meshes are merged and contain a clean topology.
- Triple Edges and Support Loops - Edges are beveled to make them sharp, and support loops are added to hold the object's shape when subdivided.
- Maya Subdivision Preview - Smooth preview, or "Keyboard 3" Maya shortcut.
The key for a "functional" high poly is making sure that it is not sharp enough when viewed from a distance. Keep in mind that when modeling, we also have to consider the in-game camera context of the asset, but that is a different topic.
Before moving to the next phase, I want to state the following:
- In some instances, you can get away with just a bevel instead of a triple edge. Ensure that the mesh can still hold its shape without looking "melted" when using a bevel on an edge.
- Consider using floaters for high polys, more about the concept of floaters in the following video.
Once you have completed the previous steps, your result should look as follows:
You probably saw that I do have some n-gons from my high poly. N-gons are ok especially if they are on a flat surface, and since we will be subdividing the mesh anyway, they will become quads.
4. Lowpoly, UV, and Bake.
It is a best practice to have a duplicate of a blockout or a cleaned mesh as we can use this as our low poly.
I also tend to explode my low poly models. This means separating all parts so that their bakes don't interfere with each other. You will need to do this on the high poly as well and explode them exactly in the same way.
I also wanted to mirror parts of the mesh as much as possible to make more out of my texture sets, but since they are asymmetrical in nature, I could only mirror parts that the viewer won't see as much.
After my low poly is ready and unwrapped, it's time for baking. See some baking best practices in the following article:
After baking, this is my result:
In my opinion, texturing is the hardest part of the pipeline.
This is the time to make your asset interesting, and for that, you have to tell a story while making sure the materials are layered in a logical, sensible way.
Texturing this asset, I created the base materials from scratch. Some of the things that I always keep in mind when texturing an asset are edge wear, dirt, and leaks.
After applying those effects, I'll focus on adding more elements like rust and ink to the mix.
One of the things that I learned when making this asset was making wood material from a wood texture, based on this tutorial by Jason Ord on Artstation Learning:
For everything else, my textures have the same layering I learned from Ayi Sanchez's courses.
Extracting alphas from pictures helps me match a client's given references as much as possible. Not only aiming to fulfill someone else's needs, extracting alphas is one of the great ways of pushing further your texturing.
Creating an alpha/grunge can be achieved by following these steps:
- Open the image of your choice inside Photoshop or any other photo editor
- Create a new blank layer on top of the reference image.
- With the reference image is selected, navigate through channels and pick which channel has the most contrast out of all the RGB
- Ctrl + A to select all, Ctrl + C and Ctrl + V to copy and paste
- The copied layer selected, Ctrl + M will pop out the Curves Settings adjust the settings enough to remove the gray areas or enough that you can use it as an alpha
- Import it inside Painter. Project the alpha onto the mesh or plug the alpha into a fill mask.
Tip: For every asset you make, save the alphas you used and create an alpha library that you can use repeatedly.
As an artist, I always want to improve my craft. That's where feedback comes in.
I was fortunate enough to receive feedback from my peers, which made me understand more of the pipeline and better my asset.
Among all the other feedback that I received and addressed, here are some notable pieces of feedback that I received that changed the asset's looks.
- Rework the overall specular.
- Rework the wood material.
- More gradients, color variations, and saturated color.
- Rust should be a transitional element between the black coated metal and painted metal.
With the feedback addressed, everything turned out really nice. I am happy with the results.
Rendering and Presentation.
In the early stage of my presentation, I used to have many lights shining on my asset. I realized some lights didn't make sense and tended to wash out the colors and the details that I wanted to show.
I ended up using a Tomoco HDRI that I got from the substance shelf, a key light, and a warm-colored fill light instead.
This setup pushed more of a dramatic old vintage feel which I was also aiming for since this letterpress was made somewhere in the 1890s.
This article also helped me lighting my scene:
Animating in Marmoset Toolbag.
A great way to sell the asset better is to make a quick animation for the Letterpress, as a friend of mine pointed out.
To prepare the object for animations, I used locators, look-at-constraints, and mesh parenting. I believe this is enough control to show a simple animation without doing a more complex rig.
One of the problems that I encounter when importing animations inside Toolbag is missing the animation itself.
For everything to work as expected, ensure that the first and the last animation for the meshes are keyed. Then, match your toolbag animation settings to your exported settings.
By animating all the light source's brightness, I achieved a black fade-in and fade-out.
The end result.
If you want to check the results for this asset, please head over to my Artstation, where you'll find this and other works of mine!
If you made it this far, I would like to say thanks for giving my article some time to read. I learned a lot doing this asset.
I tried to be as informative as possible, and I hope in some way, the things that I did and shared will help you someday too.