58 lines
1.5 KiB
GDScript
58 lines
1.5 KiB
GDScript
@tool class_name SkyTestEnvironment extends WorldEnvironment
|
|
|
|
const REAL_ENVIRONMENT := preload("res://vfx/Environment.tres") as Environment
|
|
|
|
var _night: float = 0.0
|
|
var _overcast: float = 0.25
|
|
var _windy: float = 0.25
|
|
var _bright: float = 0.25
|
|
var _twist: float = 0.0
|
|
var _psychedelic: float = 0.0
|
|
|
|
@export_range(0.0, 1.0) var night: float:
|
|
get: return _night
|
|
set(value):
|
|
_night = value
|
|
_rebuild_environment()
|
|
|
|
@export_range(0.0, 1.0) var overcast: float:
|
|
get: return _overcast
|
|
set(value):
|
|
_overcast = value
|
|
_rebuild_environment()
|
|
|
|
@export_range(0.0, 1.0) var windy: float:
|
|
get: return _windy
|
|
set(value):
|
|
_windy = value
|
|
_rebuild_environment()
|
|
|
|
@export_range(0.0, 1.0) var bright: float:
|
|
get: return _bright
|
|
set(value):
|
|
_bright = value
|
|
_rebuild_environment()
|
|
|
|
@export_range(0.0, 1.0) var twist: float:
|
|
get: return _twist
|
|
set(value):
|
|
_twist = value
|
|
_rebuild_environment()
|
|
|
|
@export_range(0.0, 1.0) var psychedelic: float:
|
|
get: return _psychedelic
|
|
set(value):
|
|
_psychedelic = value
|
|
_rebuild_environment()
|
|
|
|
func _rebuild_environment() -> void:
|
|
environment = REAL_ENVIRONMENT.duplicate(true)
|
|
var mat := environment.sky.sky_material as ShaderMaterial
|
|
mat.shader = REAL_ENVIRONMENT.sky.sky_material.shader
|
|
mat.set_shader_parameter(&'night', _night)
|
|
mat.set_shader_parameter(&'overcast', _overcast)
|
|
mat.set_shader_parameter(&'windy', _windy)
|
|
mat.set_shader_parameter(&'bright', _bright)
|
|
mat.set_shader_parameter(&'twist', _twist)
|
|
mat.set_shader_parameter(&'psychedelic', _psychedelic)
|