<?xml version="1.0" encoding="utf-8"?>
<terragen_clip>

	
<non_node>

























<clip_category type="Terrain"/><library_description>Terracing Effect v1.0

A terrain terracing effect that tackles some of the issues present with using a normal Strata and Outcrops shader. 

This function was a collaborative effort by Planetside Software Forums members.

Credits: Matt, Hetzen, mhaze, Dune, WASasquatch</library_description><library_tag>cliff</library_tag><library_tag>cliffs</library_tag><library_tag>function</library_tag><library_tag>plateau</library_tag><library_tag>plateaus</library_tag><library_tag>step</library_tag><library_tag>stepped</library_tag><library_tag>stepping</library_tag><library_tag>terrace</library_tag><library_tag>terracing</library_tag><clip_output_connection node="Terracing Effect v1.0" index="0"/><library_connection_tips>This is designed to applied to the child of a surface layer which can than be used as the effects controller (altitude limits, slopes, masking, etc).&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#xA;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#xA;If you have any questions, don&apos;t hesitate to revive it&apos;s discussion topic: https://planetside.co.uk/forums/index.php?action=post;quote=256530;topic=25850.0</library_connection_tips></non_node><null_shader name="Terracing Effect v1.0" gui_use_node_pos="1" gui_node_pos="-660 780 0" gui_group="Terrain" enable="1" input_node="Terracing Redirector" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000">
		
		
		
		
		
		
		
		
	<constant_scalar name="Terrace Steepness (0-1 Range)" gui_use_node_pos="1" gui_node_pos="-20 100 0" gui_group="Terracing Settings" enable="1" input_node="" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" scalar="0.75">
		</constant_scalar><constant_scalar name="Plateau Buildup (0-1 Range)" gui_use_node_pos="1" gui_node_pos="40 40 0" gui_group="Terracing Settings" enable="1" input_node="" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" scalar="1">
		</constant_scalar><constant_scalar name="Terrace Spacing (Multiple Range)" gui_use_node_pos="1" gui_node_pos="-100 160 0" gui_group="Terracing Settings" enable="1" input_node="" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" scalar="800">
		</constant_scalar><group name="Terracing Settings" gui_use_node_pos="1" gui_node_pos="-30 101 0" gui_group="" gui_node_size="380 230 1" gui_node_colour="0.5 0.5 0.5" special_group="0" global_bookmark="0">
		</group><displacement_shader name="Terracing Effect Multiplier" gui_use_node_pos="1" gui_node_pos="-60 -80 0" gui_group="" enable="1" input_node="" gui_use_preview_patch_size="1" gui_preview_patch_size="4000 4000" function="Subtrace Terraces from Altitude" displacement_direction="1" displacement_multiplier="1">
			
			
			
			
			
			
			
			
			
		<get_altitude name="Get Scene Altitude" gui_use_node_pos="1" gui_node_pos="-280 480 0" gui_group="" enable="1" input_node="" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000">
			</get_altitude><modulo_scalar name="Modulo Scalar " gui_use_node_pos="1" gui_node_pos="-140 360 0" gui_group="" enable="1" input_node="Get Scene Altitude" gui_use_preview_patch_size="1" gui_preview_patch_size="8000 8000" input_2="/Terracing Effect v1.0/Terrace Spacing (Multiple Range)">
			</modulo_scalar><divide_scalar name="Divide by Multiple" gui_use_node_pos="1" gui_node_pos="-60 220 0" gui_group="" enable="1" input_node="Modulo Scalar " gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" input_2="/Terracing Effect v1.0/Terrace Spacing (Multiple Range)">
			</divide_scalar><multiply_scalar name="Multiply for Plateau Effect" gui_use_node_pos="1" gui_node_pos="-60 -160 0" gui_group="" enable="1" input_node="Mulitply Terraces by Steepness" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" input_2="/Terracing Effect v1.0/Plateau Buildup (0-1 Range)">
			</multiply_scalar><subtract_scalar name="Subtrace Terraces from Altitude" gui_use_node_pos="1" gui_node_pos="-100 -340 0" gui_group="" enable="1" input_node="Get Scene Altitude" gui_use_preview_patch_size="1" gui_preview_patch_size="4000 4000" input_2="Multiply by Range">
			</subtract_scalar><linear_step_scalar name="Terrace Steepness (Linear step for Steepness)" gui_use_node_pos="1" gui_node_pos="40 100 0" gui_group="" enable="1" input_node="Divide by Multiple" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" step_start="/Terracing Effect v1.0/Terrace Steepness (0-1 Range)" step_end="1">
				
			<constant_scalar name="1" gui_use_node_pos="1" gui_node_pos="20 -20 0" gui_group="" enable="1" input_node="" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" scalar="1">
				</constant_scalar></linear_step_scalar><complement_scalar name="Compliment Linear Steepness" gui_use_node_pos="1" gui_node_pos="40 40 0" gui_group="" enable="1" input_node="Terrace Steepness (Linear step for Steepness)" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000">
			</complement_scalar><multiply_scalar name="Mulitply Terraces by Steepness" gui_use_node_pos="1" gui_node_pos="-60 -60 0" gui_group="" enable="1" input_node="Divide by Multiple" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" input_2="Compliment Linear Steepness">
			</multiply_scalar><multiply_scalar name="Multiply by Range" gui_use_node_pos="1" gui_node_pos="20 -240 0" gui_group="" enable="1" input_node="Multiply for Plateau Effect" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" input_2="/Terracing Effect v1.0/Terrace Spacing (Multiple Range)">
			</multiply_scalar></displacement_shader><redirect_shader name="Terracing Redirector" gui_use_node_pos="1" gui_node_pos="-60 -200 0" gui_group="" enable="1" input_node="Terracing Effect Multiplier" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" X_shader="" Y_shader="Terracing Director (Variation on Y)" Z_shader="">
		</redirect_shader><power_fractal_shader_v3 name="Terracing Director (Variation on Y)" gui_use_node_pos="1" gui_node_pos="20 -140 0" gui_group="" enable="1" input_node="" gui_use_preview_patch_size="0" gui_preview_patch_size="1000 1000" seed="14856" feature_scale="5000" lead-in_scale="10000" smallest_scale="150" noise_octaves="8" obey_smoothing_filter="1" noise_stretch_XYZ="1 1 1" apply_high_colour="1" high_colour="1 1 1" apply_low_colour="0" low_colour="0 0 0" colour_contrast="0.5" colour_offset="0" colour_roughness="5" clamp_high_colour="1" clamp_low_colour="1" apply_displacement="1" displacement_direction="1" displacement_amplitude="2000" displacement_offset="0" displacement_roughness="0.5" displacement_spike_limit="1" continue_spike_limit="0" adjust_coastline="0" coastline_altitude="0" coastline_smoothing="30" noise_flavour="0" ridge_smoothing="0.1" gully_smoothing="0.1" noise_variation="1" variation_method="2" buoyancy_from_variation="0.25" clumping_of_variation="0.25" better_colour_continuity="0" better_displacement_continuity="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" four-d_noise="0" four-d_noise_speed="0.1" reference_frame_number="0" blend_by_shader="0" blending_shader="" fit_blendshader_to_this="0" invert_blendshader="0">
		</power_fractal_shader_v3><note name="Terracing Settings &amp; Information" gui_use_node_pos="1" gui_node_pos="520 0 0" gui_group="" gui_node_size="440 430 1" gui_note_text=" SETTINGS

