添加各类 shader,支持多个聚合
This commit is contained in:
parent
f3251462cf
commit
42b7f83b55
0
asset/shader/bailizi.tscn
Executable file → Normal file
0
asset/shader/bailizi.tscn
Executable file → Normal file
16
asset/shader/frog.gdshader → asset/shader/fog.gdshader
Executable file → Normal file
16
asset/shader/frog.gdshader → asset/shader/fog.gdshader
Executable file → Normal file
@ -1,20 +1,18 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform vec4 base_color : source_color;
|
||||
//global uniform float location_fade;
|
||||
//uniform float location_fade;
|
||||
|
||||
void fragment() {
|
||||
//vec3 fog_color_1 = texture(TEXTURE, vec2(UV.x * 0.5 + TIME * 0.006, UV.y * 0.25 - TIME * 0.01)).rgb;
|
||||
//vec3 fog_color_2 = texture(TEXTURE, vec2(UV.x * 0.5 + 0.5 + TIME * 0.010, UV.y * 0.25 + 0.5 - TIME / 160.0)).rgb;
|
||||
//vec3 fog_color_3 = texture(TEXTURE, vec2(UV.x * 0.5 + 0.25 + TIME * 0.024, UV.y * 0.25 - 0.25 - TIME / 160.0)).rgb;
|
||||
//vec3 fog_color = mix(fog_color_3, mix(fog_color_1, fog_color_2, 0.5), 0.7);
|
||||
vec3 fog_color_1 = texture(TEXTURE, vec2(UV.x / 2.0 + TIME /100.0, UV.y / 4.0 - TIME / 100.0)).rgb;
|
||||
vec3 fog_color_2 = texture(TEXTURE, vec2(UV.x / 2.0 + 0.5 + TIME /50.0, UV.y / 4.0 + 0.5 - TIME / 160.0)).rgb;
|
||||
vec3 fog_color_3 = texture(TEXTURE, vec2(UV.x / 2.0 + 0.25 + TIME /25.0, UV.y / 4.0 - 0.25 - TIME / 160.0)).rgb;
|
||||
vec3 fog_color = mix(fog_color_3, mix(fog_color_1, fog_color_2, 0.5), 0.7);
|
||||
COLOR.a *= base_color.a * fog_color.r *1.5;
|
||||
COLOR.a *= base_color.a * fog_color.r * 1.5;
|
||||
COLOR.rgb = fog_color * base_color.rgb;
|
||||
//COLOR.rgb *= location_fade;
|
||||
// Called for every pixel the material is visible on.
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// Called for every pixel for every light affecting the CanvasItem.
|
||||
// Uncomment to replace the default light processing function with this one.
|
||||
//}
|
||||
}
|
BIN
asset/shader/fog.jpg
Normal file
BIN
asset/shader/fog.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 MiB |
0
asset/shader/glitcheffect.gdshader
Executable file → Normal file
0
asset/shader/glitcheffect.gdshader
Executable file → Normal file
1
asset/shader/huabu.gdshader
Executable file → Normal file
1
asset/shader/huabu.gdshader
Executable file → Normal file
@ -22,6 +22,5 @@ void fragment()
|
||||
smallest_error = error;
|
||||
}
|
||||
}
|
||||
|
||||
COLOR.rgb = closest_col;
|
||||
}
|
BIN
asset/shader/noisy-background.jpg
Normal file
BIN
asset/shader/noisy-background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 102 B After Width: | Height: | Size: 102 B |
0
asset/shader/sway.gdshader
Executable file → Normal file
0
asset/shader/sway.gdshader
Executable file → Normal file
File diff suppressed because one or more lines are too long
@ -7,9 +7,9 @@ const DEBUG = true
|
||||
const RES_FILE_FORMAT = ".tres"
|
||||
|
||||
## layers
|
||||
const CANVAS_LAYER_VIGNETTE = 100
|
||||
const CANVAS_LAYER_PROP_INSPECTOR = 98
|
||||
const CANVAS_LAYER_UI = 99
|
||||
const CANVAS_LAYER_PROP_INSPECTOR = 110
|
||||
const CANVAS_LAYER_UI = 100
|
||||
const CANVAS_LAYER_SHADING = 90
|
||||
const CANVAS_LAYER_FG = 10
|
||||
|
||||
const AUDIO_BUS_SFX = "game_sfx"
|
||||
|
@ -15,9 +15,11 @@ func get_camera_marker():
|
||||
func get_player() -> MainPlayer:
|
||||
return get_node_or_null("/root/Main/MainPlayer") as MainPlayer
|
||||
|
||||
|
||||
func get_prop_hud() -> PropHud:
|
||||
return get_node_or_null("/root/Main/UILayer/PropHUD") as PropHud
|
||||
|
||||
|
||||
# lock_time: the time to lock the player action. 0 means lock forever, thus the player will be locked until release_player is called.
|
||||
func freeze_player(lock_time: float, animation := ""):
|
||||
var player = get_player()
|
||||
@ -135,3 +137,10 @@ func focus_player() -> void:
|
||||
|
||||
func focus_player_and_reset_zoom(duration := 1.0) -> void:
|
||||
CameraFocusMarker.tween_zoom(1.0, duration).tween_callback(focus_player)
|
||||
|
||||
|
||||
# func player_moved_delta_x(delta_x: float) -> void:
|
||||
# # fog effect offset
|
||||
# var fog = get_node_or_null("/root/Main/ShadingLayer/Fog")
|
||||
# # if fog:
|
||||
# # fog.texture.noise.offset.x += delta_x * 0.2
|
||||
|
@ -33,15 +33,16 @@ buses/default_bus_layout="res://config/default_bus_layout.tres"
|
||||
|
||||
DebugMenu="*res://addons/debug_menu/debug_menu.tscn"
|
||||
GlobalConfigManager="*res://manager/config_manager/global_config_manager.gd"
|
||||
ArchiveManager="*res://manager/archive_manager/archive_manager.gd"
|
||||
CameraFocusMarker="*res://scene/camera/camera_focus_marker.tscn"
|
||||
MainCamera="*res://scene/camera/main_camera.tscn"
|
||||
ShadingLayer="res://scene/shading/shading_layer.tscn"
|
||||
SceneManager="*res://manager/deploy/scene/scene_manager.gd"
|
||||
AudioManager="*res://manager/audio_manager/audio_manager.gd"
|
||||
EventManager="*res://manager/event_manager/event_manager.gd"
|
||||
DialogManager="*res://manager/deploy/dialog/dialog_manager.gd"
|
||||
CgManager="*res://manager/cg_manager/cg_manager.gd"
|
||||
InputManager="*res://manager/input/input_manager.gd"
|
||||
ArchiveManager="*res://manager/archive_manager/archive_manager.gd"
|
||||
DialogueManager="*res://addons/dialogue_manager/dialogue_manager.gd"
|
||||
|
||||
[dialogue_manager]
|
||||
|
@ -16,7 +16,7 @@ enum { STATUS_NORAML, STATUS_INSPECTING_COVER, STATUS_INSPECTING_NOTES }
|
||||
@onready var area2d = %Area2D as Area2D
|
||||
|
||||
@onready var sfx = %Sfx
|
||||
@onready var cover_sprite = %Cover as Sprite2D
|
||||
@onready var cover_rect = %Cover as TextureRect
|
||||
@onready var content_label = %ContentLabel as Label
|
||||
@onready var tip_label = %TipLabel as Label
|
||||
|
||||
@ -37,8 +37,8 @@ func _ready() -> void:
|
||||
content_label.modulate.a = 0.0
|
||||
tip_label.text = tip_cover
|
||||
tip_label.modulate.a = 0.0
|
||||
cover_sprite.modulate.a = 0.0
|
||||
cover_sprite.texture = texture_cover
|
||||
cover_rect.modulate.a = 0.0
|
||||
cover_rect.texture = texture_cover
|
||||
|
||||
|
||||
func _on_interacted() -> void:
|
||||
@ -60,13 +60,13 @@ func _on_interacted() -> void:
|
||||
status = STATUS_INSPECTING_NOTES
|
||||
tip_label.text = tip_notes
|
||||
create_tween().tween_property(content_label, "modulate:a", 1.0, 0.2)
|
||||
create_tween().tween_property(cover_sprite, "modulate:a", 1.0, 0.15)
|
||||
create_tween().tween_property(cover_rect, "modulate:a", 1.0, 0.15)
|
||||
elif status == STATUS_INSPECTING_NOTES:
|
||||
sfx.play()
|
||||
status = STATUS_INSPECTING_COVER
|
||||
tip_label.text = tip_cover
|
||||
create_tween().tween_property(content_label, "modulate:a", 0.0, 0.15)
|
||||
create_tween().tween_property(cover_sprite, "modulate:a", 0.0, 0.2)
|
||||
create_tween().tween_property(cover_rect, "modulate:a", 0.0, 0.2)
|
||||
|
||||
|
||||
func _blink_label(init := true):
|
||||
@ -84,7 +84,7 @@ func _blink_label(init := true):
|
||||
func _on_cancel(_body = null):
|
||||
# inspected_time = Time.get_ticks_msec()
|
||||
status = STATUS_NORAML
|
||||
cover_sprite.modulate.a = 0.0
|
||||
cover_rect.modulate.a = 0.0
|
||||
var tween = create_tween()
|
||||
tween.tween_property(content_label, "modulate:a", 0.0, 0.15)
|
||||
if blinking_tween and blinking_tween.is_running():
|
||||
|
@ -54,28 +54,28 @@ collision_layer = 0
|
||||
unique_name_in_owner = true
|
||||
shape = SubResource("RectangleShape2D_4fuic")
|
||||
|
||||
[node name="Cover" type="Sprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
z_index = 99
|
||||
scale = Vector2(0.5, 0.5)
|
||||
[node name="InspectLayer" type="CanvasLayer" parent="."]
|
||||
layer = 110
|
||||
|
||||
[node name="ContentLabel" type="Label" parent="."]
|
||||
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="InspectLayer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Cover" type="TextureRect" parent="InspectLayer/AspectRatioContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="ContentLabel" type="Label" parent="InspectLayer/AspectRatioContainer"]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
z_index = 100
|
||||
custom_minimum_size = Vector2(70, 0)
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -29.5
|
||||
offset_top = -49.5
|
||||
offset_right = 90.5
|
||||
offset_bottom = 145.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
scale = Vector2(0.5, 0.5)
|
||||
custom_minimum_size = Vector2(130, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = "据闻奉贤县分水墩又有七人染受鼠疫,病状可怖,闻医官药治无用,免职。
|
||||
有地方人称鼠疫为妖邪作祟,甚为惊骇,一时人心惶惶,竟有聚众滋闹之事,政府以防疫事宜关系紧要,拟赴分水墩一带调查防疫事宜云。
|
||||
@ -86,19 +86,17 @@ label_settings = SubResource("LabelSettings_c3c2j")
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="TipLabel" type="Label" parent="."]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="InspectLayer/AspectRatioContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 8
|
||||
theme_override_constants/margin_bottom = 38
|
||||
|
||||
[node name="TipLabel" type="Label" parent="InspectLayer/AspectRatioContainer/MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
z_index = 100
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -25.5
|
||||
offset_top = 49.0
|
||||
offset_right = 80.5
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
scale = Vector2(0.5, 0.5)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 8
|
||||
text = "Q: 退出 E: 阅读"
|
||||
horizontal_alignment = 1
|
||||
|
@ -9,8 +9,8 @@ var footstep_audio = RandomAudioStreamPlayer.new()
|
||||
|
||||
func _ready() -> void:
|
||||
foreground.layer = GlobalConfig.CANVAS_LAYER_FG
|
||||
%ColorRectTop.visible = true
|
||||
%ColorRectBottom.visible = true
|
||||
# %ColorRectTop.visible = true
|
||||
# %ColorRectBottom.visible = true
|
||||
add_child(footstep_audio)
|
||||
reload()
|
||||
|
||||
|
@ -41,37 +41,6 @@ position = Vector2(-34, -118)
|
||||
texture = ExtResource("5_i5hii")
|
||||
centered = false
|
||||
|
||||
[node name="ColorRectTop" type="ColorRect" parent="ParallaxForeground"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(564, 38.5)
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -282.0
|
||||
offset_right = 282.0
|
||||
offset_bottom = 40.0
|
||||
grow_horizontal = 2
|
||||
mouse_filter = 2
|
||||
color = Color(0.0519829, 0.0179176, 0.00269875, 1)
|
||||
|
||||
[node name="ColorRectBottom" type="ColorRect" parent="ParallaxForeground"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(564, 38.5)
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -282.0
|
||||
offset_top = -38.5
|
||||
offset_right = 282.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
mouse_filter = 2
|
||||
color = Color(0.0519829, 0.0179176, 0.00269875, 1)
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
|
||||
offset_right = 2256.0
|
||||
offset_bottom = 1268.0
|
||||
|
@ -95,7 +95,6 @@ func _do_transition(scene: Node2D):
|
||||
scene.queue_free()
|
||||
ground.owner = null
|
||||
add_child(ground)
|
||||
ground.owner = self
|
||||
ground.name = "Ground"
|
||||
_set_camera_and_player_boundary()
|
||||
_update_archive()
|
||||
|
@ -1,88 +1,6 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://clxgkj80yin2"]
|
||||
[gd_scene load_steps=2 format=3 uid="uid://clxgkj80yin2"]
|
||||
|
||||
[ext_resource type="Script" path="res://scene/ground/ground_loader.gd" id="1_6mjre"]
|
||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="2_xtikv"]
|
||||
[ext_resource type="Script" path="res://scene/ground/ground.gd" id="3_aiqgg"]
|
||||
[ext_resource type="Script" path="res://config/deploy/scene_config.gd" id="4_vfq42"]
|
||||
[ext_resource type="Texture2D" uid="uid://kc4726andgy2" path="res://asset/art/scene/c02/s01_街道/bg_公寓入口.png" id="5_ogvfs"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6ux50"]
|
||||
resource_local_to_scene = true
|
||||
script = ExtResource("4_vfq42")
|
||||
player_y_fixed = true
|
||||
player_y = 45
|
||||
footstep_type = "concrete"
|
||||
bgm = ""
|
||||
|
||||
[node name="GroundLoader" type="Node2D"]
|
||||
script = ExtResource("1_6mjre")
|
||||
|
||||
[node name="Ground" parent="." instance=ExtResource("2_xtikv")]
|
||||
script = ExtResource("3_aiqgg")
|
||||
scene_config = SubResource("Resource_6ux50")
|
||||
|
||||
[node name="BGSprite2D" parent="Ground" index="0"]
|
||||
unique_name_in_owner = true
|
||||
texture = ExtResource("5_ogvfs")
|
||||
centered = false
|
||||
offset = Vector2(0, -119)
|
||||
|
||||
[node name="DeployLayer" parent="Ground" index="1"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="ParallaxForeground" parent="Ground" index="2"]
|
||||
unique_name_in_owner = true
|
||||
layer = 10
|
||||
|
||||
[node name="FGParallaxLayer" parent="Ground/ParallaxForeground" index="1"]
|
||||
motion_scale = Vector2(1.1, 1.1)
|
||||
|
||||
[node name="FGSprite2D" parent="Ground/ParallaxForeground/FGParallaxLayer" index="0"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(-34, -118)
|
||||
centered = false
|
||||
|
||||
[node name="ColorRectTop" parent="Ground/ParallaxForeground" index="2"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(564, 38.5)
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -282.0
|
||||
offset_right = 282.0
|
||||
offset_bottom = 40.0
|
||||
grow_horizontal = 2
|
||||
mouse_filter = 2
|
||||
color = Color(0.0519829, 0.0179176, 0.00269875, 1)
|
||||
|
||||
[node name="ColorRectBottom" parent="Ground/ParallaxForeground" index="3"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(564, 38.5)
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -282.0
|
||||
offset_top = -38.5
|
||||
offset_right = 282.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
mouse_filter = 2
|
||||
color = Color(0.0519829, 0.0179176, 0.00269875, 1)
|
||||
|
||||
[node name="SubViewportContainer" parent="Ground" index="3"]
|
||||
offset_right = 2256.0
|
||||
offset_bottom = 1268.0
|
||||
scale = Vector2(0.25, 0.25)
|
||||
|
||||
[node name="SubViewport" parent="Ground/SubViewportContainer" index="0"]
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
canvas_item_default_texture_filter = 0
|
||||
size = Vector2i(2256, 1268)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[editable path="Ground"]
|
||||
|
@ -107,7 +107,7 @@ shape = SubResource("RectangleShape2D_3qhvr")
|
||||
[node name="LocalInspectable" parent="Ground/DeployLayer" index="7" instance=ExtResource("12_0fckv")]
|
||||
position = Vector2(387, -25)
|
||||
entity_title = "鼠疫海报"
|
||||
texture_cover = ExtResource("6_4pcq0")
|
||||
texture_cover = ExtResource("7_wdwbi")
|
||||
inspection_note = "据闻奉贤县分水墩又有七人染受鼠疫,病状可怖,闻医官药治无用,免职。
|
||||
有地方人称鼠疫为妖邪作祟,甚为惊骇,一时人心惶惶,竟有聚众滋闹之事,政府以防疫事宜关系紧要,拟赴分水墩一带调查防疫事宜云。
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
@tool
|
||||
class_name PropHud extends Control
|
||||
class_name PropHud extends CanvasItem
|
||||
|
||||
@export_group("DebugItem")
|
||||
@export var add_item := false:
|
||||
@ -12,7 +12,7 @@ class_name PropHud extends Control
|
||||
@export_file("*.png") var item_texture: String
|
||||
@export_group("Inventory")
|
||||
@export var inventory: PropInventory
|
||||
@export_group("UI/UX")
|
||||
@export_group("UI-UX")
|
||||
@export var display_time := 1.5 # 不包含渐入渐出(约 0.6s)的时长
|
||||
@export var locked := false
|
||||
@export var selected := false:
|
||||
@ -163,6 +163,10 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
elif event.is_action_pressed("prop_right"):
|
||||
on_right_pressed()
|
||||
get_viewport().set_input_as_handled()
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if locked:
|
||||
return
|
||||
if listen_mouse and (event is InputEventMouseMotion or event is InputEventScreenTouch):
|
||||
_mouse_moved_on_listening()
|
||||
|
||||
|
@ -1,60 +1,29 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://dc778gsjfr3ky"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://dc778gsjfr3ky"]
|
||||
|
||||
[ext_resource type="Script" path="res://scene/hud/prop_hud.gd" id="1_bbv0a"]
|
||||
[ext_resource type="Texture2D" uid="uid://chyumeohdhwnh" path="res://asset/art/ui/hud/normal_left.png" id="2_bjc2b"]
|
||||
[ext_resource type="PackedScene" uid="uid://c85t6stvytvjn" path="res://scene/entity/ux/sfx.tscn" id="2_g6c03"]
|
||||
[ext_resource type="Script" path="res://scene/hud/prop_item.gd" id="2_v7ccv"]
|
||||
[ext_resource type="Texture2D" uid="uid://cvepj6u80c5wv" path="res://asset/art/ui/hud/pressed_left.png" id="3_fca7p"]
|
||||
[ext_resource type="Script" path="res://scene/hud/prop_inventory.gd" id="3_j5qly"]
|
||||
[ext_resource type="Texture2D" uid="uid://bospbmb0gr2sb" path="res://asset/art/ui/hud/Prop.png" id="5_6tt77"]
|
||||
[ext_resource type="Texture2D" uid="uid://b7qfbqgk4m0bl" path="res://asset/art/prop/c02/1012钥匙物品.png" id="8_l2cwd"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgsbwhy1c2jna" path="res://asset/art/ui/hud/red_hand.png" id="9_0crjo"]
|
||||
[ext_resource type="Texture2D" uid="uid://boqpr7i2a5uan" path="res://asset/art/ui/hud/normal_right.png" id="10_vkaik"]
|
||||
[ext_resource type="Texture2D" uid="uid://daj2n408y2vfp" path="res://asset/art/ui/hud/pressed_right.png" id="11_a512b"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4bv8f"]
|
||||
script = ExtResource("2_v7ccv")
|
||||
name = "绳子"
|
||||
title = "绳子"
|
||||
texture_path = "res://asset/art/prop/c02/绳子物品.png"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_r428v"]
|
||||
script = ExtResource("2_v7ccv")
|
||||
name = "钥匙"
|
||||
title = "1012钥匙"
|
||||
texture_path = "res://asset/art/prop/c02/1012钥匙物品.png"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6rpb3"]
|
||||
script = ExtResource("2_v7ccv")
|
||||
name = "小猫玩具的脑袋"
|
||||
title = "小猫玩具的脑袋"
|
||||
texture_path = "res://asset/art/prop/c02/小猫玩具脑袋物品.png"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_w8ynm"]
|
||||
script = ExtResource("3_j5qly")
|
||||
items = Array[Object]([SubResource("Resource_4bv8f"), SubResource("Resource_r428v"), SubResource("Resource_6rpb3")])
|
||||
current_index = 1
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oki4y"]
|
||||
size = Vector2(646.667, 416.667)
|
||||
|
||||
[node name="PropHUD" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = 10.0
|
||||
offset_left = 8.0
|
||||
offset_top = 4.0
|
||||
offset_right = 224.0
|
||||
offset_bottom = 144.0
|
||||
offset_right = 8.0
|
||||
offset_bottom = 4.0
|
||||
scale = Vector2(0.3, 0.3)
|
||||
mouse_filter = 2
|
||||
script = ExtResource("1_bbv0a")
|
||||
item_name = "小猫玩具的脑袋"
|
||||
item_title = "小猫玩具的脑袋"
|
||||
item_texture = "res://asset/art/prop/c02/小猫玩具脑袋物品.png"
|
||||
inventory = SubResource("Resource_w8ynm")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
@ -147,16 +116,6 @@ texture_normal = ExtResource("10_vkaik")
|
||||
texture_pressed = ExtResource("11_a512b")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="MouseDetector" type="StaticBody2D" parent="VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 8
|
||||
collision_mask = 8
|
||||
input_pickable = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="VBoxContainer/HBoxContainer/MouseDetector"]
|
||||
position = Vector2(256.667, 171.667)
|
||||
shape = SubResource("RectangleShape2D_oki4y")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_top = 8
|
||||
@ -167,3 +126,13 @@ layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_font_sizes/font_size = 42
|
||||
text = "1012钥匙"
|
||||
|
||||
[node name="MouseDetector" type="StaticBody2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 8
|
||||
collision_mask = 8
|
||||
input_pickable = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="MouseDetector"]
|
||||
position = Vector2(256.667, 171.667)
|
||||
shape = SubResource("RectangleShape2D_oki4y")
|
||||
|
@ -6,7 +6,7 @@ extends Node2D
|
||||
_load_scene_config()
|
||||
|
||||
func _ready() -> void:
|
||||
$UILayer.layer = GlobalConfig.CANVAS_LAYER_VIGNETTE
|
||||
$UILayer.layer = GlobalConfig.CANVAS_LAYER_UI
|
||||
_load_scene_config()
|
||||
|
||||
func _load_scene_config() -> void:
|
||||
|
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://dygvcmykn02n8"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://dygvcmykn02n8"]
|
||||
|
||||
[ext_resource type="Script" path="res://scene/main.gd" id="1_pks84"]
|
||||
[ext_resource type="PackedScene" uid="uid://3gk1gxwanw24" path="res://ui/vignette/vignette_shading.tscn" id="2_d1re1"]
|
||||
[ext_resource type="PackedScene" uid="uid://3gk1gxwanw24" path="res://scene/shading/shading_layer.tscn" id="2_d1re1"]
|
||||
[ext_resource type="PackedScene" uid="uid://dmkt1roqc4he7" path="res://scene/dialog/dialog.tscn" id="3_prpss"]
|
||||
[ext_resource type="PackedScene" uid="uid://dc778gsjfr3ky" path="res://scene/hud/prop_hud.tscn" id="4_t7gb2"]
|
||||
[ext_resource type="PackedScene" uid="uid://5g07x6q7wwr1" path="res://scene/notification/notification.tscn" id="5_3gg5t"]
|
||||
@ -9,19 +9,58 @@
|
||||
[ext_resource type="PackedScene" uid="uid://cjhw5ecygrqty" path="res://scene/player/main_player.tscn" id="6_6geb0"]
|
||||
[ext_resource type="PackedScene" uid="uid://clxgkj80yin2" path="res://scene/ground/ground_loader.tscn" id="10_8rc5n"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_5qls2"]
|
||||
background_mode = 3
|
||||
background_color = Color(1, 1, 1, 1)
|
||||
ambient_light_color = Color(0.470076, 0.470076, 0.470076, 1)
|
||||
ambient_light_energy = 10.0
|
||||
glow_enabled = true
|
||||
glow_blend_mode = 1
|
||||
glow_hdr_threshold = 0.0
|
||||
|
||||
[node name="Main" type="Node2D"]
|
||||
script = ExtResource("1_pks84")
|
||||
|
||||
[node name="GroundLoader" parent="." instance=ExtResource("10_8rc5n")]
|
||||
position = Vector2(1, 0)
|
||||
|
||||
[node name="MainPlayer" parent="." instance=ExtResource("6_6geb0")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(80, 42)
|
||||
scale = Vector2(0.6, 0.6)
|
||||
|
||||
[node name="ShadingLayer" parent="." instance=ExtResource("2_d1re1")]
|
||||
visible = false
|
||||
|
||||
[node name="UILayer" type="CanvasLayer" parent="."]
|
||||
layer = 5
|
||||
layer = 100
|
||||
|
||||
[node name="PropHUD" parent="UILayer" instance=ExtResource("4_t7gb2")]
|
||||
scale = Vector2(0.24, 0.24)
|
||||
mouse_filter = 0
|
||||
selected = false
|
||||
metadata/_edit_use_anchors_ = true
|
||||
[node name="ColorRectTop" type="ColorRect" parent="UILayer"]
|
||||
custom_minimum_size = Vector2(564, 38.5)
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -282.0
|
||||
offset_right = 282.0
|
||||
offset_bottom = 40.0
|
||||
grow_horizontal = 2
|
||||
mouse_filter = 2
|
||||
color = Color(0.0519829, 0.0179176, 0.00269875, 1)
|
||||
|
||||
[node name="ColorRectBottom" type="ColorRect" parent="UILayer"]
|
||||
custom_minimum_size = Vector2(564, 38.5)
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -282.0
|
||||
offset_top = -38.5
|
||||
offset_right = 282.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
mouse_filter = 2
|
||||
color = Color(0.0519829, 0.0179176, 0.00269875, 1)
|
||||
|
||||
[node name="Dialog" parent="UILayer" instance=ExtResource("3_prpss")]
|
||||
offset_left = -230.0
|
||||
@ -32,12 +71,17 @@ metadata/_edit_use_anchors_ = true
|
||||
[node name="Notification" parent="UILayer" instance=ExtResource("5_3gg5t")]
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="PropHUD" parent="UILayer" instance=ExtResource("4_t7gb2")]
|
||||
scale = Vector2(0.24, 0.24)
|
||||
mouse_filter = 2
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="PropInspector" parent="." instance=ExtResource("5_ux0rw")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="VignetteShading" parent="." instance=ExtResource("2_d1re1")]
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_5qls2")
|
||||
|
||||
[node name="MainPlayer" parent="." instance=ExtResource("6_6geb0")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(80, 42)
|
||||
scale = Vector2(0.6, 0.6)
|
||||
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="WorldEnvironment"]
|
||||
visible = false
|
||||
color = Color(0.242105, 0.549533, 0.590841, 1)
|
||||
|
@ -191,8 +191,12 @@ func _physics_process(_delta: float) -> void:
|
||||
var speed := _get_speed(direction) as Vector2
|
||||
velocity.x = move_toward(velocity.x, speed.x, 300.0) * velocity_ratio
|
||||
velocity.y = move_toward(velocity.y, speed.y, 300.0) * velocity_ratio
|
||||
# var x = global_position.x
|
||||
move_and_slide()
|
||||
position = position.clamp(player_movement_rect.position, player_movement_rect.end)
|
||||
global_position = global_position.clamp(player_movement_rect.position, player_movement_rect.end)
|
||||
# var delta_x = global_position.x - x
|
||||
# if delta_x:
|
||||
# SceneManager.player_moved_delta_x(delta_x)
|
||||
_tweak_camera_marker()
|
||||
|
||||
|
||||
|
@ -8,17 +8,24 @@ line_spacing = 1.0
|
||||
font_size = 11
|
||||
|
||||
[node name="PropInspector" type="CanvasLayer"]
|
||||
layer = 98
|
||||
layer = 110
|
||||
script = ExtResource("1_2wpwe")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -282.0
|
||||
offset_top = -120.0
|
||||
offset_right = 282.0
|
||||
offset_bottom = 120.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_vertical = 4
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("2_wr575")
|
||||
|
||||
@ -32,9 +39,9 @@ anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -60.0
|
||||
offset_top = -109.5
|
||||
offset_top = -97.5
|
||||
offset_right = 60.0
|
||||
offset_bottom = 85.5
|
||||
offset_bottom = 97.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 4
|
||||
@ -47,21 +54,24 @@ label_settings = SubResource("LabelSettings_5qe7a")
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="TipLabel" type="Label" parent="."]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -53.0
|
||||
offset_top = -48.0
|
||||
offset_right = 53.0
|
||||
offset_bottom = -33.0
|
||||
offset_left = -47.5
|
||||
offset_top = -40.0
|
||||
offset_right = 47.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
size_flags_vertical = 8
|
||||
theme_override_constants/margin_bottom = 38
|
||||
|
||||
[node name="TipLabel" type="Label" parent="MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = "Q: 退出 E: 阅读"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
104
scene/shading/shading_layer.gd
Normal file
104
scene/shading/shading_layer.gd
Normal file
@ -0,0 +1,104 @@
|
||||
# @tool
|
||||
extends CanvasLayer
|
||||
|
||||
@export_enum("vignette", "fog", "glitch", "palette", "chromatic_abberation")
|
||||
var mode: Array[String] = ["vignette"] as Array[String]:
|
||||
set(new_val):
|
||||
mode = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
_setup_visibility()
|
||||
@export_group("Vignette", "vignette_")
|
||||
@export var vignette_rgb := Color8(0x3f, 0x26, 0x31):
|
||||
set(new_val):
|
||||
vignette_rgb = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("Vignette").material.set("shader_parameter/vignette_rgb", new_val)
|
||||
@export_range(0, 5) var vignette_intensity := 0.3:
|
||||
set(new_val):
|
||||
vignette_intensity = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("Vignette").material.set("shader_parameter/vignette_intensity", new_val)
|
||||
@export_group("Fog", "fog_")
|
||||
@export var fog_offset := Vector2(0.0, 0.0):
|
||||
set(new_val):
|
||||
fog_offset = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("Fog").texture.noise.set("offset", new_val)
|
||||
@export var fog_base_color := Color8(0xff, 0xff, 0xff, 0x3d):
|
||||
set(new_val):
|
||||
fog_base_color = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("Fog").material.set("shader_parameter/base_color", new_val)
|
||||
@export_group("Glitch", "glitch_")
|
||||
@export var glitch_power := 0.001:
|
||||
set(new_val):
|
||||
glitch_power = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_power", new_val)
|
||||
# rate
|
||||
@export var glitch_rate := 0.2:
|
||||
set(new_val):
|
||||
glitch_rate = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_rate", new_val)
|
||||
# speed
|
||||
@export var glitch_speed := 5.0:
|
||||
set(new_val):
|
||||
glitch_speed = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_speed", new_val)
|
||||
# block_size
|
||||
@export var glitch_block_size := 30.5:
|
||||
set(new_val):
|
||||
glitch_block_size = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_block_size", new_val)
|
||||
# color rate
|
||||
@export var glitch_color_rate := 0.01:
|
||||
set(new_val):
|
||||
glitch_color_rate = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_color_rate", new_val)
|
||||
@export_group("Palette", "palette_")
|
||||
@export var palette_texture := preload("res://asset/shader/palette/bloodmoon21-1x.png"):
|
||||
set(new_val):
|
||||
palette_texture = new_val
|
||||
if not is_node_ready():
|
||||
return
|
||||
get_node("Palette").material.set("shader_parameter/palette", new_val)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$Sprite2D.visible = false
|
||||
layer = GlobalConfig.CANVAS_LAYER_SHADING
|
||||
# set up other properties
|
||||
get_node("Vignette").material.set("shader_parameter/vignette_rgb", vignette_rgb)
|
||||
get_node("Vignette").material.set("shader_parameter/vignette_intensity", vignette_intensity)
|
||||
get_node("Fog").texture.noise.set("offset", fog_offset)
|
||||
get_node("Fog").material.set("shader_parameter/base_color", fog_base_color)
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_power", glitch_power)
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_rate", glitch_rate)
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_speed", glitch_speed)
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_block_size", glitch_block_size)
|
||||
get_node("GlitchEffect").material.set("shader_parameter/shake_color_rate", glitch_color_rate)
|
||||
get_node("Palette").material.set("shader_parameter/palette", palette_texture)
|
||||
# set up visibility
|
||||
_setup_visibility()
|
||||
|
||||
|
||||
func _setup_visibility():
|
||||
get_node("Vignette").visible = mode.has("vignette")
|
||||
get_node("Fog").visible = mode.has("fog")
|
||||
get_node("GlitchEffect").visible = mode.has("glitch")
|
||||
get_node("Palette").visible = mode.has("palette")
|
||||
get_node("ChromaticAbberation").visible = mode.has("chromatic_abberation")
|
134
scene/shading/shading_layer.tscn
Normal file
134
scene/shading/shading_layer.tscn
Normal file
@ -0,0 +1,134 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://3gk1gxwanw24"]
|
||||
|
||||
[ext_resource type="Script" path="res://scene/shading/shading_layer.gd" id="1_6w7er"]
|
||||
[ext_resource type="Shader" path="res://asset/shader/vignette.gdshader" id="1_akp6k"]
|
||||
[ext_resource type="Texture2D" uid="uid://kc4726andgy2" path="res://asset/art/scene/c02/s01_街道/bg_公寓入口.png" id="2_r3a31"]
|
||||
[ext_resource type="Shader" path="res://asset/shader/glitcheffect.gdshader" id="3_qjv5u"]
|
||||
[ext_resource type="Shader" path="res://asset/shader/huabu.gdshader" id="4_n5nu8"]
|
||||
[ext_resource type="Shader" path="res://asset/shader/fog.gdshader" id="4_sglhm"]
|
||||
[ext_resource type="Texture2D" uid="uid://benc6ebkr0nd1" path="res://asset/shader/palette/bloodmoon21-1x.png" id="5_ios50"]
|
||||
[ext_resource type="Shader" path="res://asset/shader/chromatic_abberation.gdshader" id="8_b0unx"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_y8ah7"]
|
||||
shader = ExtResource("8_b0unx")
|
||||
shader_parameter/levels = 3
|
||||
shader_parameter/spread = 0.01
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_iqikf"]
|
||||
shader = ExtResource("4_n5nu8")
|
||||
shader_parameter/palette = ExtResource("5_ios50")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fpg8r"]
|
||||
shader = ExtResource("3_qjv5u")
|
||||
shader_parameter/shake_power = 0.01
|
||||
shader_parameter/shake_rate = 0.2
|
||||
shader_parameter/shake_speed = 5.0
|
||||
shader_parameter/shake_block_size = 30.5
|
||||
shader_parameter/shake_color_rate = 0.01
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pabt5"]
|
||||
shader = ExtResource("4_sglhm")
|
||||
shader_parameter/base_color = Color(1, 1, 1, 0.239216)
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_els51"]
|
||||
frequency = 0.015
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_oe2uy"]
|
||||
width = 600
|
||||
seamless = true
|
||||
normalize = false
|
||||
noise = SubResource("FastNoiseLite_els51")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_radis"]
|
||||
shader = ExtResource("1_akp6k")
|
||||
shader_parameter/vignette_intensity = 0.4
|
||||
shader_parameter/vignette_rgb = Color(0.247, 0.149, 0.192, 1)
|
||||
|
||||
[node name="ShadingLayer" type="CanvasLayer"]
|
||||
layer = 90
|
||||
script = ExtResource("1_6w7er")
|
||||
mode = Array[String](["vignette"])
|
||||
fog_base_color = Color(0.52549, 0.0196078, 0.141176, 0.513726)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(285, 142)
|
||||
texture = ExtResource("2_r3a31")
|
||||
|
||||
[node name="ChromaticAbberation" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
material = SubResource("ShaderMaterial_y8ah7")
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="BackBufferCopy" type="BackBufferCopy" parent="ChromaticAbberation"]
|
||||
copy_mode = 2
|
||||
|
||||
[node name="Palette" type="Panel" parent="."]
|
||||
visible = false
|
||||
material = SubResource("ShaderMaterial_iqikf")
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="BackBufferCopy" type="BackBufferCopy" parent="Palette"]
|
||||
copy_mode = 2
|
||||
|
||||
[node name="GlitchEffect" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
material = SubResource("ShaderMaterial_fpg8r")
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="BackBufferCopy" type="BackBufferCopy" parent="GlitchEffect"]
|
||||
copy_mode = 2
|
||||
|
||||
[node name="Fog" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
material = SubResource("ShaderMaterial_pabt5")
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -300.0
|
||||
offset_top = -256.0
|
||||
offset_right = 300.0
|
||||
offset_bottom = 256.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = SubResource("NoiseTexture2D_oe2uy")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="BackBufferCopy" type="BackBufferCopy" parent="Fog"]
|
||||
copy_mode = 2
|
||||
|
||||
[node name="Vignette" type="ColorRect" parent="."]
|
||||
material = SubResource("ShaderMaterial_radis")
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="BackBufferCopy" type="BackBufferCopy" parent="Vignette"]
|
||||
copy_mode = 2
|
||||
|
||||
[node name="EnvironmentLight" type="Panel" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
@ -1,14 +0,0 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@export var rgb := Color8(0x3f,0x26,0x31):
|
||||
set(new_val):
|
||||
rgb = new_val
|
||||
%ColorRect.material.set("shader_parameter/vignette_rgb", new_val)
|
||||
|
||||
@export_range(0, 5) var intensity := 0.3:
|
||||
set(new_val):
|
||||
intensity = new_val
|
||||
%ColorRect.material.set("shader_parameter/vignette_intensity", new_val)
|
||||
|
||||
func _ready() -> void:
|
||||
layer = GlobalConfig.CANVAS_LAYER_VIGNETTE
|
@ -1,23 +0,0 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://3gk1gxwanw24"]
|
||||
|
||||
[ext_resource type="Script" path="res://ui/vignette/vignette_shading.gd" id="1_6w7er"]
|
||||
[ext_resource type="Shader" path="res://asset/shader/vignette.gdshader" id="1_akp6k"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pabt5"]
|
||||
shader = ExtResource("1_akp6k")
|
||||
shader_parameter/vignette_intensity = 0.4
|
||||
shader_parameter/vignette_rgb = Color(0.247059, 0.14902, 0.192157, 1)
|
||||
|
||||
[node name="VignetteShading" type="CanvasLayer"]
|
||||
layer = 100
|
||||
script = ExtResource("1_6w7er")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
unique_name_in_owner = true
|
||||
material = SubResource("ShaderMaterial_pabt5")
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
Loading…
Reference in New Issue
Block a user