How to match these rocks?

Started by sboerner, April 08, 2021, 10:00:39 AM

Previous topic - Next topic

WAS

I can't recall off the top of my head but I wonder if the terracing function can be rotated and used for this. Its in the file sharing.

mhaze

Me too, this is exciting. Would be nice to get this to work nicely on vertical surfaces!

Dune

Here's something that might be useful, Steve. Not perfect, but it does contain some methods to get these kind of flat, stratified rocks. Highest raise is often a bit of a problem, so you might want to circumvent that.

And something I made with a similar setup.

sboerner

Thanks, Ulco. Those are fantastic! I'll have a look. In the meantime there are a few ideas I'd like to try.

And I retract part of my initial post here . . . this is starting to be fun.

WAS

I think you can use a max slope in a distribution shader, and invert it in the strata to keep it off the peaks (if there is no texture data for a min slope)

sboerner

New iteration. Getting closer, but there are a couple more things I'd like to try.

Apologize for the lack of color, but I always do displacements with an overall flat color then shade later. Maybe just a habit from modeling.

Using a displacement map instead of the strata shader seems to work well. Makes it easy to vary the distance between the peaks, and introduce perpendicular fault lines. And you can apply displacements and warps. The attached png is a smaller, 8-bit version of the 4k, 32-bit map I'm using.

WAS

So, high buildup will help you get those longer shelves, sboerner, without the need for a texture. Can just mix a couple at different spacing.

sboerner

Thanks, Jordan. The problem that I've run into is that, in this case, it doesn't seem possible to warp or displace the strata. Maybe because in most cases the strata shader is applied to a previous displacement and inherits its shape. In this case there is no previous displacement -- the strata shader is the base displacement.

I also keep banging my head against the fact that Terragen just does not handle 90-degree angles very well. Such as vertical displacements, blocks or corners. For example, I'd like to use a regular scalar voronoi node to mask the "islands" that rise above the water surface. That gives me a vertical surface with a sharp edge. Subsequent displacements then go their own way – those on the top head y-ward, those on the vertical faces head x- or z-ward, and you end up with a gap or step along the edge. The soft voronoi node fixes this . . . but you end up with a soft edge, which is not what I want.

These are distinctive rock shapes. They're square and blocky, with clearly defined, sharp layers of strata, eroded on the upstream side and full of potholes created by whirling bits of sand and pebbles that get caught in low areas on the surface. They're surrounded by blocks of rock that the winter ice has splintered off. Maybe I'll just have to settle for something that resembles them if you squint when you look at it. But I'd really like to do better.

Not ready to admit defeat yet, but clearly time for another break.

WAS

#23
I am wondering if a brush pack for sculpting may help here.

Something like the follow, but not a zbrush format: https://www.artstation.com/marketplace/p/1mpv/joltbug-rock-sculpt-brushes

Idea being create some sort of rudimentary textures to apply on repeat and warp about.

Dune

If you use a soft mask like yours, you can angle the whole Y-displacement a bit, so it's not exactly vertical anymore. You can also harden the mask by color adjust, masked by pf or not.

sboerner

Yes, doing both of those things. (And borrowing some other tips from the files posted here.) But in this case the vertical corners of the soft voronoi shapes remain too rounded, even with very extreme adjustments.

But I have another idea that I think might work, a hybrid approach. Should have something to post later today if it works out.

Kadri

I looked into displacements of objects but it was kinda wonky. Not sure why and haven't looked more into this.
Lost interest because of this.

You could use procedurals in other 3D software too for this. Procedural and standard modelling etc.
Nothing what you don't know of course.

There are some free and very cheap rock models too around the web you could use as a base.

sboerner

Thanks, Kadri. All good thoughts.

Here is a proof-of-concept of a technique I've been playing around with. Obviously there is room for improvement, but I think this might be the way to go.

I started out with a gradient mask made in Photoshop. (As before, but somewhat simplified. I'll attach an 8-bit version.) This gets tiled and warped to produce the basic shelving displacement in Terragen. Then (and this was the aha! moment) warped simple shape shaders are used like cookie cutters to mask out interesting sections, which are then rendered out as individual vector displacement maps. (One attached as an 8-bit jpeg.) The vdms are then positioned in the final scene and small-scale displacements and color are added.

The thing I like about this is that it gives you full control over everything, from the softness of the shape edges (controlled by the ss shader's bevel edge width) to the height and size of the rocks, and you can precisely position them in the final scene. Best of all the shapes are regular displacements.

Testing this in a real scene over the next few days . . .

Dune

Interesting workflow. I was going to say that you could also mask the shelving map by a smooth voronoi (and some other pf), but in your scenario you indeed have more control. Good for smaller areas. Did you try your map on cubes?

Dune

I don't want to hijack your thread, but I 'stole' your shelving.png and used it to displace cubes (and the streambed). The cubes can be placed, rotated and distorted (redirected), and with transform shaders to move other variables you get quite a bit of control over how they look.