Terracing Spacing - this is essentially the multiple of the maxium altitude divided up by the input. In this example we terrace about every 800m.

Terracing Steepness - this defined the steepness of the terraces. The range is 0-1, where 1 is ~90 degrees. 

Plateau Buildup - this defines the buildup effect leading up to the terraces. The range ie 0-1, where 0 is 100% buildup. 

Terracing Effect Multiplier - this controls the displacement multiplier of the overall effect applied to the terrain.

Terracing Director - this Power Fractal Shader varies the trerrain on the Y axis to give it a more natural flow. 

 ABOUT

This function was designed somewhat as a collaborative effort by a few Planetside Forum members that needed a ablity to terrace terrain easily, with some control, but without some of the nuances of the Strata and Outcrops shader. 

 CREDITS 

Matt (Matt Fairclough) - Base idea, Optimization
Hetzen - Directing me (WASasquatch) to a rough base
mhaze - Building upon the base to include features we were struggling with
Dune (Ulco Glimmerveen) - Ideas to help fix features we were struggling with
WASasquatch (Jordan Thompson) - Initial need for this function. Rough base with the help of Hetzen and putting this here shader setup together. " gui_note_text_colour="0 0 0" gui_note_use_custom_text_size="0" gui_note_custom_text_size="10" gui_node_colour="0.9900000095 0.9599999785 0.6100000143">
		</note></null_shader></terragen_clip>