Enjoyed reading the article. I used to be a gaming addict in my teenage and everyone used to scold us for that. Now we are witnessing a great revolution in the field of gaming. Developers of gaming are setting up new benchmarks. I use gaming devices made by https://netgears.support/netgear-powerline/
A very detailed talk on the production of amazing stone materials by Sergio Acevedo Ruiz.
My name is Sergio Acevedo Ruiz (Seehr). I’m a 3D artist from the Canary Islands. Getting into gamedev was a bit hard for me since back in those days, around 8 years ago, there were no universities in the Canary Islands. But everything is possible for a willing heart. After a lot of effort, I’ve been working in the video games industry for a couple years now. I’ve had the chance to work on some projects like RIGS: Mechanized Combat League. Sony VR Experience, WB Montreal Undisclosed Project, Raiders of the broken planet (freelance, small collaboration) and I am currently working as a freelance artist.
I think there is one shared thing in common between any 3D pipeline, be it character, hard surface or organic environment production, which is the importance of a good blocking and reference gathering. So I usually start my materials thinking about the biggest features in them and how to integrate them together. Just like I would do with anything else. I would suggest anyone using Substance to be obsessive about organization.
I am a big fan of Hard Surface and Sci-fi modeling. When I was young and I watched Blade Runner, my eyes were wide open. Eventually, when I started doing 3D I grew a big interest in Hard Surface modeling, but I consider myself more of an Environment Artist. there is something about environment production that just gets my eye every time.
Going back to material and texture production, I usually start my materials inside substance directly although there are exceptions which make me start with some 3D model that I later bake and use the software. I think that having a feature directly integrated into Substance to import and bake heightmaps from objects could be a game changer. I hope this feature is integrated in the future. Although we’ve seen some people do some experiments about it already and they are promising.
I tend to work by mixing the different elements that are pre-established together into the final thing.
The Iceland series and the ones coming after it is intended to polish and improve my environment art skills. The idea is creating environments that correlate with everything staying consistent, that’s why I think that making the materials and mood the first thing is very important. I am currently developing a personal project outside of my work hours and I’ve found myself into bottlenecks because of the pipeline that I was following. So this entire iteration from smaller to bigger details (literally) has helped me crafting scenes, doing materials, sculpts, models and plants and I am very happy with some of the results although I keep improving daily.
The first step to getting consistent environments is to pay attention to details even if no-one else might look at those. For example, if I was recreating an Iceland Series, the Cetraria Islandica was my choice of creation inside the substance, so I looked for some references and did similar generator for it
Regarding the landscape production, I work with Substance Painter for texturing (with the .sbsar nodes that I’ve created and sometimes with way simpler generators) and usually, those are done with Houdini, World Machine, and Zbrush sometimes for sculpting better details in slopes and so forth. My material setup inside UE4 is simple but effective and allows me to add a lot of variation very quickly.
The Icelandic Basalt walls were a challenge because making a tiling map that allows you to have different heights in a very escalated way and at the same time tile properly might be challenging. I ended up baking all the info into heightmaps in order to create meshes out of it and work them properly in an environment
My heightmap is worked directly from a cube. I baked a heightmap from different positions in a cube allowing me to have 3D geometry inside Substance so I could position each line of rocks. It’s a fantastic node inside the program and it offers you a million possibilities if you experiment with it. The part where I spend most of the time it was the Color creation for this texture.
The Mars Series was all about dust, rocks, and sand. So I dug the internet to find any interesting picture that NASA could provide me for inspirational purposes. But I also ended up mixing lot of my favorite elements of this kind on Earth but in bigger or smaller scales with a Martian mood. My first approach to this series was the direct replication of content that I thought interesting visually. I came up with some replications like in the Layered Dust Rocks material:
But soon I found myself into repetition and I wanted to avoid that at all cost. So I started investigating new shapes, colors and sculpts that could fit in the Martian mood although they aren’t what you typically expect when thinking of Mars. (this takes me to the next questions).
Mars Series – Martian Rocky Sands
For this material, the idea was creating a series of functions that would allow me to integrate all sorts of shapes to ground. The result has been polished since I presented this material but the way it works is very simple. Given a mask, the material blurs the lower input and prepares the ground for the sitting of the element, later, it chooses how much of this one is going to be covered in dust. This is tricky only when you want the dust to look different from the sitting mask. So I had to fake a positioning node in Substance. that’s where the magic happened.
You can see the main shape of the structure and the way it’s going to blend here. The map isn’t perfect and I’m still figuring out a more solid way of calculating it but it was worth the time spent.
As for the dry ground, there is a small trick that I tend to use with the Curve node. Usually, you get this kind of result and iteration when doing cracks:
But instead of just simply slope blurring it to kill the lines, I tend to play a bit with curves. This is also a great technique if you want to do stylized materials
or more realistic approaches:
In any case, if someone is interested in this nodes, I have a free Basic Environment package in my Gumroad page that I will like to update with time, little by little.
And remember that I will try to update it with the time and I am considering releasing full products or tutorials in the near future. So consider subscribing or simply staying tuned to my portfolio.
Mars Series – Martian Porous Floors
The entire idea behind this material was recreating a place in the world that I love (Richiat’s) but on a way smaller scale, naturally and modular. It was more challenging than others because of that reason
So once again, having inspiration, blocking and solving. The albedo for this particular material is simpler than it looks. It’s more or less something like this:
I would suggest everyone test what they do. If you’re aiming for a particular platform, put the textures inside as soon as you can and this will help you iterate back and forth faster and more efficiently. What I usually do is work with the Iray open on the second screen and I can see more or less how everything behaves constantly. Sometimes you don’t even need to render it to see if it’s going in the good direction. But visualizing it in the best way suited for you it’s extremely important since everything can change dramatically from one color space to other. It’s not the same how the textures read inside Maya for Vray than they do inside UE4 or between Toolbag and CryEngine. I usually organize all my outputs in the same way and this also makes everything faster for me.
Anyway, I hope that readers enjoy and perhaps, very humbly, learn something, and you can always find me on Twitter and ask some questions (@seehrart), I usually tend to hang in discord also and people ask me questions around there also.
Have a Substantic day!
Interview conducted by Kirill Tokarev.