Tips and Tricks on Creating Hyper Realistic Assets
In this article, I`ll try to give you the most valuable tips and tricks that I’ve learned creating a hyper-realistic asset during the year I spent at Think Tank Training Centre.
Hopefully, you’ll find some of it useful and improve your workflow. Be mindful that they are based on my experience and the way I like to do things. In CGI there are multiples ways of achieving the same result, some faster than others, so it doesn’t matter how you get to the end, as long as it looks good and works.
Idea & Concept
Take your time here. Try to find something that you love. Otherwise, you’ll get sick of it halfway to the end. Don’t rush it.
Choose something memorable/captivating that tells a story.
I truly think that this is the hardest part – trying to find something interesting and eye-catching, and at the same time hasn’t been done before. There
s a reason why we see so many CGI cameras. Some cameras are very interesting to look at, and they usually tell a story. But be mindful, innovation is very important. Whatever you choose, make sure its interesting, fun, and exceptionally well executed.Pick something with a variety of materials:
You want to show that you know how to texture and shade different kinds of materials. The way light interacts with metal is different from rubber for example. Showing versatility is a huge plus!
In CGI there are multiples ways of achieving the same result, it doesn’t matter how you get there, as long as it looks good.
Keep your eyes open.
Anything can be memorable depending on the moment and how well they are done. Before I decided what to do, I went to the Vancouver Flea Market and some thrift shops, looking for the “perfect piece”. I never found it at those places, but eventually, I came across the image below, and I instantly knew that was it.
Try to find something that you can physically have with you.
Having the asset that you are trying to recreate will make the process faster. You can see the proportions and all the details of the object perfectly for the modeling stage. You can also take amazing macro photos and capture all the smallest texture details. What I like the most is that you can see exactly how the objects reacts to light, making the shading process easier.## Modeling
Start with what you like the least .
Take advantage of the fact that you are full of energy and looking forward to starting your project, and start with the parts you don’t like. In my case, I prefer Hard surface modeling, so I started with the bag since it’s mostly organic. If I left it to the last thing I did, it would’ve taken me forever to finish it.
Try to save on topology at the beginning.
When you start building your asset and getting the proportions right, you should go as low poly as possible and build up as you go. Of course, some objects will require more topology to hold details, especially spherical ones, but even with those, save it if you can.
If you can’t poly model something, try drawing topology
If you’re trying to model an object that has a lot of details and intricate shapes, and you can`t get it quite right without having some nasty creases, take it to ZBrush, subdivide the mesh a bunch of times and fix the creases by smoothing them and make any other adjustments you find necessary (this can be done using any sculpting software). Once you’re finished, bring it back to Maya, turn it into a live surface and draw the topology on top of it using the quad draw tool. This will give you some space to decide how you want the topology to flow.## UV Unwrapping
Most people don’t like unwrapping, but I love this stage. After struggling with the modeling stage, creating UVs is a peaceful process for me. It
s the point where you can see a few issues with the modeling, so its an important troubleshooting stage. Put some good music and try to enjoy it.
Figure out how close your asset is going to be from the camera, and unwrap based on that.
The last thing you want is to unwrap everything and realize that you don’t have enough resolution once you begin to texture. So make sure to plan it before unwrapping.
Keep the resolution consistent among meshes
Try to keep the same resolution even if you have different materials, or meshes. It won’t look good to see some fine details in some parts of the model and lack resolution in others areas.
Try to maintain the same orientation of your shells.
Imagine you have a brushed metal object. If your UV’s don’t share the same orientation, you will have parts of the object where the brushed pattern is oriented differently. That can be easily fixed by masking out the different UV shells and rotating the texture, but it
s time that couldve been saved.
Separate your UDIM`s by materials
This will facilitate the creation of selections and masks in Mari, so you can save some precious time. In this project, I separated materials horizontally and objects vertically.
My good friend Paul H. Paulino wrote a great article about UV mapping. If you are interested be sure to check it out at his website.
This is definitely one of the favourite parts for most artists. You finally have the freedom to add details and breathe some extra life to your assets. In my case, I didn’t do any sculpting on the tools, but the bag required a lot of work. Leather is organic, so there`s a lot of folds and details. Your model has to be very high poly to hold those, so once the UV’s are done, sculpt all you need and then extract the details as displacement maps.
Be mindful of what needs to be sculpted and what doesn`t.
Some fine detail that won’t break the silhouette of the asset, and that would take forever to sculpt, can probably be done using a bump map. Be smart about your time. Don’t waste days doing something that can be done in hours and will give you almost the same results in the end.
Almost everything could use a sculpting pass.
Of course that if you’re doing something brand new, you probably don’t need to sculpt nearly as much, but in case it`s something used, or aged, adding some wobble, or breaking perfect edges can give that extra realism. You could do this at the modelling stage, but I like having those details as textures, so I can choose how much of it I want when shading.
There are quite a few ways of approaching the texturing stage. I try to do everything as procedurally as possible, and I also use Mari as my main software, so the tips below are based on that.
Keep everything organized and properly named.
This applies to everything. When you’re working with multiple layers, having them all named will make your life so much easier. Trust me, the last thing you want is having to go layer by layer trying to find what you’re looking for.
Try to work non-destructively.
If you like to paint and project a lot, eventually you will lose time due to changes or mistakes.Having to re-project stuff can be frustrating. I try doing things as procedurally as possible, so in case something needs to be changed, it should be fairly easy. But be careful…
When you work procedurally, and if you`re not careful, you can find yourself with a lot of mask stacks and adjustment layers very quickly. As you can imagine, this can slow down your project significantly to the point where Mari will run out of memory and won’t be able to display your project anymore. If this happens, you can merge a few layers or cache them. In case you decide to merge, make sure to copy them to a new channel before you do it, just so you have a backup.
Break up your tileables .
The most common problem when you work non-destructively is to have your textures looking procedural. The human eye can easily spot patterns, so when you pick a texture and just tile it multiple times over your asset, you will feel like something is off, until you start seeing repetitions. There are a lot of ways to break up your textures; I like to use mask stacks and mix tileable textures until I have something that looks organic. Beware, this can make your project very heavy and slow, so be cautious with this.
Use all the tools available.
Even though Mari is the tool used most often for texturing photo realistic assets for films, Photoshop plays a huge part at any texturing process. In my opinion, it`s still the best tool to create tileables and treat images for projection. Another excellent tool is Substance Painter. The generators and smart masks are amazing and can speed up your workflow considerably. I find that because of its limitations regarding texture resolutions and UDIM support, the best way to use it is by creating masks to use in Mari, and not actually exporting any maps. Be aware that if you don’t break up those masks, they look extremely procedural.
Create a library of textures.
Save all the textures you create and download, and in time you’ll have a good library of tileable textures to use in future projects. This will save you valuable time in the future and depending on how good those tileables are; you can even sell them.
I can’t emphasize this enough! Depending on how big or complex your Mari File is, it`s not unusual for it to crash or even corrupt your whole project. So make sure to archive constantly, and always incrementally. Don’t overwrite!
Look Development / Render
This is one of my favorite parts. It’s when you finally start to see your project come alive. Until this point you`ve been working with flat colors and black and white information. To see it all come together is simply amazing.
Your lighting will set the mood of your scene.
In my case I wanted to showcase textures and shading, so my light was basic – just an HDR and a rim Light. In other cases, where you have a full scene, lighting is crucial. You can make your audience feel differently depending on your lighting.
Knowing how to shader is crucial.
I always try to create the shaders of my assets before actually texturing. Knowing how to create photo-realistic materials without painting any textures can be a huge plus, and saves you a lot of time. When you jump into Mari (or any other software) to texture, if you know the values that would make the shaders perfect, you can paint your textures based on them. This will save a lot of time when doing your look Dev, as you won’t need to go back to Mari multiple times to adjust such values.
Try to create physically correct shaders.
This is a complex topic, and there are some really good articles about this online. To put it in simple terms, create your shaders based on how the material you are trying to do reacts to light in the real world. If you get it right, your asset should look real no matter the environment you put it in. If you want to know more, search for PBR ( physically based rendering).
Use Render passes.
It`s amazing the things that you can change in compositing. Even though you shouldn’t rely too much on it, there are certain things that you may want to change after rendering. Depending on your project redoing the renders might not be worth it, so take advantage of them. After all, they barely increase your render times.
You are almost there! Renders are done, they look amazing, and all you have to do now is retouch some small details and color correct some things. Somehow you spend an awful lot of time at this stage…
Be careful not to exaggerate.
If you did everything carefully so far, some defocus and color correction should be enough. It`s really easy to “ruin” your work by spending too much time at compositing.
Put your work out there!
After looking at your work for too long, it’s hard to be impartial about it, so post it online and ask for feedback. Even if you consider it finished, good criticism can be important to future projects. Don`t be shy, put yourself out there!
This was my final project at Think Tank Training Centre, and it took a lot of hours and effort to get it done. When you work on something this important, there are a lot of ups and downs during the way. You just have to keep pushing forward, and eventually all the hard work will pay off. I owe a lot to my friends, teachers and especially to my mentor Justin Holt. I couldn’t have done it without them.