Professional Services
Order outsourcing

How to Recreate Detailed Lantac LA-XR 15 ONYX Rifle in 3D

Eric Moreno shared a breakdown of his Lantac LA-XR 15 ONYX project, showing how he combined traditional modeling techniques with Booleans and explaining how he handled the rifle's roughness and metalness.


Hi everyone! I’m Eric Moreno from Spain. I’m a Freelance 3D Artist about to finish my double master’s degree at Voxel School, specializing in hard surface and environment art. Since I can remember, video games have been my passion, not only playing them but also understanding them from the inside out.

I first got into 3D art a few years ago, when I did a course on programming for video games and there, I had classes on 3D modeling. It was then that I fell in love with it. After that training, I walked away from programming to focus exclusively on 3D. I continued to learn on my own by watching endless tutorials and online courses.

When I start a new project, I aim to learn and improve. It may sound repetitive, but it is true because this is my passion, and I don't see it as a job but as a joy. For me, working on a project is like solving a puzzle, and the best feeling is being able to apply what I’ve learned in previous projects and by observing other artists.

Knowing that I can create something a little better each time is amazing, and that's the feeling I will always strive for. The good thing is that 3D is constantly evolving, so I don't have to worry about not learning new things.

Lantac LA-XR 15 ONYX

This project started as a challenge to me as I entered a master’s degree in Weapons and Vehicles. I had multiple reasons why I wanted to do this rifle but, ultimately, I chose the Lantac specifically because it had a great level of detail and complex shapes. Of course, I knew it was difficult, but I really wanted to refine my skills and deep dive into hard surface art, so I thought, "What better way to get a grip on a real hard surface than this one?"

I find that I learn best by giving myself something huge to look up to because I absolutely love puzzling over how to solve these kinds of problems. So eventually, after a lot of trial and error, I’ll get it right in some way. It's this approach and knowing I’ll make those mistakes that get the most out of me. To be completely honest, this way is, at some point, going to make you crazy and you’ll have to stop and reassess what you’re doing, but it will give you new skills and resources in the long run, at least it’s that way for me. 

Apart from having a challenge, I was also inspired and extremely motivated by the number of hours I had logged playing shooters. I wanted to be able to recreate a weapon that would be in one of those games I've spent so much time on. 

When it comes to the process, I started strong, as it happens every time, and went straight to gathering references. I scouted the internet trying to create a great PureRef board. As expected, not everything went as planned, so finding references for this weapon was way more difficult than I anticipated. 

Something that really helped me was watching videos of the gun in real life, taking screenshots of the different angles, and catching the details. I spent a lot of time searching but ended up not having enough references. It was kind of an issue when working on this project, sometimes I wished I had more angles and cleaner lighting. So if you want to take something out of this, make sure you choose an asset that has a lot of images on the internet. 

I tend to focus on finding images that help me with the shape for modeling, but it’s also really important to start looking into textures when creating the reference board. For me, this is something that will keep changing and growing throughout the project. I organize my board by parts or pieces I want to make and then add pictures with more angles to make sure I get the width of the asset right. I add close-ups to be able to see the details clearly as well. A lot of the time, I use filters to change the colors and contrast and see some spots better. Something I do to visualize shapes is painting with bright colors over the reference.


Modeling the Lantac wasn’t easy, as it had a lot of details and different geometries combined. Also, I didn't have a set workflow as I had never modeled a realistic hard surface before. Because of that, my initial process was experimenting a lot and going back and forth many times as well as learning and improving as I went along.

I used 3ds Max and ZBrush, combining some traditional modeling techniques with Booleans. This helped me develop a workflow that worked for me and I kept using it on different projects. 

Having a detailed blockout is especially useful for me. Sometimes, it can take more time, but I try to create a model that is closer to the final version so I have all the shapes and proportions clear. I always try to be exact with the measurements, so I use a human reference to check if it’s going well. It also allows me to make any changes at that stage before refining the topology and the fine details. 

As I started modeling, it became very clear that I had to focus on different parts at a time. Once I had the initial blockout, I went to work on the body as it’s the main focus of the Lantac. I had to adjust it so many times that I couldn’t even count it, especially because of the lack of symmetry between the front and the back parts.

The best thing I did was separate the parts of the body, as you can see in the picture above, both in the front part and the back so I didn’t have to deal with a huge piece and manage the whole mesh at once. Of course, I did every piece that was built separately as a different element. 

The body proved to be the most challenging part because of the different shapes, the angled structure, and also the problem of not having clear references, so matching everything was pretty exhausting. Another issue with these types of shapes is that in every lighting it seems different and it can be extremely tricky to get the real one. Personally, I had to redo tiny parts multiple times because of that.

