How to Build and Use Rocks in Games?

Paul Turc talked a bit about the way he produces amazing 3d rocks and how you can use them to dress up your environments.

Paul Turc talked a bit about the way he produces amazing 3d rocks and how you can use them to dress up your environments.

Introduction

My name is Paul Turc and I’m currently working as a 3D Artist at Gameloft studio from Cluj-Napoca, Romania. The latest game developed by the studio in Cluj-Napoca was Iron Blade. For this project, the challenge for the whole team was to keep high quality for this game while running smoothly on mobile devices.

Besides my full time job, occasionally I worked as a 3D Environment Artist/Technical Artist in PC/Xbox/PS4 projects.

A few months ago, I decided to interrupt my freelance work and dedicate my free time to study in depth Substance Designer and ZBrush.

Approach

Because the main purpose of this pack was to learn Substance Designer and ZBrush in more detail, I have developed the workflow around these two programs.

I always try to keep a non-destructive workflow, which allows me to come back to the created meshes and change them without losing much time.

The idea of using a shader that allows the customization of the rocks, came me later while I textured the rocks.

Rock sculpting

For the beginning, I have sculpted several small rocks in ZBrush that I then combined and I created the biggest rocks. After creating a base for all the rocks, I returned to each rock and added details/polish.

During this time I tested the proportions, dimensions and silhouette of the rocks in a scene made in Unity. Also, I made sure the rocks fit when they are used together.

Materials

The next step was to textured the rocks. For bake textures I used Substance Painter. It’s very easy to use and in most cases the result is perfect without artifacts.

In Substance Designer I created two groups of textures:

1. Tileable textures with which I have textured the rocks.

2. Textures that come projected on the rocks using Y-axis. I used the same textures for the terrain.

Using tileable textures gives an artificial aspect to the objects.

To avoid this, I created several layers with the respective textures, which I modified the offset and rotation. Then I added the Light Generator (mg_light) over the layers masks and I changed their angle, until I got a natural result.

Then I created a fine texture that I applied over the rocks, based on the AO texture information.

Finally, I created a Smart Material with all the layers, that I applied over all the rocks. I adjusted the materials where it was needed and added color details.

I always checked in the Unity scene that the details are correctly distributed for both, large and small rocks.

1 of 2

Most of the terrain textures are created in Substance Designer.

1 of 2

Shaders

For the shaders I used the Amplify Shader Editor (ASE). It is very useful and also can be used by those who don’t have advanced knowledge of making shaders. Amplify Creations have a great support and they constantly improve the quality of their products.

I really liked the idea that anyone who has ASE can open and modify the shaders as they wish.

The shaders used for the rocks package use the same illumination as Unity standard shaders. The difference is that I added the projected texture on the Y-axis.

1. I used the surface normal in world space on the y-axis.

2. In addition to point 1, in point 2, I used the normal map texture in tangent space to perturb the object’s surface normals.

3.4 The final results

After I defined how to project the texture from the top, I added more parameters to the shader through which the appearance of rocks can be changed, according to the chosen environment.

Advice

It’s very important to know what workflow you will approach and what are the steps that you will follow to complete the project you are working on. Especially when you get out from your comfort zone.

The easiest way to reuse the meshes is to add details and polish as late as possible. Personally, I start with a blockout that helps me define the proportions of the scene I’m working on. Then I work on the objects silhouettes and as I progress with the details, I organize the structure of the project so that I can reuse the created resources.

In some cases I create 1-2 prototype meshes with which I define the workflow I’m going to use.

Paul Turc, 3D Artist/Technical Artist

Interview conducted by Kirill Tokarev

PBR Rocks – Unity Asset Store

Join discussion

Comments 1

  • Maurice

    Yes it would if you use object space insted of worldspace.

    0

    Maurice

    ·5 years ago·

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