Hi there! My name is Titouan Evain, and I’m 23 years old and from France. I’m a self-taught 3D Props/ Environment artist with an attraction for hard-surface modeling and shapes. I’ve always been passionate about aeronautics and mechanical stuff, and before I dived into 3D art, I was already modeling parts for drone-racing frames or industrial pieces with CAD software such as Solidworks or Catia. It wasn’t really the same 3D field but that gave me fundamental notions in industrial design and forms in general. I really started learning 3D art after I finished my university in micro-mechanics & electronic design almost 2 years ago. At the very beginning, I started by learning 3D motion design while using mostly Cinema4D and Fusion360, and then I began another chapter by learning game art industry-standard pipelines since I was more and more interested in this area. I had a few experiences working as a freelancer in the motion design/VFX industry but I’m now a new member of the Elite3D’s team, where I’ve been recently hired as a Junior 3D Artist.
Despite the fact that I learned on my own, I met many great people who became mentors with time and helped me a lot focusing on my learning path in the right direction. Here are some names that I really want to quote: Jason De Loos, Nicolas Polyte, Guillaume Sinou, and a few others. I really think that nowadays, learning is more accessible than ever before. I spent a lot of time watching tutorials on Gumroad, Gnomon Workshop, Pluralsight, Udemy, Lynda, as well as Youtube, Polycount, and 80lv, which are the biggest places to learn for free, actually. One big thing is to find or build a professional network. Being able to get feedback from professionals is a must-have, and Discord is an amazing place when it comes to interactivity and knowledge sharing.
The Beginning of the Project
I have always been a Call of Duty and FPS player, and almost a year ago, I was finishing my first real-time asset after having watched a great tutorial from Tim Bergholz, so I wanted to challenge my current skills to know what I could do after having spent a year learning. One day, I found this post from Rick Zeng showing his concept work for Call of Duty: Black Ops 4 and thought one of his concept variants was really cool.
I decided to make it as a game-ready mesh but I also wanted to render it in Unreal Engine with a cinematic and photorealistic touch. This was a challenge for me since I haven’t spent that much time using UE4, and I usually render my game assets in Marmoset Toolbag, which is a great render tool but I knew that UE4 was capable of brilliant things and was looking to improve my knowledge on it.
Working on the Concept
For the final output, I was aiming for a weapon with a realistic/near-future aspect, didn’t wanted to make it look too sci-fi. The concepts from Rick Zeng were already great for this purpose. I also wanted to make a reflex sight for the weapon so I took the Black Ops 4 reflex sight as the main reference to keep the overall artistic direction consistent with the game. Concerning the texturing, I picked a lot of modern rifle references especially for the polymer and the wear of it.
For this weapon, I used this workflow: Blocking in Maya to a mid-poly mesh / High poly modeling in ZBrush and Maya/Retake of the mid-poly mesh to transform it into low poly and optimization of the mesh. I like to push my blocking to a very high level of detail to get what I call a mid-poly mesh, which is basically an almost finished version of the shape.
During the blocking phase, I try to keep everything consistent and not sliding too much away from the reference concept. However, on every concept, we have to interpret a portion of the work. For weapons/ hard-surface modeling in general, it’s important to keep details accurate and coherent to the overall model. Adding screws everywhere to create an illusion of the complexity has no sense, for example, so it’s a good idea to make sure every detail parts tell something about its function. Again, reference is a great thing to have.
Workflow in ZBrush
A few months ago, I watched a tutorial by Simon Fuchs, which has an updated version now but the overall workflow is pretty similar. This tutorial taught me a lot about doing hard-surface high poly using ZBrush in no time compared to traditional SubD modeling. I wanted to try this workflow on a completely personal project and thought this Maddox could be a nice occasion to give it a try. The workflow is actually very simple and very efficient but only intended for a baking purpose since the final high poly mesh will be a triangulated decimation. This technique consists of setting “smoothing groups” in your 3D software to separate each face, which will need to have a smoothed function, then separating all those faces’ shells in the UV editor. After that, you export your mid-poly/ blocking as a triangulated version to fill every Ngons so ZBrush will not edit your mesh once imported. Then you’ll be able to get polygroups by the UVs you’ve made just before, and start smoothing all your surface by using “Polish By Features”, and smooth every hard edge using “MaskByFeature” and Polish/Polish Crisp Edges functions. Making use of the “Morph Target” feature is also a great thing, so you’ll be able to come back to the area that you want to keep clean and unsmoothed. If you want to learn more about this workflow, don’t hesitate to take a look at the tutorial I quoted above. I just wanted to give you an overview of this workflow but there are some subtleties that I can’t show here because my breakdown would be way too long.
One thought that I had during my project I struggled a little bit when trying to smooth the larger piece, in fact, despite this smoothing workflow is really efficient for some parts, it’s not always very easy to get a clean result with more complex geometry with a lot of different scale of details. You’ll have to spend more time refining and making sure everything is smoothed correctly in a consistent way.
Concerning texturing, I did nothing fancy, actually. In the past month, I followed a great tutorial made by Eugene Petrov, which helped me a lot in understanding how to build a realistic polymer material. The most complex materials in the Maddox project are the polymer and the suppressor metal. The rest are more basics materials with less painting and more procedural layers. Here are the most important materials of this project, I’ve made a little breakdown of the 3 most interesting of them.
The text and labels are simple alphas that I made in Photoshop. Since I wanted to do very close shots with high definition, I decided to go with 4 texture sets. 1 texture set for the reflex sight and 3 for the whole weapon and accessories. Having 4 texture sets also allowed me to have a consistent overall texel density. One thing that I like to do when texturing in Substance Painter is to import a special version of the mesh. I usually duplicate my mesh before exporting it to Substance Painter and create an exploded/leaned version that I put on the side so the UVs will stay the same in Substance Painter, and I have a version where I can access a different part of the mesh more easily.
This is the first personal project that I decided to render in UE4. At the beginning of the project, I was already thinking of doing a fun shader with depth, etc. for the reflex sight, and I couldn’t do it in Marmoset Toolbag obviously. So UE4 was the perfect choice in terms of flexibility and tools. However, UE4 is not made for portfolio renders at all, and it’s not as easy as Marmoset Toolbag to set up a nice pure asset presentation scene.
First, I exported the maps for each texture set from Substance Painter in EXR 32bits format and packed version for AO/Metalic/Roughness maps.
I had some issues with the metal color on close shots with other formats, so even if it was total overkill, I moved with EXR format which solved the problem.
When creating materials in UE4, I like to add S-curve and Power nodes on the roughness channel to have more control over it after having applied an instanced version of the material to the corresponding parts of the mesh.
For lighting, I used simple 2 or 3 directional lights depending on the shot, and the new HDRI Backdrop feature to smoothly fill the rest.
This HDRI Backdrop feature allows you to use your own HDRI and is really made for asset presentation, so it was the perfect tool for this kind of render. However I don’t have an RTX GPU, and all my renders were made without RTX. By default, the skylight sub-actor of the HDRI Backdrop is set to catch ray-traced lights. So you need to uncheck this box to get back your reflection if not rendering in RTX.
For this type of render, I also like to have a clean background without seeing the HDRI used. But for the moment, the HDRI Backdrop doesn’t allow you to do that without turning off the actor completely. So I imported a simple sphere from Maya with inverted normals. Then, I applied a simple unlit shader on it with dark grey color in the emissive channel and that was it.
Next, I turned all the most important settings to cinematic, so I was able to get the maximum
rendering quality. I also set the screen percentage to be 200%.
One last thing I like to do is to add some sharpen post-effect. In the post-process volume, you are able to add a post-process material. There is already a lot of tutorials on YouTube, which explains really well how to create post-process material, so I’m not going to breakdown it here, but since it really adds something to the final output I guess this is worth mentioning! After all those steps, this is how it was looking in the viewport with a single HDRI.
I really tried to produce the best piece of art using all the things I’ve learned with this project. Since I started 3D, I’ve always spent most of my time in modeling because this has always been my favorite part. So the modeling process was not the one that scared me the most, actually. But I didn’t know UE4 that much and the big challenge for me, was to produce nice renders with my poor knowledge on this engine. So I spent some time watching tutorials and a lot of UE4 conferences concerning the tools I wanted to use and I adapted them to my specific use. I think that this is also the biggest benefit of a personal project because since you have no deadlines, you can force yourself to use different techniques, taking advantage of your project for learning new stuff.