diff --git a/README.md b/README.md index 296f3bc..d9b01e6 100644 --- a/README.md +++ b/README.md @@ -32,37 +32,77 @@ These effects should be place in a CanvasLayer object in any scene +### Blur + +based on: https://godotshaders.com/shader/simple-blur-mixed-with-a-color/ + +![Blur](./docs/images/camera-effects/blur.png) + +### Camera Shake + +![Camera Shake](./docs/images/camera-effects/camera-shake.png) + ### Chromatic Aberration +based on: https://www.youtube.com/watch?v=aVzY6n3e19A + ![Chromatic Aberration](./docs/images/camera-effects/chromatic-aberration.png) +### Color Correction + +based on: https://godotshaders.com/shader/world-environment-adjustments-for-viewporttextures/ + +![Color Correction](./docs/images/camera-effects/color-correction.png) + +### Fish Eye + +based on: https://godotshaders.com/shader/2d-radial-distortion-fisheye-barrel/ + +![Fish Eye](./docs/images/camera-effects/fish-eye.png) + ### Grain Noise ![Grain Noise](./docs/images/camera-effects/grain-noise.png) ### Hexagon Mosaic +based on: https://docs.godotengine.org/en/4.0/tutorials/shaders/custom_postprocessing.html + ![Hexagon Mosaic](./docs/images/camera-effects/hexagon-mosaic.png) +### Mirage + +![Mirage](./docs/images/camera-effects/mirage.png) + +### Monocolor + +![Monocolor](./docs/images/camera-effects/monocolor.png) + ### Pixelate +based on: https://www.youtube.com/watch?v=77F4ZjmQ07U + ![Pixelate](./docs/images/camera-effects/pixelate.png) ### Sepia +based on: https://www.shadertoy.com/view/Xl3cDn + ![Sepia](./docs/images/camera-effects/sepia.png) +### Under Water + +based on: https://www.shadertoy.com/view/MdlXz8 + +![Under Water](./docs/images/camera-effects/under-water.png) + ### Vignette (danger) ![Vignette](./docs/images/camera-effects/vignette.png) -### Camera Shake - - - ## Videos -Click to jump to YouTube and watch the videos with all effects at the time of 14.12.2023 +Click on the images below to jump to YouTube and watch the videos with all effects at the time of 14.12.2023 ### Particles @@ -75,7 +115,6 @@ Click to jump to YouTube and watch the videos with all effects at the time of 14 ## License * Kenney Particle Pack is copyrighted by Kenney, and can be found at https://kenney.nl/assets/particle-pack -* Kenney Prototype Tools is copyrighted by Kenney, and can be found at https://github.com/GeroVeni/kenney_prototype_tools * Kaykit Halloween Bits is copyrighted by Kay Lousberg, and can be found at https://kaylousberg.itch.io/halloween-bits Except for that, the particles and code in this repository are available under MIT license for free usage. diff --git a/camera-effects.tscn b/camera-effects.tscn index eda4f25..e44e134 100644 --- a/camera-effects.tscn +++ b/camera-effects.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://c051w6upl0t16"] +[gd_scene load_steps=22 format=3 uid="uid://c051w6upl0t16"] [ext_resource type="Script" path="res://camera-effects/camera-effects-scene.gd" id="1_ct3xk"] [ext_resource type="PackedScene" uid="uid://bvk23npqj2u2a" path="res://commons/halloween_village.tscn" id="2_8870h"] @@ -8,11 +8,12 @@ [ext_resource type="PackedScene" uid="uid://dv3o1u4hc11vn" path="res://camera-effects/sepia.tscn" id="10_rqewe"] [ext_resource type="PackedScene" uid="uid://cf1adbox8xy7e" path="res://camera-effects/grain_noise.tscn" id="11_3qobw"] [ext_resource type="PackedScene" uid="uid://dfy4v47aijqqp" path="res://camera-effects/under_water.tscn" id="12_76kh0"] -[ext_resource type="PackedScene" uid="uid://dwppksddt4t0x" path="res://camera-effects/hexagon_mosaic.tscn" id="12_uvrob"] -[ext_resource type="PackedScene" uid="uid://0ef8k2idbr15" path="res://camera-effects/mirage.tscn" id="13_rc6we"] -[ext_resource type="PackedScene" uid="uid://b3uydqubrgd0g" path="res://camera-effects/color_correction.tscn" id="14_71y06"] -[ext_resource type="PackedScene" uid="uid://dxnm4sgbeu22g" path="res://camera-effects/camera_shake.tscn" id="14_qhoe5"] +[ext_resource type="PackedScene" path="res://camera-effects/hexagon_mosaic.tscn" id="12_uvrob"] +[ext_resource type="PackedScene" path="res://camera-effects/mirage.tscn" id="13_rc6we"] +[ext_resource type="PackedScene" path="res://camera-effects/color_correction.tscn" id="14_71y06"] +[ext_resource type="PackedScene" path="res://camera-effects/camera_shake.tscn" id="14_qhoe5"] [ext_resource type="Texture2D" uid="uid://etnwfy334jt" path="res://addons/kenney_particle_pack/window_03.png" id="14_ydbvf"] +[ext_resource type="PackedScene" uid="uid://0f6ab8y0i26l" path="res://camera-effects/monocolor.tscn" id="15_e7wly"] [ext_resource type="PackedScene" uid="uid://kli822acdl5m" path="res://camera-effects/blur.tscn" id="15_kmr3r"] [ext_resource type="PackedScene" uid="uid://pm0p6yeqy50d" path="res://camera-effects/fish_eye.tscn" id="16_nmfpv"] [ext_resource type="ButtonGroup" uid="uid://2yjsq45hqgit" path="res://camera-effects/camera_button_group.tres" id="16_r0ag1"] @@ -21,7 +22,7 @@ glow_blend_mode = 4 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_24bae"] -bg_color = Color(0.278431, 0, 0.141176, 0.392157) +bg_color = Color(0.278431, 0, 0.141176, 0.470588) [sub_resource type="Animation" id="Animation_7utnq"] resource_name = "camera_rotation" @@ -103,8 +104,33 @@ visible = false [node name="Color Correction" parent="Effects" instance=ExtResource("14_71y06")] visible = false +[node name="Monocolor" parent="Effects" instance=ExtResource("15_e7wly")] +visible = false + [node name="CanvasLayer UI" type="CanvasLayer" parent="."] +[node name="BottomBar" type="MarginContainer" parent="CanvasLayer UI"] +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 598.0 +offset_right = 1152.0 +offset_bottom = 648.0 +grow_horizontal = 2 +grow_vertical = 0 +size_flags_vertical = 8 +theme_override_constants/margin_bottom = 10 + +[node name="LabelVisibleEffects" type="RichTextLabel" parent="CanvasLayer UI/BottomBar"] +unique_name_in_owner = true +custom_minimum_size = Vector2(2.08165e-12, 40) +layout_mode = 2 +theme_override_colors/default_color = Color(0, 0, 0, 1) +theme_override_font_sizes/normal_font_size = 24 +bbcode_enabled = true +text = "[center]Chromatic Aberration" + [node name="SideBar" type="HBoxContainer" parent="CanvasLayer UI"] anchors_preset = 9 anchor_bottom = 1.0 @@ -135,21 +161,29 @@ theme_override_font_sizes/font_size = 24 button_pressed = true text = "Rotating Camera" -[node name="Button No Effect" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer"] +custom_minimum_size = Vector2(265, 0) +layout_mode = 2 + +[node name="Button No Effect" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "No Effect" -[node name="ButtonChromaticAberration" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonChromaticAberration" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Chromatic Aberration" -[node name="ButtonPixelate" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonPixelate" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 theme_override_font_sizes/font_size = 24 @@ -157,76 +191,83 @@ toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Pixelate" -[node name="ButtonVignette" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonVignette" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Vignette" -[node name="ButtonSepia" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonSepia" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Sepia" -[node name="ButtonGrainNoise" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonGrainNoise" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Grain Noise" -[node name="ButtonHexagonMosaic" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonHexagonMosaic" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Hexagon Mosaic" -[node name="ButtonCameraShake" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonCameraShake" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Camera Shake" -[node name="ButtonBlur" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="ButtonBlur" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Blur" -[node name="Button Fish Eye" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="Button Fish Eye" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Fish Eye" -[node name="Button Under Water" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="Button Under Water" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Under Water" -[node name="Button Mirage" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="Button Mirage" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Mirage" -[node name="Button Color Correction" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +[node name="Button Color Correction" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 24 toggle_mode = true button_group = ExtResource("16_r0ag1") text = "Color Correction" +[node name="Button Monocolor" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("16_r0ag1") +text = "Monocolor" + [node name="ToggleButton" type="TextureButton" parent="CanvasLayer UI/SideBar"] custom_minimum_size = Vector2(64, 2.08165e-12) layout_mode = 2 @@ -234,43 +275,24 @@ texture_normal = ExtResource("14_ydbvf") ignore_texture_size = true stretch_mode = 4 -[node name="BottomBar" type="MarginContainer" parent="CanvasLayer UI"] -anchors_preset = 12 -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_top = -50.0 -grow_horizontal = 2 -grow_vertical = 0 -size_flags_vertical = 8 -theme_override_constants/margin_bottom = 10 - -[node name="LabelVisibleEffects" type="RichTextLabel" parent="CanvasLayer UI/BottomBar"] -unique_name_in_owner = true -custom_minimum_size = Vector2(2.08165e-12, 40) -layout_mode = 2 -theme_override_colors/default_color = Color(0, 0, 0, 1) -theme_override_font_sizes/normal_font_size = 24 -bbcode_enabled = true -text = "[center]Chromatic Aberration" - [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_do3k3") } [connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonRotatingCamera" to="." method="toggleCameraRotating"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/Button No Effect" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonChromaticAberration" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonPixelate" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonVignette" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonSepia" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonGrainNoise" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonHexagonMosaic" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonCameraShake" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonBlur" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/Button Fish Eye" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/Button Under Water" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/Button Mirage" to="." method="updateVisibleEffects"] -[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/Button Color Correction" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/Button No Effect" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonChromaticAberration" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonPixelate" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonVignette" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonSepia" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonGrainNoise" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonHexagonMosaic" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonCameraShake" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonBlur" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/Button Fish Eye" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/Button Under Water" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/Button Mirage" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/Button Color Correction" to="." method="updateVisibleEffects"] +[connection signal="toggled" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/Button Monocolor" to="." method="updateVisibleEffects"] [connection signal="pressed" from="CanvasLayer UI/SideBar/ToggleButton" to="." method="toggleSideBar"] diff --git a/camera-effects/blur.gdshader b/camera-effects/blur.gdshader index 439dc1e..15cf01c 100644 --- a/camera-effects/blur.gdshader +++ b/camera-effects/blur.gdshader @@ -1,6 +1,6 @@ shader_type canvas_item; -// inspired by: https://godotshaders.com/shader/simple-blur-mixed-with-a-color/ +// based on https://godotshaders.com/shader/simple-blur-mixed-with-a-color/ uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap; diff --git a/camera-effects/chromatic-aberration.gdshader b/camera-effects/chromatic-aberration.gdshader index 9c81d72..4f1af5c 100644 --- a/camera-effects/chromatic-aberration.gdshader +++ b/camera-effects/chromatic-aberration.gdshader @@ -1,6 +1,6 @@ shader_type canvas_item; -// inspired by: https://www.youtube.com/watch?v=aVzY6n3e19A +// based on https://www.youtube.com/watch?v=aVzY6n3e19A uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear; uniform float strength = 20.0; diff --git a/camera-effects/color_correction.gdshader b/camera-effects/color_correction.gdshader index 93158a0..f53beab 100644 --- a/camera-effects/color_correction.gdshader +++ b/camera-effects/color_correction.gdshader @@ -2,7 +2,7 @@ shader_type canvas_item; uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear; -// source: https://godotshaders.com/shader/world-environment-adjustments-for-viewporttextures/ +// based on: https://godotshaders.com/shader/world-environment-adjustments-for-viewporttextures/ uniform float brightness : hint_range(0.0,8.0) = 1.0; uniform float contrast : hint_range(0.0,8.0) = 1.0; diff --git a/camera-effects/fish-eye.gdshader b/camera-effects/fish-eye.gdshader index 8853769..fd205b1 100644 --- a/camera-effects/fish-eye.gdshader +++ b/camera-effects/fish-eye.gdshader @@ -4,7 +4,7 @@ shader_type canvas_item; uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap; -// source: https://godotshaders.com/shader/2d-radial-distortion-fisheye-barrel/ +// based on: https://godotshaders.com/shader/2d-radial-distortion-fisheye-barrel/ ///////////////////////////////// // 2D Radial Distortion Shader // diff --git a/camera-effects/hexagon-mosaic.gdshader b/camera-effects/hexagon-mosaic.gdshader index a1d4d30..bd82253 100644 --- a/camera-effects/hexagon-mosaic.gdshader +++ b/camera-effects/hexagon-mosaic.gdshader @@ -1,6 +1,6 @@ shader_type canvas_item; -// source: https://docs.godotengine.org/en/4.0/tutorials/shaders/custom_postprocessing.html +// based on: https://docs.godotengine.org/en/4.0/tutorials/shaders/custom_postprocessing.html uniform vec2 size = vec2(32.0, 28.0); uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; diff --git a/camera-effects/monocolor.gdshader b/camera-effects/monocolor.gdshader new file mode 100644 index 0000000..bfc2f6c --- /dev/null +++ b/camera-effects/monocolor.gdshader @@ -0,0 +1,13 @@ +shader_type canvas_item; + +uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap; + +uniform vec4 colorDarkness : source_color = vec4(0.0, 0.0, 0.0, 1.0); +uniform vec4 colorLight : source_color = vec4(1.0, 1.0, 1.0, 1.0); +uniform float colorDivider : hint_range(0.0, 1.0) = .5; + +void fragment() { + vec4 pixelColor = texture(SCREEN_TEXTURE, SCREEN_UV); + float grayscaleValue = dot(pixelColor.rgb, vec3(0.299, 0.587, 0.114)); + COLOR = grayscaleValue < colorDivider ? colorDarkness : colorLight; +} diff --git a/camera-effects/monocolor.tscn b/camera-effects/monocolor.tscn new file mode 100644 index 0000000..b79621b --- /dev/null +++ b/camera-effects/monocolor.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=3 uid="uid://0f6ab8y0i26l"] + +[ext_resource type="Shader" path="res://camera-effects/monocolor.gdshader" id="1_7iccl"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_d571q"] +shader = ExtResource("1_7iccl") +shader_parameter/colorDarkness = Color(0, 0, 0, 1) +shader_parameter/colorLight = Color(1, 1, 1, 1) +shader_parameter/colorDivider = 0.5 + +[node name="Monocolor" type="ColorRect"] +material = SubResource("ShaderMaterial_d571q") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 diff --git a/camera-effects/pixelate.gdshader b/camera-effects/pixelate.gdshader index 5101df5..a450ecf 100644 --- a/camera-effects/pixelate.gdshader +++ b/camera-effects/pixelate.gdshader @@ -4,7 +4,7 @@ uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear; uniform int pixel_size = 1; uniform float alpha = 0.1; -// inspired by https://www.youtube.com/watch?v=77F4ZjmQ07U +// based on https://www.youtube.com/watch?v=77F4ZjmQ07U void fragment() { vec2 VIEWPORT_SIZE = 1.0 / SCREEN_PIXEL_SIZE; diff --git a/camera-effects/sepia.gdshader b/camera-effects/sepia.gdshader index 97dcb31..bee21c2 100644 --- a/camera-effects/sepia.gdshader +++ b/camera-effects/sepia.gdshader @@ -1,6 +1,6 @@ shader_type canvas_item; -// inspired by: https://www.shadertoy.com/view/Xl3cDn +// based on: https://www.shadertoy.com/view/Xl3cDn uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear; diff --git a/camera-effects/under-water.gdshader b/camera-effects/under-water.gdshader index 3a16759..beeccee 100644 --- a/camera-effects/under-water.gdshader +++ b/camera-effects/under-water.gdshader @@ -9,7 +9,7 @@ uniform int maximumIterations : hint_range(0, 10) = 5; uniform bool showTiling = false; uniform bool showYellowLine = false; -// source: https://www.shadertoy.com/view/MdlXz8 +// based on: https://www.shadertoy.com/view/MdlXz8 #define TAU 6.28318530718 diff --git a/docs/images/camera-effects/blur.png b/docs/images/camera-effects/blur.png new file mode 100644 index 0000000..a011381 Binary files /dev/null and b/docs/images/camera-effects/blur.png differ diff --git a/docs/images/camera-effects/blur.png.import b/docs/images/camera-effects/blur.png.import new file mode 100644 index 0000000..c022158 --- /dev/null +++ b/docs/images/camera-effects/blur.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f552aral0pmq" +path="res://.godot/imported/blur.png-34d6316f5c7615a8c9fa5a77208d4b1f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/blur.png" +dest_files=["res://.godot/imported/blur.png-34d6316f5c7615a8c9fa5a77208d4b1f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/camera-shake.mp4 b/docs/images/camera-effects/camera-shake.mp4 deleted file mode 100644 index 06c06ff..0000000 Binary files a/docs/images/camera-effects/camera-shake.mp4 and /dev/null differ diff --git a/docs/images/camera-effects/camera-shake.png b/docs/images/camera-effects/camera-shake.png new file mode 100644 index 0000000..7472185 Binary files /dev/null and b/docs/images/camera-effects/camera-shake.png differ diff --git a/docs/images/camera-effects/camera-shake.png.import b/docs/images/camera-effects/camera-shake.png.import new file mode 100644 index 0000000..f3aaf5d --- /dev/null +++ b/docs/images/camera-effects/camera-shake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://by4ku80culayv" +path="res://.godot/imported/camera-shake.png-6bfbdadbfa4d22376de423387176eb96.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/camera-shake.png" +dest_files=["res://.godot/imported/camera-shake.png-6bfbdadbfa4d22376de423387176eb96.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/chromatic-aberration.png b/docs/images/camera-effects/chromatic-aberration.png index 4ee79cd..48065d6 100644 Binary files a/docs/images/camera-effects/chromatic-aberration.png and b/docs/images/camera-effects/chromatic-aberration.png differ diff --git a/docs/images/camera-effects/color-correction.png b/docs/images/camera-effects/color-correction.png new file mode 100644 index 0000000..7959b11 Binary files /dev/null and b/docs/images/camera-effects/color-correction.png differ diff --git a/docs/images/camera-effects/color-correction.png.import b/docs/images/camera-effects/color-correction.png.import new file mode 100644 index 0000000..e0153b5 --- /dev/null +++ b/docs/images/camera-effects/color-correction.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chfbrotf0gu5a" +path="res://.godot/imported/color-correction.png-ad026d22c9a6e982d11132af4dfd484a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/color-correction.png" +dest_files=["res://.godot/imported/color-correction.png-ad026d22c9a6e982d11132af4dfd484a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/fish-eye.png b/docs/images/camera-effects/fish-eye.png new file mode 100644 index 0000000..78749f6 Binary files /dev/null and b/docs/images/camera-effects/fish-eye.png differ diff --git a/docs/images/camera-effects/fish-eye.png.import b/docs/images/camera-effects/fish-eye.png.import new file mode 100644 index 0000000..7332ea3 --- /dev/null +++ b/docs/images/camera-effects/fish-eye.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmi4ml188bsnm" +path="res://.godot/imported/fish-eye.png-e66cc13dbfa924fb66b3348f97ea0f93.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/fish-eye.png" +dest_files=["res://.godot/imported/fish-eye.png-e66cc13dbfa924fb66b3348f97ea0f93.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/grain-noise.png b/docs/images/camera-effects/grain-noise.png index 1635a90..5a1c9e5 100644 Binary files a/docs/images/camera-effects/grain-noise.png and b/docs/images/camera-effects/grain-noise.png differ diff --git a/docs/images/camera-effects/hexagon-mosaic.png b/docs/images/camera-effects/hexagon-mosaic.png index 7b2d284..2c7fde1 100644 Binary files a/docs/images/camera-effects/hexagon-mosaic.png and b/docs/images/camera-effects/hexagon-mosaic.png differ diff --git a/docs/images/camera-effects/mirage.png b/docs/images/camera-effects/mirage.png new file mode 100644 index 0000000..4104650 Binary files /dev/null and b/docs/images/camera-effects/mirage.png differ diff --git a/docs/images/camera-effects/mirage.png.import b/docs/images/camera-effects/mirage.png.import new file mode 100644 index 0000000..1be5274 --- /dev/null +++ b/docs/images/camera-effects/mirage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fhopo60fk5xh" +path="res://.godot/imported/mirage.png-8ba13bc21d8ea8afcd1f34b06bfc6261.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/mirage.png" +dest_files=["res://.godot/imported/mirage.png-8ba13bc21d8ea8afcd1f34b06bfc6261.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/monocolor.png b/docs/images/camera-effects/monocolor.png new file mode 100644 index 0000000..d11bf76 Binary files /dev/null and b/docs/images/camera-effects/monocolor.png differ diff --git a/docs/images/camera-effects/monocolor.png.import b/docs/images/camera-effects/monocolor.png.import new file mode 100644 index 0000000..0752ae3 --- /dev/null +++ b/docs/images/camera-effects/monocolor.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4lsdppnmcntr" +path="res://.godot/imported/monocolor.png-583cd7caa6686d5685f923c40b99b637.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/monocolor.png" +dest_files=["res://.godot/imported/monocolor.png-583cd7caa6686d5685f923c40b99b637.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/pixelate.png b/docs/images/camera-effects/pixelate.png index 4bbdcb0..a343e80 100644 Binary files a/docs/images/camera-effects/pixelate.png and b/docs/images/camera-effects/pixelate.png differ diff --git a/docs/images/camera-effects/sepia.png b/docs/images/camera-effects/sepia.png index be111d1..00f7dc3 100644 Binary files a/docs/images/camera-effects/sepia.png and b/docs/images/camera-effects/sepia.png differ diff --git a/docs/images/camera-effects/under-water.png b/docs/images/camera-effects/under-water.png new file mode 100644 index 0000000..2092b94 Binary files /dev/null and b/docs/images/camera-effects/under-water.png differ diff --git a/docs/images/camera-effects/under-water.png.import b/docs/images/camera-effects/under-water.png.import new file mode 100644 index 0000000..11d922d --- /dev/null +++ b/docs/images/camera-effects/under-water.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://l7gs2t7cs6rc" +path="res://.godot/imported/under-water.png-0684396eb097394298a9022dd5cbf827.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://docs/images/camera-effects/under-water.png" +dest_files=["res://.godot/imported/under-water.png-0684396eb097394298a9022dd5cbf827.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/images/camera-effects/vignette.png b/docs/images/camera-effects/vignette.png index 8aaf118..ffcbc92 100644 Binary files a/docs/images/camera-effects/vignette.png and b/docs/images/camera-effects/vignette.png differ diff --git a/particle-effects.tscn b/particle-effects.tscn index f03b8a4..e49feb0 100644 --- a/particle-effects.tscn +++ b/particle-effects.tscn @@ -5,7 +5,7 @@ [ext_resource type="PackedScene" uid="uid://cxj4cf67il71y" path="res://particles/smoke.tscn" id="1_vs4eb"] [ext_resource type="PackedScene" uid="uid://c4g1wgyk5ynef" path="res://particles/fire.tscn" id="2_ua5o7"] [ext_resource type="PackedScene" uid="uid://bdwxckix3vslo" path="res://particles/hurricane.tscn" id="3_1jf4n"] -[ext_resource type="PackedScene" path="res://particles/hyperdrive.tscn" id="4_waeec"] +[ext_resource type="PackedScene" uid="uid://ce6advdj56x0c" path="res://particles/hyperdrive.tscn" id="4_waeec"] [ext_resource type="PackedScene" uid="uid://b2dthk7xytysh" path="res://particles/shield.tscn" id="5_iqqai"] [ext_resource type="PackedScene" uid="uid://1p0djdxytw42" path="res://particles/sparks.tscn" id="6_n8y86"] [ext_resource type="PackedScene" uid="uid://1nbihtdf4hnv" path="res://particles/rain.tscn" id="8_pqidy"] @@ -14,7 +14,7 @@ [ext_resource type="PackedScene" uid="uid://b8468qkcraev" path="res://particles/implosion.tscn" id="11_df01b"] [ext_resource type="Texture2D" uid="uid://etnwfy334jt" path="res://addons/kenney_particle_pack/window_03.png" id="12_frhsd"] [ext_resource type="ButtonGroup" uid="uid://crqtlmwxkve6i" path="res://particles/particles_button_group.tres" id="13_k8na1"] -[ext_resource type="PackedScene" uid="uid://dxbwdhrcv17yk" path="res://particles/ring_portal.tscn" id="13_ya4y5"] +[ext_resource type="PackedScene" path="res://particles/ring_portal.tscn" id="13_ya4y5"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_njwlo"] shading_mode = 0 @@ -25,7 +25,7 @@ material = SubResource("StandardMaterial3D_njwlo") size = Vector2(40, 40) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pwnty"] -bg_color = Color(0.278431, 0, 0.141176, 0.392157) +bg_color = Color(0.278431, 0, 0.141176, 0.470588) [node name="Particle Effects Scene" type="Node3D"] script = ExtResource("1_62kg4") @@ -95,137 +95,6 @@ visible = false [node name="CanvasLayer UI" type="CanvasLayer" parent="."] -[node name="SideBar" type="HBoxContainer" parent="CanvasLayer UI"] -anchors_preset = 9 -anchor_bottom = 1.0 -grow_vertical = 2 - -[node name="SideBar Menu" type="MarginContainer" parent="CanvasLayer UI/SideBar"] -layout_mode = 2 - -[node name="Panel" type="Panel" parent="CanvasLayer UI/SideBar/SideBar Menu"] -layout_mode = 2 -theme_override_styles/panel = SubResource("StyleBoxFlat_pwnty") - -[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer UI/SideBar/SideBar Menu"] -layout_mode = 2 -theme_override_constants/margin_left = 10 -theme_override_constants/margin_top = 10 -theme_override_constants/margin_right = 10 -theme_override_constants/margin_bottom = 10 - -[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer"] -custom_minimum_size = Vector2(200, 0) -layout_mode = 2 - -[node name="Label Camera Zoom" type="RichTextLabel" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -layout_mode = 2 -bbcode_enabled = true -text = "[center]Camera Zoom" -fit_content = true - -[node name="HSlider Camera Zoom" type="HSlider" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -layout_mode = 2 -min_value = 2.0 -max_value = 8.0 -step = 0.1 -value = 6.0 - -[node name="ButtonFire" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Fire" - -[node name="ButtonHurricane" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Hurricane" - -[node name="ButtonHyperdrive" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Hyperdrive" - -[node name="ButtonImpact" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Impact" - -[node name="ButtonImplosion" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Implosion" - -[node name="ButtonRain" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Rain" - -[node name="ButtonShield" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Shield" - -[node name="ButtonShockwave" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Shockwave" - -[node name="ButtonSmoke" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Smoke" - -[node name="ButtonSparks" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Sparks" - -[node name="ButtonRingPortal" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/font_size = 24 -toggle_mode = true -button_group = ExtResource("13_k8na1") -text = "Ring Portal" - -[node name="ToggleButton" type="TextureButton" parent="CanvasLayer UI/SideBar"] -custom_minimum_size = Vector2(64, 2.08165e-12) -layout_mode = 2 -texture_normal = ExtResource("12_frhsd") -ignore_texture_size = true -stretch_mode = 4 - [node name="BottomBar" type="MarginContainer" parent="CanvasLayer UI"] anchors_preset = 12 anchor_top = 1.0 @@ -245,16 +114,156 @@ theme_override_colors/default_color = Color(1, 1, 1, 1) theme_override_font_sizes/normal_font_size = 24 bbcode_enabled = true +[node name="SideBar" type="HBoxContainer" parent="CanvasLayer UI"] +anchors_preset = 9 +anchor_bottom = 1.0 +grow_vertical = 2 + +[node name="SideBar Menu" type="MarginContainer" parent="CanvasLayer UI/SideBar"] +layout_mode = 2 + +[node name="Panel" type="Panel" parent="CanvasLayer UI/SideBar/SideBar Menu"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_pwnty") + +[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer UI/SideBar/SideBar Menu"] +custom_minimum_size = Vector2(300, 0) +layout_mode = 2 +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer"] +layout_mode = 2 + +[node name="Label Camera Zoom" type="RichTextLabel" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +layout_mode = 2 +bbcode_enabled = true +text = "[center]Camera Zoom" +fit_content = true + +[node name="HSlider Camera Zoom" type="HSlider" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +layout_mode = 2 +min_value = 2.0 +max_value = 8.0 +step = 0.1 +value = 6.0 + +[node name="ScrollContainer" type="ScrollContainer" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer"] +custom_minimum_size = Vector2(265, 0) +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="ButtonFire" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Fire" + +[node name="ButtonHurricane" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Hurricane" + +[node name="ButtonHyperdrive" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Hyperdrive" + +[node name="ButtonImpact" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Impact" + +[node name="ButtonImplosion" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Implosion" + +[node name="ButtonRain" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Rain" + +[node name="ButtonShield" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Shield" + +[node name="ButtonShockwave" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Shockwave" + +[node name="ButtonSmoke" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Smoke" + +[node name="ButtonSparks" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Sparks" + +[node name="ButtonRingPortal" type="Button" parent="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 24 +toggle_mode = true +button_group = ExtResource("13_k8na1") +text = "Ring Portal" + +[node name="ToggleButton" type="TextureButton" parent="CanvasLayer UI/SideBar"] +custom_minimum_size = Vector2(64, 2.08165e-12) +layout_mode = 2 +texture_normal = ExtResource("12_frhsd") +ignore_texture_size = true +stretch_mode = 4 + [connection signal="value_changed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/HSlider Camera Zoom" to="." method="slider_camera_zoom_value_changed"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonFire" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonHurricane" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonHyperdrive" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonImpact" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonImplosion" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonRain" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonShield" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonShockwave" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonSmoke" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonSparks" to="." method="updateVisibleEffects"] -[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ButtonRingPortal" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonFire" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonHurricane" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonHyperdrive" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonImpact" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonImplosion" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonRain" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonShield" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonShockwave" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonSmoke" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonSparks" to="." method="updateVisibleEffects"] +[connection signal="pressed" from="CanvasLayer UI/SideBar/SideBar Menu/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/ButtonRingPortal" to="." method="updateVisibleEffects"] [connection signal="pressed" from="CanvasLayer UI/SideBar/ToggleButton" to="." method="toggleSideBar"] diff --git a/project.godot b/project.godot index f77130d..7f550f7 100644 --- a/project.godot +++ b/project.godot @@ -15,11 +15,6 @@ run/main_scene="res://particle-effects.tscn" config/features=PackedStringArray("4.2", "C#", "Forward Plus") config/icon="res://icon.svg" -[display] - -window/size/viewport_width=2304 -window/size/viewport_height=1296 - [dotnet] project/assembly_name="godot-visual-effects"