Ajout de control pour contrôler le shader de ciel.
This commit is contained in:
parent
a317139785
commit
96db8d8f2d
6 changed files with 151 additions and 68 deletions
|
@ -1,19 +1,27 @@
|
|||
[gd_scene load_steps=21 format=2]
|
||||
[gd_scene load_steps=22 format=2]
|
||||
|
||||
[ext_resource path="res://previewer/previewer.gd" type="Script" id=1]
|
||||
[ext_resource path="res://shaders/sky.shader" type="Shader" id=2]
|
||||
[ext_resource path="res://textures/sky/sky_noise.png" type="Texture" id=3]
|
||||
[ext_resource path="res://previewer/sky.gd" type="Script" id=4]
|
||||
[ext_resource path="res://previewer/dummy/dummy.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://textures/tilables/basic_texture_1024.png" type="Texture" id=6]
|
||||
[ext_resource path="res://meshes/decors/rocks/cliff_001.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://meshes/props/pendo_teddy/pendo_teddy.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://meshes/props/travel_box/container.tscn" type="PackedScene" id=9]
|
||||
[ext_resource path="res://meshes/props/reference_box/reference_box.tscn" type="PackedScene" id=10]
|
||||
[ext_resource path="res://meshes/props/fountain_suzanha/Fountain_suzanha.tscn" type="PackedScene" id=11]
|
||||
[ext_resource path="res://previewer/settings.tscn" type="PackedScene" id=12]
|
||||
[ext_resource path="res://previewer/sky.gd" type="Script" id=3]
|
||||
[ext_resource path="res://previewer/dummy/dummy.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://textures/tilables/basic_texture_1024.png" type="Texture" id=5]
|
||||
[ext_resource path="res://meshes/decors/rocks/cliff_001.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://meshes/props/pendo_teddy/pendo_teddy.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://meshes/props/travel_box/container.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://meshes/props/reference_box/reference_box.tscn" type="PackedScene" id=9]
|
||||
[ext_resource path="res://meshes/props/fountain_suzanha/Fountain_suzanha.tscn" type="PackedScene" id=10]
|
||||
[ext_resource path="res://previewer/settings.tscn" type="PackedScene" id=11]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=6]
|
||||
[sub_resource type="OpenSimplexNoise" id=1]
|
||||
period = 8.0
|
||||
|
||||
[sub_resource type="NoiseTexture" id=2]
|
||||
width = 1280
|
||||
height = 720
|
||||
seamless = true
|
||||
noise = SubResource( 1 )
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=3]
|
||||
shader = ExtResource( 2 )
|
||||
shader_param/iTime = null
|
||||
shader_param/iFrame = null
|
||||
|
@ -21,35 +29,35 @@ shader_param/COVERAGE = 0.5
|
|||
shader_param/THICKNESS = 25.0
|
||||
shader_param/ABSORPTION = 1.031
|
||||
shader_param/STEPS = 25
|
||||
shader_param/iChannel0 = ExtResource( 3 )
|
||||
shader_param/iChannel0 = SubResource( 2 )
|
||||
|
||||
[sub_resource type="ImageTexture" id=7]
|
||||
[sub_resource type="ImageTexture" id=4]
|
||||
size = Vector2( 1280, 720 )
|
||||
|
||||
[sub_resource type="ViewportTexture" id=10]
|
||||
[sub_resource type="ViewportTexture" id=5]
|
||||
viewport_path = NodePath("sky/viewport")
|
||||
|
||||
[sub_resource type="PanoramaSky" id=9]
|
||||
[sub_resource type="PanoramaSky" id=6]
|
||||
resource_local_to_scene = true
|
||||
panorama = SubResource( 10 )
|
||||
panorama = SubResource( 5 )
|
||||
|
||||
[sub_resource type="Environment" id=2]
|
||||
[sub_resource type="Environment" id=7]
|
||||
resource_local_to_scene = true
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 9 )
|
||||
background_sky = SubResource( 6 )
|
||||
background_energy = 0.1
|
||||
ambient_light_energy = 3.82
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=3]
|
||||
[sub_resource type="SpatialMaterial" id=8]
|
||||
flags_unshaded = true
|
||||
flags_world_triplanar = true
|
||||
albedo_texture = ExtResource( 6 )
|
||||
albedo_texture = ExtResource( 5 )
|
||||
uv1_scale = Vector3( 122, 122, 122 )
|
||||
|
||||
[sub_resource type="PlaneMesh" id=4]
|
||||
material = SubResource( 3 )
|
||||
[sub_resource type="PlaneMesh" id=9]
|
||||
material = SubResource( 8 )
|
||||
|
||||
[sub_resource type="GIProbeData" id=5]
|
||||
[sub_resource type="GIProbeData" id=10]
|
||||
bounds = AABB( -63.192, -25, -76.323, 126.384, 50, 152.646 )
|
||||
cell_size = 1.19255
|
||||
to_cell_xform = Transform( 0.838542, 0, 0, 0, 0.838542, 0, 0, 0, 0.838542, 52.9891, 20.9635, 64 )
|
||||
|
@ -68,55 +76,55 @@ script = ExtResource( 1 )
|
|||
size = Vector2( 1280, 720 )
|
||||
render_target_update_mode = 3
|
||||
|
||||
[node name="sky" type="Sprite" parent="sky/viewport"]
|
||||
material = SubResource( 6 )
|
||||
texture = SubResource( 7 )
|
||||
[node name="sprite" type="Sprite" parent="sky/viewport"]
|
||||
material = SubResource( 3 )
|
||||
texture = SubResource( 4 )
|
||||
centered = false
|
||||
script = ExtResource( 4 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="world_environment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource( 2 )
|
||||
environment = SubResource( 7 )
|
||||
|
||||
[node name="dummy" parent="." instance=ExtResource( 5 )]
|
||||
[node name="dummy" parent="." instance=ExtResource( 4 )]
|
||||
|
||||
[node name="terrain" type="Spatial" parent="."]
|
||||
|
||||
[node name="test_csg_mesh" type="CSGMesh" parent="terrain"]
|
||||
transform = Transform( 60.964, 0, 0, 0, 1.21928, 0, 0, 0, 60.964, 0, 0, 0 )
|
||||
mesh = SubResource( 4 )
|
||||
mesh = SubResource( 9 )
|
||||
|
||||
[node name="cliff" parent="terrain" instance=ExtResource( 7 )]
|
||||
[node name="cliff" parent="terrain" instance=ExtResource( 6 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -48.2121 )
|
||||
moss_height = 15.0
|
||||
moss_fade = 2.5
|
||||
|
||||
[node name="props" type="Spatial" parent="."]
|
||||
|
||||
[node name="pendo_teddy" parent="props" instance=ExtResource( 8 )]
|
||||
[node name="pendo_teddy" parent="props" instance=ExtResource( 7 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3 )
|
||||
|
||||
[node name="container" parent="props" instance=ExtResource( 9 )]
|
||||
[node name="container" parent="props" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5 )
|
||||
color = Color( 0.145098, 0.0980392, 0.713726, 1 )
|
||||
lid_angle = 45.0
|
||||
|
||||
[node name="container_2" parent="props" instance=ExtResource( 9 )]
|
||||
[node name="container_2" parent="props" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.24144, 0, -5 )
|
||||
color = Color( 0.491686, 0.159256, 0.832031, 1 )
|
||||
lid_angle = 90.0
|
||||
|
||||
[node name="container_3" parent="props" instance=ExtResource( 9 )]
|
||||
[node name="container_3" parent="props" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.6614, 0, -5 )
|
||||
color = Color( 0.360784, 1, 0, 1 )
|
||||
lid_angle = 12.0
|
||||
|
||||
[node name="container_4" parent="props" instance=ExtResource( 9 )]
|
||||
[node name="container_4" parent="props" instance=ExtResource( 8 )]
|
||||
transform = Transform( 0.457191, 0, 0.889369, 0, 1, 0, -0.889369, 0, 0.457191, -3.94754, 4.76837e-007, -4.27729 )
|
||||
color = Color( 0.972549, 0.196078, 0.0431373, 1 )
|
||||
|
||||
[node name="reference_box" parent="props" instance=ExtResource( 10 )]
|
||||
[node name="reference_box" parent="props" instance=ExtResource( 9 )]
|
||||
|
||||
[node name="Fountain_suzanha" parent="props" instance=ExtResource( 11 )]
|
||||
[node name="Fountain_suzanha" parent="props" instance=ExtResource( 10 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0.472, -5 )
|
||||
|
||||
[node name="light_system" type="Spatial" parent="."]
|
||||
|
@ -129,9 +137,9 @@ shadow_enabled = true
|
|||
[node name="gi_probe" type="GIProbe" parent="light_system"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 21.7307, 0 )
|
||||
extents = Vector3( 63.192, 25, 76.323 )
|
||||
data = SubResource( 5 )
|
||||
data = SubResource( 10 )
|
||||
|
||||
[node name="settings" parent="." instance=ExtResource( 12 )]
|
||||
[node name="settings" parent="." instance=ExtResource( 11 )]
|
||||
margin_left = -475.0
|
||||
margin_top = -243.0
|
||||
margin_right = -219.0
|
||||
|
|
|
@ -1,18 +1,15 @@
|
|||
extends WindowDialog
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
onready var sky_sprite = get_tree().get_root().get_node("previewer/sky/viewport/sprite")
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
func _on_sky_coverage_value_changed(value):
|
||||
sky_sprite.cov_scb( value )
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
func _on_sky_thickness_value_changed(value):
|
||||
sky_sprite.thick_scb( value )
|
||||
|
||||
func _on_sky_absorption_value_changed(value):
|
||||
sky_sprite.absb_scb( value )
|
||||
|
||||
func _on_color_picker_button_color_changed(color):
|
||||
pass
|
||||
# get_parent().get_node( "world_environment" ).environment.background_sky.sky_top_color = color
|
||||
func _on_sky_steps_value_changed(value):
|
||||
sky_sprite.step_scb( value )
|
||||
|
|
|
@ -30,23 +30,101 @@ margin_bottom = 256.0
|
|||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="sky_top_color" type="HBoxContainer" parent="scroll_container/controls"]
|
||||
[node name="sky_label" type="Label" parent="scroll_container/controls"]
|
||||
margin_right = 256.0
|
||||
margin_bottom = 20.0
|
||||
size_flags_horizontal = 3
|
||||
margin_bottom = 14.0
|
||||
text = "Sky"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
[node name="label" type="Label" parent="scroll_container/controls/sky_top_color"]
|
||||
margin_top = 3.0
|
||||
[node name="sky_box" type="VBoxContainer" parent="scroll_container/controls"]
|
||||
margin_top = 18.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 94.0
|
||||
|
||||
[node name="sky_coverage_box" type="HBoxContainer" parent="scroll_container/controls/sky_box"]
|
||||
margin_right = 256.0
|
||||
margin_bottom = 16.0
|
||||
|
||||
[node name="label" type="Label" parent="scroll_container/controls/sky_box/sky_coverage_box"]
|
||||
margin_top = 1.0
|
||||
margin_right = 126.0
|
||||
margin_bottom = 17.0
|
||||
margin_bottom = 15.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Sky top color"
|
||||
text = "Coverage"
|
||||
align = 2
|
||||
|
||||
[node name="color_picker_button" type="ColorPickerButton" parent="scroll_container/controls/sky_top_color"]
|
||||
[node name="sky_coverage" type="HSlider" parent="scroll_container/controls/sky_box/sky_coverage_box"]
|
||||
margin_left = 130.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 20.0
|
||||
margin_bottom = 16.0
|
||||
size_flags_horizontal = 3
|
||||
color = Color( 0, 0.811765, 1, 1 )
|
||||
[connection signal="color_changed" from="scroll_container/controls/sky_top_color/color_picker_button" to="." method="_on_color_picker_button_color_changed"]
|
||||
max_value = 1.0
|
||||
step = 0.001
|
||||
value = 0.5
|
||||
|
||||
[node name="sky_thickness_box_2" type="HBoxContainer" parent="scroll_container/controls/sky_box"]
|
||||
margin_top = 20.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 36.0
|
||||
|
||||
[node name="label" type="Label" parent="scroll_container/controls/sky_box/sky_thickness_box_2"]
|
||||
margin_top = 1.0
|
||||
margin_right = 126.0
|
||||
margin_bottom = 15.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Thickness"
|
||||
align = 2
|
||||
|
||||
[node name="sky_thickness" type="HSlider" parent="scroll_container/controls/sky_box/sky_thickness_box_2"]
|
||||
margin_left = 130.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 16.0
|
||||
size_flags_horizontal = 3
|
||||
value = 25.0
|
||||
|
||||
[node name="sky_absorption_box_3" type="HBoxContainer" parent="scroll_container/controls/sky_box"]
|
||||
margin_top = 40.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 56.0
|
||||
|
||||
[node name="label" type="Label" parent="scroll_container/controls/sky_box/sky_absorption_box_3"]
|
||||
margin_top = 1.0
|
||||
margin_right = 126.0
|
||||
margin_bottom = 15.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Absorbtion"
|
||||
align = 2
|
||||
|
||||
[node name="sky_absorption" type="HSlider" parent="scroll_container/controls/sky_box/sky_absorption_box_3"]
|
||||
margin_left = 130.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 16.0
|
||||
size_flags_horizontal = 3
|
||||
max_value = 10.0
|
||||
step = 0.001
|
||||
value = 1.031
|
||||
|
||||
[node name="sky_steps_box_4" type="HBoxContainer" parent="scroll_container/controls/sky_box"]
|
||||
margin_top = 60.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 76.0
|
||||
|
||||
[node name="label" type="Label" parent="scroll_container/controls/sky_box/sky_steps_box_4"]
|
||||
margin_top = 1.0
|
||||
margin_right = 126.0
|
||||
margin_bottom = 15.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Steps"
|
||||
align = 2
|
||||
|
||||
[node name="sky_steps" type="HSlider" parent="scroll_container/controls/sky_box/sky_steps_box_4"]
|
||||
margin_left = 130.0
|
||||
margin_right = 256.0
|
||||
margin_bottom = 16.0
|
||||
size_flags_horizontal = 3
|
||||
value = 25.0
|
||||
[connection signal="value_changed" from="scroll_container/controls/sky_box/sky_coverage_box/sky_coverage" to="." method="_on_sky_coverage_value_changed"]
|
||||
[connection signal="value_changed" from="scroll_container/controls/sky_box/sky_thickness_box_2/sky_thickness" to="." method="_on_sky_thickness_value_changed"]
|
||||
[connection signal="value_changed" from="scroll_container/controls/sky_box/sky_absorption_box_3/sky_absorption" to="." method="_on_sky_absorption_value_changed"]
|
||||
[connection signal="value_changed" from="scroll_container/controls/sky_box/sky_steps_box_4/sky_steps" to="." method="_on_sky_steps_value_changed"]
|
||||
|
|
|
@ -10,13 +10,13 @@ func _process(delta):
|
|||
self.material.set("shader_param/iFrame",global_v.iFrame)
|
||||
|
||||
func cov_scb(value):
|
||||
self.material.set("shader_param/COVERAGE",float(value)/100)
|
||||
|
||||
func absb_scb(value):
|
||||
self.material.set("shader_param/ABSORPTION",float(value)/10)
|
||||
self.material.set("shader_param/COVERAGE",float(value))
|
||||
|
||||
func thick_scb(value):
|
||||
self.material.set("shader_param/THICKNESS",value)
|
||||
|
||||
func absb_scb(value):
|
||||
self.material.set("shader_param/ABSORPTION",float(value))
|
||||
|
||||
func step_scb(value):
|
||||
self.material.set("shader_param/STEPS",value)
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 66 KiB |
Binary file not shown.
Before Width: | Height: | Size: 248 KiB |
Loading…
Reference in a new issue