Hetzen's Road

Started by Hetzen, March 08, 2013, 03:55:41 PM

Previous topic - Next topic

Hetzen

...

cyphyr

Intriguing start, could do with a little more something ...
Richard
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

Tangled-Universe

Well the dashed line is there already :)

Hetzen

#3
The scene I have in mind has several distinct areas of features which I'm breaking down and working out the networks individually. I thought it might be interesting to document.

I tend to like working in texture space as much as possible before I displace. This lets me build things around the origin and then 'transform' them into a position I want, so this may look a bit disjointed as I build up the elements.

First off is the road on a test piece of terrain. It's running north south on the Z axis. The texture is just a marker at the moment. The function creates a horizontal surface across it's width, whilst finding an average grey scale input from the terrain along it's length. The idea will be to warp this with the surrounding terrain at a later stage.

Hetzen

#4
Give us a bloody chance guys.  ;D

cyphyr

Sorry, I wearing my naught hat, I'll try to behave!

So the road is a function (blue nodes?).
Will this method allow you to warp the road and allow it to go up and down along a terrain (I can see it already dose the latter), also would this method allow you to put a flat road alongthe side of a sloping valley (for instance)?

Cheers

Richard
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

Hetzen

It should do. The next thing I need to build is the profile I want the road to sit on. I'm deliberately working in soft scales at the moment because I want to add detail later with the masks created.

Hetzen

#7
The warp side of things is working, a flat road to the horizon. The second one shows the road function cutting into the landscape too much, which should be easy to correct by adding some grey to the road in the landscape texture.

Hetzen

Two more showing the profile function warping with the road. The outcrops sync up with their overal height, so dip down to give a natural base shape. I'm still using one displacement for this scene, I want to keep as much in texture as possible, because the next stage will be modulating that texture further to add more detail.

Hetzen

Next is some basic sculpting on the landscape, with some larger modulation to curve the hills into a bay for the POV I'm working towards.
The idea will be to use this shape to blend a correctly scaled PF mountain pattern to add more detail.

Hetzen

Most of this week has been used up in working out a workflow for my road texture. I've started off with just one tyre tread that runs 10km, doubled up to the width of an axle, then given some deviation to build multiple instances. After looking at the second render, I think I need to put some probability weighting in the random placement of the tracks to give a central bias, especially as each track cuts progressively deeper.

TheBadger

I love the terrain in "Road03.jpg"! If you don't use that Hetzen, please let me get a look at the TGD.


Good start man!
It has been eaten.

Hetzen

Here you go Badger..

<terragen_clip>
    <displacement_shader
        name = "Displacement shader 01"
        gui_use_node_pos = "1"
        gui_node_pos = "-920 260 0"
        gui_group = ""
        enable = "1"
        input_node = ""
        gui_use_preview_patch_size = "0"
        gui_preview_patch_size = "1000 1000"
        function = "Power fractal shader v3 02"
        displacement_direction = "1"
        displacement_multiplier = "900"
        >
    </displacement_shader>
    <power_fractal_shader_v3
        name = "Power fractal shader v3 02"
        gui_use_node_pos = "1"
        gui_node_pos = "-920 300 0"
        gui_group = ""
        enable = "1"
        input_node = ""
        gui_use_preview_patch_size = "0"
        gui_preview_patch_size = "1000 1000"
        seed = "37434"
        feature_scale = "1000"
        lead-in_scale = "10000"
        smallest_scale = "100"
        noise_octaves = "8"
        apply_high_colour = "1"
        high_colour = "1 1 1"
        apply_low_colour = "1"
        low_colour = "0 0 0"
        colour_contrast = "0.5"
        colour_offset = "0"
        colour_roughness = "1"
        clamp_high_colour = "1"
        clamp_low_colour = "1"
        apply_displacement = "0"
        displacement_direction = "1"
        displacement_amplitude = "1"
        displacement_offset = "0"
        displacement_roughness = "1"
        displacement_spike_limit = "1"
        continue_spike_limit = "0"
        adjust_coastline = "0"
        coastline_altitude = "0"
        coastline_smoothing = "30"
        noise_flavour = "0"
        noise_variation = "1"
        variation_method = "2"
        buoyancy_from_variation = "0.25"
        clumping_of_variation = "0.25"
        noise_stretch_XYZ = "1 1 1"
        distort_by_normal = "0"
        distortion_by_normal = "5"
        lead-in_warp_effect = "0"
        lead-in_warp_amount = "0.5"
        less_warp_at_feature_scale = "0"
        allow_vertical_warp = "0"
        blend_by_shader = "0"
        blending_shader = ""
        fit_blendshader_to_this = "0"
        invert_blendshader = "0"
        >
    </power_fractal_shader_v3>
    <power_fractal_shader_v3
        name = "Base colours"
        gui_use_node_pos = "1"
        gui_node_pos = "-920 220 0"
        gui_group = "Shaders"
        enable = "1"
        input_node = "Displacement shader 01"
        gui_use_preview_patch_size = "0"
        gui_preview_patch_size = "1000 1000"
        seed = "8028"
        feature_scale = "1"
        lead-in_scale = "1000"
        smallest_scale = "0.1"
        noise_octaves = "15"
        apply_high_colour = "1"
        high_colour = "0.3000000119 0.3000000119 0.3000000119"
        apply_low_colour = "1"
        low_colour = "0 0 0"
        colour_contrast = "0.125"
        colour_offset = "0"
        colour_roughness = "5"
        clamp_high_colour = "1"
        clamp_low_colour = "1"
        apply_displacement = "0"
        displacement_direction = "1"
        displacement_amplitude = "1"
        displacement_offset = "0"
        displacement_roughness = "1"
        displacement_spike_limit = "1"
        continue_spike_limit = "0"
        adjust_coastline = "0"
        coastline_altitude = "0"
        coastline_smoothing = "30"
        noise_flavour = "0"
        noise_variation = "1"
        variation_method = "2"
        buoyancy_from_variation = "0"
        clumping_of_variation = "0"
        noise_stretch_XYZ = "1 1 1"
        distort_by_normal = "1"
        distortion_by_normal = "5"
        lead-in_warp_effect = "1"
        lead-in_warp_amount = "0.5"
        less_warp_at_feature_scale = "0"
        allow_vertical_warp = "0"
        blend_by_shader = "0"
        blending_shader = ""
        fit_blendshader_to_this = "0"
        invert_blendshader = "0"
        >
    </power_fractal_shader_v3>
</terragen_clip>


Hope it's off use mate. Instead of using the PF displacement, I'm using the black and white output to drive a displacement node. Have a look at using a bias or gain node in between the PF and displacement, just to see how it affects the shape. The wiki has some good diagrams of what shape those power nodes apply to greyscale.

TheBadger

Thanks! Will use this when I get back to my mushrooms ;D
It has been eaten.

Hetzen

A quick update. I think I'm happy with the tyre tracks, time to move on to the centre texture.