# Detailed Terrain with a road cutting through it

## Recommended Posts

Hello everyone, I am a native Maya user and currently I am working on a project which needs a massive terrain and a road cutting through it. I have found the following tutorial the result of which is exactly what I need, but it's a bit difficult for me to understand given my level of knowledge of Houdini.

If someone can breakdown the following steps for me, that would be wonderful.

1. How exactly did the curve snap to the underlying heightfied.
2. How exactly was the road ribbon created so that the y axis always point straight up and doesn't twist which it changes direction.

Thanks

##### Share on other sites

Hi ShrowBrow,

ideally roads and height fields mutually affect each other. So you would sample off the terrain's height, smooth it along the curve and blend it back to the terrain.

• Sampling height values from the height field (with an option to lift or sink the road):
```float lift = chf('lift');
f@h = volumesample(1, 'height', v@P) + lift;```
• Smoothing the sampled height attribute: Attribute blur node
• Blending the smoothened height values into the height field:
```float width = chf('width');
float ro = chf('rolloff');

int prim_hit; vector uvw_hit;
float dist = xyzdist(1, v@P, prim_hit, uvw_hit);
float height_curve = primuv(1, 'h', prim_hit, uvw_hit);
float blend = smooth(width, width + padding, dist, ro);

f@height = lerp(height_curve, f@height, blend);

• 2
• 2

##### Share on other sites

Awesome, it looks great. It will take me some time to digest it

##### Share on other sites

A more elaborate example for cutting roads through height fields:

• Identifies flat areas for settling locations
• Connects them to a road network
• Bends and resamples paths into avoiding slopes
• Smoothes out height variations and blends them into the terrain.

• 1
• 2

##### Share on other sites

Heightfield distort is an expansive node, Konstantin im Wonder did you have a try to find a cheap and efficient alternative in Vex? Sliding the mask on the 2d volume according to a noise..

##### Share on other sites
Posted (edited)

Also not related to my previous question, I also still puzzled, for your meander part, this is your code, and second picture is more what i will do myself, did i miss something Konstantin?

cheers

and second picture

My way

Edited by vinyvince

## Create an account

Register a new account