OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-tps / addons / nubis_clouds / examples / test_cloud_sky.gd

40 lines · gd ref:
extends Node3D

## Test: Sky shader only — background Schneider clouds, no volumetric volumes.
## F12: screenshot

func _ready() -> void:
	var shader := load("res://addons/nubis_clouds/shaders/cloud_sky.gdshader") as Shader
	if not shader:
		push_error("Failed to load cloud_sky.gdshader")
		return

	var mat := ShaderMaterial.new()
	mat.shader = shader
	# Use original texture paths (already imported)
	var pw_tex = load("res://addons/nubis_clouds/textures/perlworlnoise.png")
	var worl_tex = load("res://addons/nubis_clouds/textures/worlnoise.webp")
	var weather_tex = load("res://addons/nubis_clouds/textures/weather.webp")
	if pw_tex: mat.set_shader_parameter("perlworlnoise", pw_tex)
	if worl_tex: mat.set_shader_parameter("worlnoise", worl_tex)
	if weather_tex: mat.set_shader_parameter("weather_map", weather_tex)
	mat.set_shader_parameter("cloud_coverage", 0.35)
	mat.set_shader_parameter("cloud_time_scale", 2.0)

	var sky := Sky.new()
	sky.sky_material = mat
	sky.process_mode = Sky.PROCESS_MODE_REALTIME
	var env: Environment = $WorldEnvironment.environment
	env.background_mode = Environment.BG_SKY
	env.sky = sky
	print("[CloudSky] Sky shader active")


func _unhandled_input(event: InputEvent) -> void:
	if event is InputEventKey and event.pressed and event.keycode == KEY_F12:
		var img := get_viewport().get_texture().get_image()
		var ts := Time.get_datetime_string_from_system().replace(":", "-")
		DirAccess.make_dir_recursive_absolute("/home/fleeky/Desktop/hyper-tps")
		img.save_png("/home/fleeky/Desktop/hyper-tps/cloud_sky_%s.png" % ts)
		print("[CloudSky] Screenshot saved")