Digital Artists

One Sculpted Pillar, Six Faces, and a Whole Basalt Canyon

Artur Artinian rebuilt Armenia's Symphony of the Stones in Unreal with no photogrammetry and no procedural scattering — one hand-sculpted column, rotated, grouped, and placed by eye.

The Symphony of the Stones in Garni, Armenia is a gorge wall of hexagonal basalt columns — the product of lava cooling slowly and cracking into prisms, the same geology as the Giant’s Causeway. It hangs above the river like the pipework of an enormous organ, and it is one of those natural formations that looks authored.

Artur Artinian, a 3D environment artist working in real-time engines, has rebuilt it as Sonata of the Stones — and the interesting thing is everything he didn’t use.

The toolchain

  • Modelling: Maya, ZBrush
  • Texturing: Substance 3D Designer, Substance 3D Painter
  • Engine: Unreal Engine
  • Rendering: Marmoset Toolbag

No photogrammetry, no procedural scatter

For a cliff face of thousands of near-identical stone columns, the two obvious approaches are photogrammetry (scan the real thing, or buy a Megascans rock set) and procedural scattering (write a system that distributes and varies instances).

Artinian did neither. He sculpted one pillar, with six unique faces addressed through rotation, then built grouped variations — a 3-pillar mesh and a 4-pillar mesh — and hand-placed them for composition. High-poly ZBrush sculpts were decimated and baked down for detail.

That is a constraint-based approach, and it is the correct one here for reasons worth making explicit:

Six faces on one pillar is six assets for the price of one. A hexagonal prism seen in a cliff shows two or three faces at a time. Sculpting each of the six differently means the same mesh, rotated, reads as a different column — and a wall built from rotations of one asset has far better memory behaviour than a wall built from six meshes.

Grouped meshes solve the silhouette problem. The giveaway of instanced geometry is regularity in the grouping, not in the individual object. A 3-pillar and a 4-pillar cluster means the repeating unit the eye might detect is larger and less regular than a single column, and 3 and 4 are coprime, so patterns take much longer to align.

Hand placement buys composition, which scattering cannot. This is the real argument. A scatter system produces plausible distribution; it does not produce a shot. The basalt formation’s appeal is its rhythm — clusters, gaps, a dramatic overhang — and that rhythm is a compositional decision about where the viewer’s eye travels. The article is explicit that the work emphasises composition and lighting drama over geological accuracy, which is the right priority for a portfolio environment and the wrong one for a survey.

And photogrammetry would have given him the wrong thing. A scan is accurate and inert. It gives you the real cliff, including the parts that are visually boring, and it is extremely difficult to art-direct. For a piece whose purpose is drama, authored geometry is more controllable at every stage.

The RGB mask trick, which everyone should use

The detail most worth stealing: for texture variety without more assets, Artinian built RGB masks in Substance 3D Painter where R is edgewear, G is a dirt generator, and B is surface variation.

This is channel packing, and it is one of the highest-leverage habits in real-time texturing.

A greyscale mask uses one channel of an RGB texture and wastes two. Three separate greyscale masks means three textures — three samples in the shader, three sets of memory, three streaming requests. Packing them into one RGB texture means one sample and one-third the memory, and then in the material you pull .r, .g and .b apart and use each as its own mask.

The gain is not just efficiency. Because all three masks are available simultaneously in one sample, you can combine them cheaply in the shader — multiply edgewear by surface variation, add a little dirt, lerp between two colours by the result. A material built on a packed mask set is much more tweakable than one built on baked-in variation, which means you can art-direct the whole cliff from a handful of material parameters rather than returning to Substance.

The standard extension, if you have not met it: pack ambient occlusion, roughness and metalness into one texture’s three channels (commonly called an ORM map) and you have collapsed three maps into one. Most engines, Unreal included, expect something like this.

The decals with gold paint are the other nice touch — a note of colour and human presence against an otherwise grey stone palette, which keeps the scene from reading as a monochrome tech demo. Cheap, local, and a reminder that a few decals do more for a scene than another 4K texture.

What to take from it

Constraint-based asset creation beats volume for a hand-composed scene. One sculpt, six faces, two groupings, placed by eye. A junior artist’s instinct is to make forty rocks; a better use of the same time is to make one very good rock and spend the rest on placement and lighting.

Pack your masks. If you are shipping separate greyscale textures for edgewear, dirt and variation, you are paying three times for one sample’s worth of information.

And decide early whether you are documenting or dramatising. Both are legitimate. Choosing accuracy and then art-directing against it is how environments end up looking neither real nor composed.