I continued with the rest of the pieces, which were pretty straightforward to do after modeling the body. However, I did run into a few problems: The stock was a bit tedious to get it right because of its shapes and the number of changing angles. Another part I redid a couple of times was the magazine because I didn’t really like how the first one fit with the rest of the Lantac.

A great help for me when modeling in 3ds Max is using instances of each piece in a rotated position so I can modify the length and shape without it breaking, as would happen if it’s angled.

High Poly Preparation

To create the high poly, I started to prepare the mesh in 3ds Max before exporting it to ZBrush. For me, this is a key step where I go piece by piece using the Chamfer modifier to set support lines. After that, I add a TurboSmooth modifier and set it to 3 or 4 iterations. I set specific parameters on the Chamfer, so I have a preset called TurboChamfer to make the job a lot quicker. 

Sometimes, I also change the “amount type” to “by weight” because it lets me soften or harden the edges easily inside the “edit poly” modifier. 

With this kind of geometry, you don’t always get it on the first try because there can be problems with smoothing groups badly set, which can lead to these types of mistakes.

Another common problem is pinching, in that case, I would look out for zones that have corners and end in a tri because that will create tensions. Once I see a mistake, I try to find out why it is happening. To fix it, I pinpoint the vertices that are problematic, deactivate the TurboSmooth modifier, and add an Edit Poly modifier above the Chamfer in order to be able to adjust the support lines manually. I continue to do testing until I get it right. 

Below you can see how it looks first without paying attention to the support lines and just going along adding TurboSmooth versus how it looks after it’s properly fixed. 

Complex meshes that have extensive geometry are also something to pay attention to because it's very difficult to control the extra lines given by the Chamfer and it results in a mesh with tensions, so it’s better to separate the piece and then unify it later in ZBrush. 

In this image you can see what the result of all of this preparation looks like: 

But there’s one more step before exporting. During this project, I learned to rely heavily on Booleans, as I mentioned before. I start with the low poly model in 3ds Max, then add the shapes I want and place them. This will go to ZBrush, so I’ll prepare them with TurboSmooth as I did with everything else. This is what the prepared model with Booleans looks like:

Once that is done for every single piece, I export it to ZBrush. It’s important to note that I do not collapse the modifiers but I deselect the TurboSmooth option when exporting in .fbx because it will export collapsed but the piece will remain in 3ds Max in case I have to adjust something. 

High Poly Modeling

When importing the model into ZBrush it’s also very important to export it piece by piece but in groups, for example, the stock with all of its pieces. This is so you can work without problems with the software and it doesn’t crash constantly. By the time I have everything imported and prepared, I start with the real high poly. The first thing to do is subdivide everything until it’s completely smooth.

Then I do the Booleans I previously prepared, so they’ll end up being very smooth and without pinching, just like in the picture below.

When that is done, I DynaMesh (deactivating the white dot) with high quality (yes, it crashes all the time). At this point, I do Polish or Polish by Crisp Edges for every piece to have a nice finish (all of it deactivating the white dot). 

Making the grip of the Lantac was a bit tricky because I had different parts on the same piece that required different levels of polish. So I had to be extra careful and mask every part to get the result I wanted. 

Now, it’s time to start bringing the asset to life and giving it detail by sculpting. I’ll mainly use the sculpting for noticeable dents or obvious changes in the surface. When deciding if something is worth sculpting or not, I’ll consider how permanent the change is: if I receive feedback on something, I would like to easily change it, that’s why I tend to rely on Substance 3D Painter so things aren’t set in stone.

I tried to export it without decimating, but in some cases, the pieces were very heavy and I had to decimate it. This can be problematic sometimes because it triangulates the mesh and can mess up little details, so it’s better to do it carefully. 

Topology & UVs

For the low poly, I go back to 3ds Max, to the layer where I keep the model without TurboSmooth. First, I work on the Booleans to get the low-poly mesh of those parts. I used the Boolean modifier, which leaves messed-up topology but can be manually fixed. The reason I don’t use the 3ds Max Booleans for the high poly is that when applying the Chamfer and TurboSmooth to it, the mesh will break. Instead, I have a smooth Boolean from ZBrush and a clean topology from 3ds Max.

Once the low poly was ready and had the material ID set, I did the UVs in RizomUV and organized the two 4K texture sets. When exporting for Marmoset Toolbag it’s especially important to triangulate the mesh, otherwise, we won’t get the same result as the one from 3ds Max.

Then I imported everything into Marmoset Toolbag 4 to do the baking before going to Substance 3D Painter to texture.


