extends Node3D
## Test: DCTerrain in cloud_mode renders chunks as volumetric boxes
func _ready() -> void:
var terrain = $DCTerrain
if terrain == null:
push_error("No DCTerrain child")
return
terrain.set("cloud_mode", true)
terrain.set("voxel_size", 1.0)
terrain.set("octree_depth", 3)
terrain.set("use_gpu", false)
terrain.set("use_noise", true)
terrain.set("debug_logging", true)
# Position the terrain node above the ground so cloud boxes are overhead
terrain.position = Vector3(0, 100, 0)
# Enable volumetric fog for the environment
var env: Environment = $WorldEnvironment.environment
env.volumetric_fog_enabled = false # not using FogVolume, using spatial shader
print("[CloudVolumeTest] cloud_mode=true voxel=4.0 depth=5")
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(":", "-")
var dir := "/home/fleeky/Desktop/hyper-tps"
DirAccess.make_dir_recursive_absolute(dir)
var path := "%s/cloud_vol_%s.png" % [dir, ts]
img.save_png(path)
print("[CloudVolumeTest] Screenshot: %s" % path)