Default Shaer -> Transform Input Shader = Flat Terrain

Started by TheFlaglerPhotographer, October 29, 2025, 08:14:48 PM

Previous topic - Next topic

TheFlaglerPhotographer

I'm trying to build a layered terrain texture with some PBR textures. Tiff format authored in Substance Designer. Color/Roughness/AO/Height
Using a custom ter built in WM.
What I want to accomplish is having my rock shader be my "alpha" layer. In other words, sit on the whole terrain, and then build a few generic dirt and grass textures to help imply coverage for a scene I'm working on as an enviro map.
I can't find a built-in way to scale my texture tiling in the default shader, and tutorial has suggested using a "Transform Input Shader" after the default shader to handle scaling my texture repeats.
But when I connect my TIS the terrain loses its height information and becomes a planar surface.

I want to eventually use a distro shader to add in the dirt and grass as layers each on top of the stone respectively.

Is there a better way to do this than stacking default shaders with masks?

I also want to make my terrain scale in TG one meter per pixel. The HM is 16,384 and it seems to be limited to 12,000 in world for custom terrains? I can't find a way to change it.

Dune

Do you add the default shader as a child to a surface shader after the terrain has been made, and after the compute terrain? Then a transform shader shouldn't mess with any previous displacements.
You can also use an image map shader to import your texture. Scaling can be done within.
You should take care that image maps/textures are repetitive, so I wouyld always prefer a procedural approach for bigger rock textures, or at least mix them in.
You also have to take care that later textures have their own displacements, so you might need to smooth the rock displacement, for a field of grass for instance. Or separate them using a merge shader with a controller (image map, or fractal, or slope by distribution shader).

The latter question, I don't know how to answer - I hardly ever work with imported HM's.

Kevin Kipper

Many of the parameters like the Default shader's "Colour image" that accept an image map will default to the object's uv coordinates.  In order to be able to scale the texture I find that it's better to assign the texture map via an Image Map shader that is assigned to the Default shader's "Colour function" parameter.   Within the Image Map shader you have control over the placement and scale of the image on the terrain.

31358_ImageMapAssignedToColourFunction.JPG

Terragen's default unit is 1 meter.  If you want one pixel of your square 16,384 height map to cover 1 meter of terrain then set both inputs of the "Size" parameter in Image Map shader to 16384.