For texturing, I used Substance 3D Painter and I would say it was the longest process. The first thing I did was set up my scene and change some things like the tone mapping with ACES and tweaking the camera perspective a little. There is one very important setting that I like to adjust: the Specular quality because there is a huge difference between low and very high. I really like to set the scene for myself because if everything looks better and more detailed, I feel more motivated and eager to work on the project and let my creativity flow.

Texturing a rifle is not easy because you have to nail the roughness and metalness values either with colors or with black paint so it looks real. Apart from that, it took me the most time to get a good black base color because it had to include variations so it didn't look plain, especially in a big weapon like this one. I even tried different colors for the base since I wasn’t getting the dark hues the way I wanted them to look at first. I always start by putting color on every piece of asset so I can work with it as a whole. 

I went with just one texture set first, which included the body, the grip, the magazine, and the handguard, and started to paint the body and handguard. Once my base color was done, I started to add details, first putting a color variation with a grayscale noise. After that, my main goal was to get the metal type of my reference, so I added flakes to get these tiny geometric shapes focusing on the roughness map so I would get that reflection. 

To refine it more, I gave another roughness variation, but this time with color too, and then used an HSL perspective to adjust the saturation and the color if I ever wanted to. I kept using flakes and refining the weapon with levels, focusing especially on creating variations in roughness, which may be my main technique.

After those dots and variations, I gave it some detail with dirt and dust. Then I started to highlight some parts so it would look more realistic. For the same reason, I added different types of damage and kept on giving color variations so it would look used. I paid special attention to creating damage that wasn’t random, it was mindful and in certain spots so it would be believable. For example, the most worn down zones have not only scratches or dents but also a change in roughness and sometimes color. 

I kept doing roughness variations as well as highlighting some zones and adding dirt and AO manually so the details and depth would pop out. On top of everything, I used an HSL to easily modify some adjustments, specifically the saturation and lightness. 

Then, I went to the magazine. I used the same techniques as before, but this time, the material was cheaper plastic instead of metal. For the initial grainy texture, I added a white noise with a barely noticeable height value. 

I continued with different roughness variations and added the painted but worn down number in blue, the white numbers, and, of course, the damage and dirt parts. I also used a brightener curvature and edge blurry together with a dirt generator on the cavities to add depth. 

For the tape scraps, I used a dirt generator with a grunge noise and Levels and played with it until I got the feeling I wanted. I subtly upped the height value and worked on the roughness variation. On top of that, I added more damage both on the tape and the magazine as a whole and, finally, detailed some areas with different noises for a more realistic reflection. 

Another interesting piece to paint was the grip, which was still plastic but more resistant than that of the magazine. The initial texture from the bake already had a bit of a grainy surface, but I wanted it to be more noticeable, so I added a plastic grainy and played with it in different layers so it would have lots of variations. Then, I added damage, dirt, dust, and highlights, not to forget the roughness variations. 

At the very end, I added a layer to boost the ambient occlusion, which resulted in a more defined asset. 

This is what the different maps look like once texturing is done:


For rendering, I used Marmoset Toolbag 4, and the first thing I did was adjust the camera to my liking. Then I changed the tone mapping to ACES to match the one from Substance 3D Painter. After that, I set the field of view to some value around 200mm. Regarding lighting, I used cooler lights because I really like to contrast dark colors with red, purple, or blue. I started with 3 basic lights, one on each side and one in the background, and then played around adding some lights to try and bring out the details in roughness. Something I did specifically for these renders was create a purple-to-blue gradient image in Photoshop so I could light it from the bottom. 

For some shots, I used an orthographic camera. When it comes to the actual renders, I prefer to render images with transparencies (if it’s possible) so I can control the background in Photoshop.


Each project I did has taught me something, and this one has been the most special until now. It has changed my whole way of modeling, and that's what I liked the most about making the Lantac. It has taught me a lot of technical stuff but even more artistic things. To be honest, we sometimes forget that doing art is not all about doing it perfectly and we have to get past the frustration to not only trust the process but also just be creative.

Through art, we always show a part of ourselves and our take on how we view the world. As artists, we should remind ourselves to add our personal touch and appreciate those moments of creativity; at least, that’s what keeps me going. 

My biggest piece of advice for anyone entering the 3D world would be to keep trying, keep making mistakes and, above everything else, try to learn from every artist and every work of art you see.  

I wanted to give a special thanks to Gloria Levine and the 80 Level team for giving me this huge opportunity. Also, my deepest thanks to Lluc Carbó and Alicia Verdú for all their feedback.

Thank you so much for reading! I really hope you enjoyed it. I’ll leave my ArtStation and LinkedIn here so you can message me with any questions or in case you want to check my latest uploads. 

Eric Moreno, 3D Artist

Interview conducted by Gloria Levine

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more