first
4
.editorconfig
Normal file
|
@ -0,0 +1,4 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
/android/
|
BIN
exo1/assets/GroundTile.aseprite
Normal file
BIN
exo1/assets/GroundTile.png
Normal file
After Width: | Height: | Size: 274 B |
34
exo1/assets/GroundTile.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d2ln6in2cciqc"
|
||||
path="res://.godot/imported/GroundTile.png-28d192c8897351185d26f52b7bd4107a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo1/assets/GroundTile.png"
|
||||
dest_files=["res://.godot/imported/GroundTile.png-28d192c8897351185d26f52b7bd4107a.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=1
|
||||
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
|
BIN
exo1/assets/logo-CELL.png
Normal file
After Width: | Height: | Size: 354 KiB |
34
exo1/assets/logo-CELL.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4g6qnykfjdba"
|
||||
path="res://.godot/imported/logo-CELL.png-32c131f8ba4da21dff7740152eee3471.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo1/assets/logo-CELL.png"
|
||||
dest_files=["res://.godot/imported/logo-CELL.png-32c131f8ba4da21dff7740152eee3471.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
|
BIN
exo1/assets/painting_frame.aseprite
Normal file
BIN
exo1/assets/painting_frame.png
Normal file
After Width: | Height: | Size: 598 B |
34
exo1/assets/painting_frame.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b0isklem0n1d1"
|
||||
path="res://.godot/imported/painting_frame.png-b4161477b82cf188b2b3891943bf817a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo1/assets/painting_frame.png"
|
||||
dest_files=["res://.godot/imported/painting_frame.png-b4161477b82cf188b2b3891943bf817a.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
|
18
exo1/cam_follow.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends Camera2D
|
||||
|
||||
@export var lana : Lana
|
||||
@export var lerp_speed := 10
|
||||
|
||||
var target_pos : Vector2
|
||||
|
||||
func _ready() -> void:
|
||||
target_pos = lana.position
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
#var screen_center : Vector2 = get_screen_center_position()
|
||||
var diff := lana.position.x - target_pos.x
|
||||
var screen_size := get_viewport_rect().size.x
|
||||
if abs(diff) > screen_size / 2:
|
||||
target_pos.x += screen_size * sign(diff)
|
||||
|
||||
position.x = lerp(position.x, target_pos.x, lerp_speed*delta)
|
1
exo1/cam_follow.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://dtwr10xf504og
|
515
exo1/exo1.tscn
Normal file
|
@ -0,0 +1,515 @@
|
|||
[gd_scene load_steps=40 format=3 uid="uid://pvjist0vg8ah"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://dvegch8bn85w4" path="res://exo1/shaders/pastouche/ground.gdshader" id="1_nj86p"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2ln6in2cciqc" path="res://exo1/assets/GroundTile.png" id="2_1460h"]
|
||||
[ext_resource type="Script" uid="uid://dtwr10xf504og" path="res://exo1/cam_follow.gd" id="3_dd5tk"]
|
||||
[ext_resource type="PackedScene" uid="uid://hb5qh45e6x1s" path="res://pas_touche/inter_exo/lana.tscn" id="4_j5uwi"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0isklem0n1d1" path="res://exo1/assets/painting_frame.png" id="6_mi18a"]
|
||||
[ext_resource type="Shader" uid="uid://bqkbm7kxjbvbl" path="res://exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader" id="7_q8ng3"]
|
||||
[ext_resource type="Shader" uid="uid://u4ti6qojfd6n" path="res://exo1/shaders/exo1_tableaux/2diagonale.gdshader" id="8_mk50y"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbqjjcli4roq5" path="res://exo1/screenshot_goal/Soluce_Diagonale.png" id="9_0dfpm"]
|
||||
[ext_resource type="Shader" uid="uid://tueskvsn60l0" path="res://exo1/shaders/exo1_tableaux/3circle.gdshader" id="10_56yv0"]
|
||||
[ext_resource type="Texture2D" uid="uid://d8mtqjjcrh7m" path="res://exo1/screenshot_goal/circle.png" id="11_5c586"]
|
||||
[ext_resource type="Shader" uid="uid://uusggwbep2j4" path="res://exo1/shaders/exo1_tableaux/4uv_time.gdshader" id="12_1swba"]
|
||||
[ext_resource type="Shader" uid="uid://clc4aqodbhhv5" path="res://exo1/shaders/exo1_tableaux/5circle_time.gdshader" id="13_ven0y"]
|
||||
[ext_resource type="Shader" uid="uid://03ee6p7b6pnn" path="res://exo1/shaders/exo1_zexemples_jolies/plasma.gdshader" id="14_hyh6e"]
|
||||
[ext_resource type="Shader" uid="uid://d0n6gjxkt6okq" path="res://exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader" id="15_5klk2"]
|
||||
[ext_resource type="Shader" uid="uid://sl1g7w1jmk6x" path="res://exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader" id="16_mpwm1"]
|
||||
[ext_resource type="Shader" uid="uid://bjw6mgbjij8fc" path="res://exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader" id="17_kjdq4"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_fqaua"]
|
||||
interpolation_mode = 2
|
||||
colors = PackedColorArray(0.650128, 0.650128, 0.650128, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_c3ei3"]
|
||||
gradient = SubResource("Gradient_fqaua")
|
||||
height = 1024
|
||||
fill_from = Vector2(1, 1)
|
||||
repeat = 1
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_disjo"]
|
||||
shader = ExtResource("1_nj86p")
|
||||
shader_parameter/skew_amount = 0.25
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_c3ei3"]
|
||||
interpolation_mode = 2
|
||||
colors = PackedColorArray(0.650128, 0.650128, 0.650128, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_u32k3"]
|
||||
gradient = SubResource("Gradient_c3ei3")
|
||||
height = 1024
|
||||
fill_from = Vector2(1, 1)
|
||||
repeat = 1
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_v6q5x"]
|
||||
size = Vector2(4342, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_disjo"]
|
||||
size = Vector2(128, 392.919)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_ipmo5"]
|
||||
font_size = 32
|
||||
font_color = Color(0.10748, 0.10748, 0.10748, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_y65yk"]
|
||||
font_color = Color(0.10748, 0.10748, 0.10748, 1)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_u32k3"]
|
||||
font_color = Color(0.10748, 0.10748, 0.10748, 1)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_l1x0l"]
|
||||
shader = ExtResource("7_q8ng3")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_u32k3"]
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_l1x0l"]
|
||||
gradient = SubResource("Gradient_u32k3")
|
||||
width = 180
|
||||
height = 116
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u32k3"]
|
||||
shader = ExtResource("8_mk50y")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_l1x0l"]
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_m5f4m"]
|
||||
gradient = SubResource("Gradient_l1x0l")
|
||||
width = 180
|
||||
height = 116
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_y65yk"]
|
||||
shader = ExtResource("10_56yv0")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yru7n"]
|
||||
shader = ExtResource("12_1swba")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_nqvhh"]
|
||||
shader = ExtResource("13_ven0y")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2n602"]
|
||||
shader = ExtResource("14_hyh6e")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xyfjg"]
|
||||
shader = ExtResource("15_5klk2")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pj7t7"]
|
||||
shader = ExtResource("16_mpwm1")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_swa6w"]
|
||||
shader = ExtResource("17_kjdq4")
|
||||
|
||||
[node name="Exo1" type="Node2D"]
|
||||
|
||||
[node name="PasTouche" type="Node2D" parent="."]
|
||||
|
||||
[node name="WallBG" type="Node2D" parent="PasTouche"]
|
||||
position = Vector2(-19, -361)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="PasTouche/WallBG"]
|
||||
texture = SubResource("GradientTexture2D_c3ei3")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 10240, 1024)
|
||||
|
||||
[node name="Ground" type="Sprite2D" parent="PasTouche"]
|
||||
texture_filter = 1
|
||||
texture_repeat = 3
|
||||
material = SubResource("ShaderMaterial_disjo")
|
||||
position = Vector2(0, 160)
|
||||
texture = ExtResource("2_1460h")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 8192, 320)
|
||||
|
||||
[node name="LeftWall" type="Sprite2D" parent="PasTouche"]
|
||||
position = Vector2(-2591, 171)
|
||||
rotation = -0.234771
|
||||
texture = SubResource("GradientTexture2D_u32k3")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 1024, 2024)
|
||||
|
||||
[node name="LeftWall2" type="Sprite2D" parent="PasTouche"]
|
||||
position = Vector2(2562, -15.9999)
|
||||
rotation = -0.234771
|
||||
texture = SubResource("GradientTexture2D_u32k3")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 1024, 2024)
|
||||
|
||||
[node name="GlobalCollider" type="StaticBody2D" parent="PasTouche"]
|
||||
|
||||
[node name="Top" type="CollisionShape2D" parent="PasTouche/GlobalCollider"]
|
||||
position = Vector2(0, -11)
|
||||
shape = SubResource("RectangleShape2D_v6q5x")
|
||||
|
||||
[node name="Bottom" type="CollisionShape2D" parent="PasTouche/GlobalCollider"]
|
||||
position = Vector2(0, 324)
|
||||
shape = SubResource("RectangleShape2D_v6q5x")
|
||||
|
||||
[node name="Right" type="CollisionShape2D" parent="PasTouche/GlobalCollider"]
|
||||
position = Vector2(-2140.2, 130.01)
|
||||
rotation = -0.240294
|
||||
shape = SubResource("RectangleShape2D_disjo")
|
||||
|
||||
[node name="Left" type="CollisionShape2D" parent="PasTouche/GlobalCollider"]
|
||||
position = Vector2(2135, 139)
|
||||
rotation = -0.217829
|
||||
shape = SubResource("RectangleShape2D_disjo")
|
||||
|
||||
[node name="CamExo1" type="Camera2D" parent="PasTouche" node_paths=PackedStringArray("lana")]
|
||||
position = Vector2(0, -192)
|
||||
script = ExtResource("3_dd5tk")
|
||||
lana = NodePath("../Lana")
|
||||
lerp_speed = null
|
||||
|
||||
[node name="Lana" parent="PasTouche" instance=ExtResource("4_j5uwi")]
|
||||
position = Vector2(-1670, 126)
|
||||
|
||||
[node name="Tableaux" type="Node2D" parent="."]
|
||||
position = Vector2(-1500, -190)
|
||||
|
||||
[node name="Labels" type="Node2D" parent="Tableaux"]
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/Labels"]
|
||||
offset_left = -645.0
|
||||
offset_top = -305.0
|
||||
offset_right = -259.0
|
||||
offset_bottom = -256.0
|
||||
text = "EXERCICE 1"
|
||||
label_settings = SubResource("LabelSettings_ipmo5")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/Labels/Label"]
|
||||
layout_mode = 0
|
||||
offset_left = 65.0
|
||||
offset_top = 54.0
|
||||
offset_right = 451.0
|
||||
offset_bottom = 207.0
|
||||
text = "On va faire des beaux tableaux
|
||||
et voir la fonction fragment des
|
||||
shaders, pour faire cette exo
|
||||
il suffit juste de modifier les
|
||||
shaders qui sont dans
|
||||
exo1/shaders/exo1_tableaux"
|
||||
label_settings = SubResource("LabelSettings_y65yk")
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/Labels"]
|
||||
offset_left = 462.0
|
||||
offset_top = -305.0
|
||||
offset_right = 848.0
|
||||
offset_bottom = -256.0
|
||||
label_settings = SubResource("LabelSettings_ipmo5")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/Labels/Label2"]
|
||||
layout_mode = 0
|
||||
offset_left = 23.0
|
||||
offset_top = 26.0
|
||||
offset_right = 363.0
|
||||
offset_bottom = 179.0
|
||||
text = "Bon c'est cool COLOR et UV
|
||||
Mais ca bouge pas trop...
|
||||
Autant faire du dessin, c'est bof les shaders.
|
||||
ET BIEN NON
|
||||
Il existe aussi TIME
|
||||
qui permet de faire
|
||||
des trucs rigolos"
|
||||
label_settings = SubResource("LabelSettings_y65yk")
|
||||
|
||||
[node name="Label3" type="Label" parent="Tableaux/Labels"]
|
||||
offset_left = 1123.0
|
||||
offset_top = -282.0
|
||||
offset_right = 1509.0
|
||||
offset_bottom = -233.0
|
||||
text = "Vous avez fini l'exo 1"
|
||||
label_settings = SubResource("LabelSettings_ipmo5")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/Labels/Label3"]
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_top = 54.0
|
||||
offset_right = 426.0
|
||||
offset_bottom = 207.0
|
||||
text = "Bien joue !!
|
||||
Vous etes des vrais artistes!!
|
||||
J'ai mis quelques exemples de tableaux que
|
||||
vous pouvez faire avec un peu plus de temps"
|
||||
label_settings = SubResource("LabelSettings_y65yk")
|
||||
|
||||
[node name="Label4" type="Label" parent="Tableaux/Labels"]
|
||||
offset_left = 2043.0
|
||||
offset_top = -294.0
|
||||
offset_right = 2429.0
|
||||
offset_bottom = -245.0
|
||||
text = "Vers l'exo 2"
|
||||
label_settings = SubResource("LabelSettings_ipmo5")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/Labels/Label4"]
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_top = 54.0
|
||||
offset_right = 426.0
|
||||
offset_bottom = 207.0
|
||||
text = "Bon c'est bien sympa de faire des
|
||||
beaux tableaux mais c'est pas l'utilisation
|
||||
principale des shaders dans les jeux.
|
||||
Dans l'exo 2 on va voir des exemples
|
||||
de trucs plus utiles
|
||||
(cascade, effets sous l'eau etc...)"
|
||||
label_settings = SubResource("LabelSettings_y65yk")
|
||||
|
||||
[node name="UVFrame" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(-229, 59)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/UVFrame"]
|
||||
offset_left = -192.0
|
||||
offset_top = -93.0
|
||||
offset_right = 194.0
|
||||
offset_bottom = -44.0
|
||||
text = "1) Exemple UV"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/UVFrame"]
|
||||
offset_left = -192.0
|
||||
offset_top = 64.0
|
||||
offset_right = 194.0
|
||||
offset_bottom = 113.0
|
||||
text = "1uv_painting_example.gdshader"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="UVPainting" type="Sprite2D" parent="Tableaux/UVFrame"]
|
||||
material = SubResource("ShaderMaterial_l1x0l")
|
||||
texture = SubResource("GradientTexture2D_l1x0l")
|
||||
|
||||
[node name="DiagonaleFrame" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(48, -35)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/DiagonaleFrame"]
|
||||
offset_left = -248.0
|
||||
offset_top = -118.0
|
||||
offset_right = 264.0
|
||||
offset_bottom = -17.0
|
||||
text = "2) Diagonale
|
||||
Essaye de decouper le tableau (comme en haut)
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/DiagonaleFrame"]
|
||||
offset_left = -248.0
|
||||
offset_top = 68.0
|
||||
offset_right = 264.0
|
||||
offset_bottom = 169.0
|
||||
text = "2diagonale.gdshader
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="LinePainting" type="Sprite2D" parent="Tableaux/DiagonaleFrame"]
|
||||
material = SubResource("ShaderMaterial_u32k3")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
||||
|
||||
[node name="ScreenshotGoal" type="Sprite2D" parent="Tableaux/DiagonaleFrame"]
|
||||
position = Vector2(-2, -191)
|
||||
texture = ExtResource("9_0dfpm")
|
||||
|
||||
[node name="CircleFrame" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(348, 31)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/CircleFrame"]
|
||||
offset_left = -253.0
|
||||
offset_top = -118.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = -17.0
|
||||
text = "3) Cercle
|
||||
Fais un cercle (comme en haut)"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/CircleFrame"]
|
||||
offset_left = -253.0
|
||||
offset_top = 69.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 170.0
|
||||
text = "3circle.gdshader
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="CirclePainting" type="Sprite2D" parent="Tableaux/CircleFrame"]
|
||||
material = SubResource("ShaderMaterial_y65yk")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
||||
|
||||
[node name="Circle" type="Sprite2D" parent="Tableaux/CircleFrame"]
|
||||
position = Vector2(3, -193)
|
||||
scale = Vector2(0.42, 0.42)
|
||||
texture = ExtResource("11_5c586")
|
||||
|
||||
[node name="UVFrameTime" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(691, 36)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/UVFrameTime"]
|
||||
offset_left = -192.0
|
||||
offset_top = -93.0
|
||||
offset_right = 194.0
|
||||
offset_bottom = -44.0
|
||||
text = "4) Exemple UV TIME"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/UVFrameTime"]
|
||||
offset_left = -192.0
|
||||
offset_top = 64.0
|
||||
offset_right = 194.0
|
||||
offset_bottom = 113.0
|
||||
text = "4uv_time"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="UVPainting" type="Sprite2D" parent="Tableaux/UVFrameTime"]
|
||||
material = SubResource("ShaderMaterial_yru7n")
|
||||
texture = SubResource("GradientTexture2D_l1x0l")
|
||||
|
||||
[node name="CircleFrameTime" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(933, -28)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/CircleFrameTime"]
|
||||
offset_left = -253.0
|
||||
offset_top = -139.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = -38.0
|
||||
text = "5) Faites des cercles concentriques
|
||||
qui bougent"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/CircleFrameTime"]
|
||||
offset_left = -253.0
|
||||
offset_top = 69.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 170.0
|
||||
text = "3circle.gdshader
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="CirclePainting" type="Sprite2D" parent="Tableaux/CircleFrameTime"]
|
||||
material = SubResource("ShaderMaterial_nqvhh")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
||||
|
||||
[node name="PlasmaFrame" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(1274, 63)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/PlasmaFrame"]
|
||||
offset_left = -253.0
|
||||
offset_top = -95.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 6.0
|
||||
text = "plasma"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/PlasmaFrame"]
|
||||
offset_left = -253.0
|
||||
offset_top = 69.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 170.0
|
||||
text = "zexemples_jolies
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="PlasmaPainting" type="Sprite2D" parent="Tableaux/PlasmaFrame"]
|
||||
material = SubResource("ShaderMaterial_2n602")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
||||
|
||||
[node name="MandelbrotFrame" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(1557, -3)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/MandelbrotFrame"]
|
||||
offset_left = -253.0
|
||||
offset_top = -95.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 6.0
|
||||
text = "mandelbrot zoom"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/MandelbrotFrame"]
|
||||
offset_left = -253.0
|
||||
offset_top = 69.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 170.0
|
||||
text = "zexemples_jolies
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="MandelBrot" type="Sprite2D" parent="Tableaux/MandelbrotFrame"]
|
||||
material = SubResource("ShaderMaterial_xyfjg")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
||||
|
||||
[node name="ZolieUserFrame1" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(1796, -225)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/ZolieUserFrame1"]
|
||||
offset_left = -253.0
|
||||
offset_top = -95.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 6.0
|
||||
text = "Tu peux faire un truc joli ici stv"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/ZolieUserFrame1"]
|
||||
offset_left = -253.0
|
||||
offset_top = 69.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 170.0
|
||||
text = "zexemples_jolies/zolie_user1
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ZolieUser1" type="Sprite2D" parent="Tableaux/ZolieUserFrame1"]
|
||||
material = SubResource("ShaderMaterial_pj7t7")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
||||
|
||||
[node name="ZolieUserFrame2" type="Sprite2D" parent="Tableaux"]
|
||||
position = Vector2(1869, 5)
|
||||
texture = ExtResource("6_mi18a")
|
||||
|
||||
[node name="Label" type="Label" parent="Tableaux/ZolieUserFrame2"]
|
||||
offset_left = -253.0
|
||||
offset_top = -95.0
|
||||
offset_right = 259.0
|
||||
offset_bottom = 6.0
|
||||
text = "Autre truc zolie de ta part"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Tableaux/ZolieUserFrame2"]
|
||||
offset_left = -250.0
|
||||
offset_top = 70.0
|
||||
offset_right = 262.0
|
||||
offset_bottom = 171.0
|
||||
text = "zexemples_jolies/zolie_user2
|
||||
|
||||
"
|
||||
label_settings = SubResource("LabelSettings_u32k3")
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ZolieUser2" type="Sprite2D" parent="Tableaux/ZolieUserFrame2"]
|
||||
material = SubResource("ShaderMaterial_swa6w")
|
||||
texture = SubResource("GradientTexture2D_m5f4m")
|
BIN
exo1/screenshot_goal/Soluce_Diagonale.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
34
exo1/screenshot_goal/Soluce_Diagonale.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bbqjjcli4roq5"
|
||||
path="res://.godot/imported/Soluce_Diagonale.png-1a2fe9e3786537188d4d6ee9f643529c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo1/screenshot_goal/Soluce_Diagonale.png"
|
||||
dest_files=["res://.godot/imported/Soluce_Diagonale.png-1a2fe9e3786537188d4d6ee9f643529c.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
|
BIN
exo1/screenshot_goal/circle.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
34
exo1/screenshot_goal/circle.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d8mtqjjcrh7m"
|
||||
path="res://.godot/imported/circle.png-9e02411ed0fb90fc5237e61e24f1ec8f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo1/screenshot_goal/circle.png"
|
||||
dest_files=["res://.godot/imported/circle.png-9e02411ed0fb90fc5237e61e24f1ec8f.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
|
26
exo1/shaders/exo1_tableaux/1uv_painting_example.gdshader
Normal file
|
@ -0,0 +1,26 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
// Un peu de lecture au debut, mais c'est important !
|
||||
// J'ai fait au plus court pour vous bande de tiktok kids
|
||||
// Mais c'est important et y'a que ca a lire
|
||||
|
||||
void fragment() {
|
||||
|
||||
// La fonction fragment() est appele pour chaque pixel du tableau a chaque frame
|
||||
// Donc ici environ 28980 fois chaque frame, mais le GPU gere sans soucis !
|
||||
// En input hidden, on a une variable global UV
|
||||
// UV est un vecteur (x, y) avec x et y entre 0 et 1
|
||||
// UV represente la position normalized du pixel
|
||||
// (0, 0) c'est en haut a gauche et (1, 1) en bas a droite
|
||||
|
||||
COLOR.rgb = vec3(UV, 0);
|
||||
|
||||
// COLOR est une variable global, c'est un input et un output
|
||||
// C'est la color du pixel qu'on traite
|
||||
// Ici on dit que la couleur : red = UV.x et green = UV.y et blue a 0
|
||||
// Et on voit que en haut a gauche c'est noir, et en bas a droite c'est jaune (red + green)
|
||||
|
||||
// TODO
|
||||
// Fait des petites modifs de la seule ligne de ce programme pour voir ce que ca fait
|
||||
// Mettre blue a 1 ou faire des modifs sur UV etc... testez des trucs !
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
uid://bqkbm7kxjbvbl
|
9
exo1/shaders/exo1_tableaux/2diagonale.gdshader
Normal file
|
@ -0,0 +1,9 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// Called for every pixel the material is visible on.
|
||||
// Deux trucs a utiliser : UV et COLOR
|
||||
// N'hesite pas a poser des questions (sur la syntaxe de glsl par exemple)
|
||||
|
||||
COLOR.rgb = vec3(0, 1, 0);
|
||||
}
|
1
exo1/shaders/exo1_tableaux/2diagonale.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://u4ti6qojfd6n
|
12
exo1/shaders/exo1_tableaux/3circle.gdshader
Normal file
|
@ -0,0 +1,12 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
|
||||
void fragment() {
|
||||
// La fonction length renvoie la longeur d'un vec2, vec3 ou vec4
|
||||
// la syntaxe c'est length(ton vecteur)
|
||||
// ca donne plus une eclipse qu'un cercle
|
||||
// Pour avoir un cercle faudrait normaliser avec TEXTURE_PIXEL_SIZE
|
||||
// (qui donne la taille WIDTH et HEIGHT de notre canvas)
|
||||
COLOR.rgb = vec3(0, 1, 1);
|
||||
}
|
||||
|
1
exo1/shaders/exo1_tableaux/3circle.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://tueskvsn60l0
|
10
exo1/shaders/exo1_tableaux/4uv_time.gdshader
Normal file
|
@ -0,0 +1,10 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// TIME est une variable globale qui contient le temps depuis lequel godot tourne
|
||||
// sin, cos etc... sont super utilise avec TIME
|
||||
// car ca permet d'avoir des trucs periodiques
|
||||
COLOR.rgb = vec3(sin(UV.x + TIME), cos(UV.y + 2.0*TIME), sin(UV.x + UV.y + 3.0*TIME));
|
||||
// parfois sin et cos peuvent valoir moins de 0
|
||||
// Mais c'est pas grave c'
|
||||
}
|
1
exo1/shaders/exo1_tableaux/4uv_time.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://uusggwbep2j4
|
5
exo1/shaders/exo1_tableaux/5circle_time.gdshader
Normal file
|
@ -0,0 +1,5 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// Bon vous avez tout les outils en main, testez des trucs
|
||||
}
|
1
exo1/shaders/exo1_tableaux/5circle_time.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://clc4aqodbhhv5
|
33
exo1/shaders/exo1_zexemples_jolies/mandelbrot.gdshader
Normal file
|
@ -0,0 +1,33 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
const int max_itter = 256;
|
||||
|
||||
const vec2 zoom_center = vec2(-0.74364388703, 0.13182590421);
|
||||
|
||||
int get_mandelbrot_count(vec2 uv, float zoom_factor){
|
||||
vec2 scaled_uv = (uv - vec2(0.5)) * 4.0 * zoom_factor + zoom_center;
|
||||
float c_re = scaled_uv.x;
|
||||
float c_im = scaled_uv.y;
|
||||
|
||||
float re = 0.0;
|
||||
float im = 0.0;
|
||||
|
||||
for (int i = 0; i < max_itter; i++){
|
||||
float t_re = re;
|
||||
re = re*re - im*im + c_re;
|
||||
im = 2.0*im*t_re + c_im;
|
||||
if (re*re + im*im > 4.0){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void fragment() {
|
||||
float smooth_sine = (sin(TIME) * 0.5 + 0.5);
|
||||
float zoom_factor = mix(0.001, 1.0, smoothstep(0.0, 1.0, smooth_sine));
|
||||
int mandelbrot_count = get_mandelbrot_count(UV, zoom_factor);
|
||||
float m_cn = float(mandelbrot_count) / float(max_itter);
|
||||
COLOR.rgb = vec3(m_cn, m_cn*2.0, m_cn*3.0);
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
uid://d0n6gjxkt6okq
|
8
exo1/shaders/exo1_zexemples_jolies/plasma.gdshader
Normal file
|
@ -0,0 +1,8 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
vec2 uv = UV;
|
||||
float v = sin(uv.x * 10.0 + TIME) + sin(uv.y * 10.0 + TIME) + sin((uv.x + uv.y) * 10.0 + TIME);
|
||||
float c = (sin(v) + 1.0) / 2.0;
|
||||
COLOR = vec4(vec3(c, c * 0.5, 1.0 - c), 1.0);
|
||||
}
|
1
exo1/shaders/exo1_zexemples_jolies/plasma.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://03ee6p7b6pnn
|
6
exo1/shaders/exo1_zexemples_jolies/zolie_user.gdshader
Normal file
|
@ -0,0 +1,6 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// Called for every pixel the material is visible on.
|
||||
COLOR.br = UV;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
uid://sl1g7w1jmk6x
|
7
exo1/shaders/exo1_zexemples_jolies/zolie_user2.gdshader
Normal file
|
@ -0,0 +1,7 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
// Called for every pixel the material is visible on.
|
||||
COLOR.gr = UV;
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bjw6mgbjij8fc
|
20
exo1/shaders/pastouche/ground.gdshader
Normal file
|
@ -0,0 +1,20 @@
|
|||
shader_type canvas_item;
|
||||
// ET OUI, MEME LE SOL C'EST UN SHADER
|
||||
// Petite shader juste pour faire un ptit effet de perspective tiled sur le sol
|
||||
// J'avais la flemme de faire des belles textures lol
|
||||
uniform float skew_amount = 0.5;
|
||||
|
||||
void vertex() {
|
||||
// Called for every vertex the material is visible on.
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
vec2 skewed_uv = UV;
|
||||
skewed_uv.x += (1.0 - UV.y) * skew_amount;
|
||||
COLOR = texture(TEXTURE, skewed_uv);
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// // Called for every pixel for every light affecting the CanvasItem.
|
||||
// // Uncomment to replace the default light processing function with this one.
|
||||
//}
|
1
exo1/shaders/pastouche/ground.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://dvegch8bn85w4
|
BIN
exo2/assets/parallax backgound pack/_01_ground.png
Normal file
After Width: | Height: | Size: 82 KiB |
34
exo2/assets/parallax backgound pack/_01_ground.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cyehiyi0vm78q"
|
||||
path="res://.godot/imported/_01_ground.png-51ca074c8ff7b0c88d0409a096dd5812.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_01_ground.png"
|
||||
dest_files=["res://.godot/imported/_01_ground.png-51ca074c8ff7b0c88d0409a096dd5812.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
|
BIN
exo2/assets/parallax backgound pack/_02_trees and bushes.png
Normal file
After Width: | Height: | Size: 129 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d1kw7agartg3r"
|
||||
path="res://.godot/imported/_02_trees and bushes.png-231d9431694cd2e2ac97c3bed7c1dda1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_02_trees and bushes.png"
|
||||
dest_files=["res://.godot/imported/_02_trees and bushes.png-231d9431694cd2e2ac97c3bed7c1dda1.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
|
BIN
exo2/assets/parallax backgound pack/_03_distant_trees.png
Normal file
After Width: | Height: | Size: 59 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://shl14tvqugds"
|
||||
path="res://.godot/imported/_03_distant_trees.png-e0a790a7292da24d040b6952d57004f7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_03_distant_trees.png"
|
||||
dest_files=["res://.godot/imported/_03_distant_trees.png-e0a790a7292da24d040b6952d57004f7.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
|
BIN
exo2/assets/parallax backgound pack/_04_bushes.png
Normal file
After Width: | Height: | Size: 31 KiB |
34
exo2/assets/parallax backgound pack/_04_bushes.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dhynvws72e4uf"
|
||||
path="res://.godot/imported/_04_bushes.png-c3412ceb007dfafc9a8f3f2b89a95eee.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_04_bushes.png"
|
||||
dest_files=["res://.godot/imported/_04_bushes.png-c3412ceb007dfafc9a8f3f2b89a95eee.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
|
BIN
exo2/assets/parallax backgound pack/_05_hill1.png
Normal file
After Width: | Height: | Size: 25 KiB |
34
exo2/assets/parallax backgound pack/_05_hill1.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://fdwjphvawvbf"
|
||||
path="res://.godot/imported/_05_hill1.png-d4281d31d5f789f1e6896b5e48f51057.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_05_hill1.png"
|
||||
dest_files=["res://.godot/imported/_05_hill1.png-d4281d31d5f789f1e6896b5e48f51057.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
|
BIN
exo2/assets/parallax backgound pack/_06_hill2.png
Normal file
After Width: | Height: | Size: 27 KiB |
34
exo2/assets/parallax backgound pack/_06_hill2.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bo0pvl7nyi3wq"
|
||||
path="res://.godot/imported/_06_hill2.png-90cbdcd735040b0d072257b3cbb296e9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_06_hill2.png"
|
||||
dest_files=["res://.godot/imported/_06_hill2.png-90cbdcd735040b0d072257b3cbb296e9.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
|
BIN
exo2/assets/parallax backgound pack/_07_huge_clouds.png
Normal file
After Width: | Height: | Size: 69 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bgknjkq6ph582"
|
||||
path="res://.godot/imported/_07_huge_clouds.png-7a122b5e9a510ed80f846df64b2ab80e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_07_huge_clouds.png"
|
||||
dest_files=["res://.godot/imported/_07_huge_clouds.png-7a122b5e9a510ed80f846df64b2ab80e.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
|
BIN
exo2/assets/parallax backgound pack/_08_clouds.png
Normal file
After Width: | Height: | Size: 18 KiB |
34
exo2/assets/parallax backgound pack/_08_clouds.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://3ahqc2mhbmso"
|
||||
path="res://.godot/imported/_08_clouds.png-9d1e53c3c789f33b541f0f1978023e08.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_08_clouds.png"
|
||||
dest_files=["res://.godot/imported/_08_clouds.png-9d1e53c3c789f33b541f0f1978023e08.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
|
BIN
exo2/assets/parallax backgound pack/_09_distant_clouds1.png
Normal file
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c1rdrrvq8cyd6"
|
||||
path="res://.godot/imported/_09_distant_clouds1.png-07da5b6089e84a998acb6afc814f0be9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_09_distant_clouds1.png"
|
||||
dest_files=["res://.godot/imported/_09_distant_clouds1.png-07da5b6089e84a998acb6afc814f0be9.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
|
BIN
exo2/assets/parallax backgound pack/_10_distant_clouds.png
Normal file
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cek2ji2ndkis5"
|
||||
path="res://.godot/imported/_10_distant_clouds.png-8dda05a69a7d79cb406860d4fd0d6fa3.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_10_distant_clouds.png"
|
||||
dest_files=["res://.godot/imported/_10_distant_clouds.png-8dda05a69a7d79cb406860d4fd0d6fa3.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
|
BIN
exo2/assets/parallax backgound pack/_11_background.png
Normal file
After Width: | Height: | Size: 17 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cdkpfj2ox2lw1"
|
||||
path="res://.godot/imported/_11_background.png-d15e49f45cd964d23fbcc97cb49a1c8a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://exo2/assets/parallax backgound pack/_11_background.png"
|
||||
dest_files=["res://.godot/imported/_11_background.png-d15e49f45cd964d23fbcc97cb49a1c8a.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
|
253
exo2/exo2.tscn
Normal file
|
@ -0,0 +1,253 @@
|
|||
[gd_scene load_steps=26 format=3 uid="uid://b6dp24ttkuo86"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cyehiyi0vm78q" path="res://exo2/assets/parallax backgound pack/_01_ground.png" id="1_xfcy5"]
|
||||
[ext_resource type="Texture2D" uid="uid://d1kw7agartg3r" path="res://exo2/assets/parallax backgound pack/_02_trees and bushes.png" id="2_opxly"]
|
||||
[ext_resource type="Texture2D" uid="uid://shl14tvqugds" path="res://exo2/assets/parallax backgound pack/_03_distant_trees.png" id="3_m53lj"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhynvws72e4uf" path="res://exo2/assets/parallax backgound pack/_04_bushes.png" id="4_0c62v"]
|
||||
[ext_resource type="Texture2D" uid="uid://fdwjphvawvbf" path="res://exo2/assets/parallax backgound pack/_05_hill1.png" id="5_0kksg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bo0pvl7nyi3wq" path="res://exo2/assets/parallax backgound pack/_06_hill2.png" id="6_dq1cv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgknjkq6ph582" path="res://exo2/assets/parallax backgound pack/_07_huge_clouds.png" id="7_yqvhb"]
|
||||
[ext_resource type="Texture2D" uid="uid://3ahqc2mhbmso" path="res://exo2/assets/parallax backgound pack/_08_clouds.png" id="8_etnl4"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1rdrrvq8cyd6" path="res://exo2/assets/parallax backgound pack/_09_distant_clouds1.png" id="9_jrtlg"]
|
||||
[ext_resource type="Texture2D" uid="uid://cek2ji2ndkis5" path="res://exo2/assets/parallax backgound pack/_10_distant_clouds.png" id="10_ck8c7"]
|
||||
[ext_resource type="Texture2D" uid="uid://cdkpfj2ox2lw1" path="res://exo2/assets/parallax backgound pack/_11_background.png" id="11_0y34s"]
|
||||
[ext_resource type="Script" uid="uid://dgakeqjbc0eyv" path="res://pas_touche/inter_exo/lana_exo2.gd" id="13_wtyjt"]
|
||||
[ext_resource type="Texture2D" uid="uid://4g6qnykfjdba" path="res://exo1/assets/logo-CELL.png" id="13_yllor"]
|
||||
[ext_resource type="Shader" uid="uid://bxh7ct2ofg1xy" path="res://exo2/shaders/1_simple_noise_exemple.gdshader" id="14_yllor"]
|
||||
[ext_resource type="Shader" uid="uid://pie6shk758tp" path="res://exo2/shaders/2_read_screen_tex.gdshader" id="15_jp0bh"]
|
||||
[ext_resource type="Shader" uid="uid://djppqek35tujs" path="res://exo2/shaders/3_simple_vertex_shader.gdshader" id="16_0olsu"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_disjo"]
|
||||
radius = 50.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_s3b2g"]
|
||||
size = Vector2(12288, 1024)
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_yllor"]
|
||||
noise_type = 0
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_yllor"]
|
||||
noise = SubResource("FastNoiseLite_yllor")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jp0bh"]
|
||||
shader = ExtResource("14_yllor")
|
||||
shader_parameter/speed = 0.5
|
||||
shader_parameter/noise_tex = SubResource("NoiseTexture2D_yllor")
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_wtyjt"]
|
||||
size = Vector2(500, 500)
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_yllor"]
|
||||
line_spacing = 0.0
|
||||
font_size = 50
|
||||
font_color = Color(0.187176, 0.187176, 0.187176, 1)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0olsu"]
|
||||
shader = ExtResource("15_jp0bh")
|
||||
shader_parameter/new_green_color = Color(0.587817, 0.124166, 0.202083, 1)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pld4h"]
|
||||
shader = ExtResource("16_0olsu")
|
||||
|
||||
[node name="Exo2" type="Node2D"]
|
||||
|
||||
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
|
||||
follow_viewport_enabled = true
|
||||
|
||||
[node name="ParallaxLayer1" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
|
||||
[node name="01Ground" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer1"]
|
||||
texture_repeat = 3
|
||||
position = Vector2(0, 795)
|
||||
texture = ExtResource("1_xfcy5")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 3092)
|
||||
|
||||
[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
motion_scale = Vector2(0.4, 0.4)
|
||||
|
||||
[node name="02TreesAndBushes" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer2"]
|
||||
z_index = -1
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("2_opxly")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
region_filter_clip_enabled = true
|
||||
|
||||
[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
motion_scale = Vector2(0.3, 0.3)
|
||||
|
||||
[node name="03DistantTrees" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer3"]
|
||||
z_index = -2
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("3_m53lj")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer4" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
motion_scale = Vector2(0.2, 0.2)
|
||||
|
||||
[node name="04Bushes" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer4"]
|
||||
z_index = -3
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("4_0c62v")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer5" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
motion_scale = Vector2(0.1, 0.1)
|
||||
|
||||
[node name="05Hill1" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer5"]
|
||||
z_index = -4
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("5_0kksg")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer6" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
motion_scale = Vector2(0.06, 0.06)
|
||||
|
||||
[node name="06Hill2" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer6"]
|
||||
z_index = -5
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("6_dq1cv")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer7" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
z_index = -7
|
||||
motion_scale = Vector2(0.03, 0.03)
|
||||
|
||||
[node name="07HugeClouds" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer7"]
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("7_yqvhb")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer8" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
z_index = -8
|
||||
motion_scale = Vector2(0.02, 0.02)
|
||||
|
||||
[node name="08Clouds" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer8"]
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("8_etnl4")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer9" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
z_index = -7
|
||||
motion_scale = Vector2(0.01, 0.01)
|
||||
|
||||
[node name="09DistantClouds1" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer9"]
|
||||
z_index = -9
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("9_jrtlg")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer10" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
z_index = -10
|
||||
motion_scale = Vector2(0.01, 0.01)
|
||||
|
||||
[node name="10DistantClouds" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer10"]
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("10_ck8c7")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="ParallaxLayer11" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||
z_index = -11
|
||||
|
||||
[node name="11Background" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer11"]
|
||||
texture_repeat = 3
|
||||
texture = ExtResource("11_0y34s")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 12288, 1546)
|
||||
|
||||
[node name="LanaExo2" type="CharacterBody2D" parent="."]
|
||||
position = Vector2(-1137, 417)
|
||||
script = ExtResource("13_wtyjt")
|
||||
|
||||
[node name="Logo-cell" type="Sprite2D" parent="LanaExo2"]
|
||||
rotation = 3.14159
|
||||
scale = Vector2(0.05, 0.05)
|
||||
texture = ExtResource("13_yllor")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="LanaExo2"]
|
||||
position = Vector2(-2, -55)
|
||||
shape = SubResource("CircleShape2D_disjo")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="LanaExo2"]
|
||||
|
||||
[node name="Ground" type="StaticBody2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ground"]
|
||||
position = Vector2(28, 978)
|
||||
shape = SubResource("RectangleShape2D_s3b2g")
|
||||
|
||||
[node name="Shaders" type="Node2D" parent="."]
|
||||
|
||||
[node name="1_SimpleNoiseTex" type="MeshInstance2D" parent="Shaders"]
|
||||
material = SubResource("ShaderMaterial_jp0bh")
|
||||
position = Vector2(-577, 289)
|
||||
mesh = SubResource("QuadMesh_wtyjt")
|
||||
|
||||
[node name="Label2" type="Label" parent="Shaders/1_SimpleNoiseTex"]
|
||||
offset_left = -333.0
|
||||
offset_top = -703.0
|
||||
offset_right = 1299.0
|
||||
offset_bottom = -220.0
|
||||
text = "1) Lecture de texture
|
||||
|
||||
Bon tu connais la chanson, va dans shaders et
|
||||
clique sur le shader avec 1 devant
|
||||
|
||||
Lis bien les commentaires du code ! (y'a un TODO)"
|
||||
label_settings = SubResource("LabelSettings_yllor")
|
||||
|
||||
[node name="2_ReadScreenTex" type="MeshInstance2D" parent="Shaders"]
|
||||
material = SubResource("ShaderMaterial_0olsu")
|
||||
position = Vector2(747, 189)
|
||||
mesh = SubResource("QuadMesh_wtyjt")
|
||||
|
||||
[node name="Label3" type="Label" parent="Shaders/2_ReadScreenTex"]
|
||||
offset_left = -233.0
|
||||
offset_top = -635.0
|
||||
offset_right = 1399.0
|
||||
offset_bottom = -221.0
|
||||
text = "2) Texture d'ecran
|
||||
|
||||
Bouge le noeud 2_ReadScreenTex
|
||||
sur l'ecran. Qu'est-ce qui se passe ? Va dans le shaders,
|
||||
et lis les commentaires
|
||||
(y'a un TODO)"
|
||||
label_settings = SubResource("LabelSettings_yllor")
|
||||
|
||||
[node name="3_SimpleVertexShader" type="MeshInstance2D" parent="Shaders"]
|
||||
material = SubResource("ShaderMaterial_pld4h")
|
||||
position = Vector2(2363, 189)
|
||||
mesh = SubResource("QuadMesh_wtyjt")
|
||||
|
||||
[node name="Label3" type="Label" parent="Shaders/3_SimpleVertexShader"]
|
||||
offset_left = -233.0
|
||||
offset_top = -635.0
|
||||
offset_right = 1399.0
|
||||
offset_bottom = -221.0
|
||||
text = "3) Simple vertex shader
|
||||
|
||||
Regarde le code
|
||||
et lis les commentaires
|
||||
(y'a un TODO)"
|
||||
label_settings = SubResource("LabelSettings_yllor")
|
||||
|
||||
[node name="Labels" type="Node2D" parent="Shaders"]
|
||||
|
||||
[node name="Label" type="Label" parent="Shaders/Labels"]
|
||||
offset_left = -2214.0
|
||||
offset_top = -324.0
|
||||
offset_right = -582.0
|
||||
offset_bottom = -117.0
|
||||
text = "Bienvenue dans l'exo 2 !
|
||||
Finit les tableaux, on va voir des shaders plus
|
||||
utiles et interessants !"
|
||||
label_settings = SubResource("LabelSettings_yllor")
|
18
exo2/scripts/cam_follow.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends Camera2D
|
||||
|
||||
@export var lana : Lana
|
||||
@export var lerp_speed := 10
|
||||
|
||||
var target_pos : Vector2
|
||||
|
||||
func _ready() -> void:
|
||||
target_pos = lana.position
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
#var screen_center : Vector2 = get_screen_center_position()
|
||||
var diff := lana.position.x - target_pos.x
|
||||
var screen_size := get_viewport_rect().size.x
|
||||
if abs(diff) > screen_size / 2:
|
||||
target_pos.x += screen_size * sign(diff)
|
||||
|
||||
position.x = lerp(position.x, target_pos.x, lerp_speed*delta)
|
1
exo2/scripts/cam_follow.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://0cv88akfi7rx
|
22
exo2/shaders/1_simple_noise_exemple.gdshader
Normal file
|
@ -0,0 +1,22 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
// Uniform c'est comme les exports en gdscripts. Pour y avoir acces et les changer :
|
||||
// Va dans l'inspecteur de Exo2/Shaders/1_SimpleNoiseTex (dans ta scene)
|
||||
// Va dans la partie CanvasItem
|
||||
// Clique sur Material (de canvasItem fais attention)
|
||||
// Clique sur l'onglet Shader Parameters
|
||||
uniform float speed;
|
||||
uniform sampler2D noise_tex : repeat_enable;
|
||||
|
||||
|
||||
void fragment() {
|
||||
vec2 new_uv = UV + speed * TIME * vec2(1, 1);
|
||||
COLOR.a = texture(noise_tex, new_uv).r;
|
||||
// Color.a c'est l'alpha. alpha de 0 : l'objet est transparent. alpha de 1 l'objet est visible
|
||||
// .r car la texture renvoie une couleur, et on veut juste un float
|
||||
}
|
||||
// Change un peu les parametres, voir ce que ca fait.
|
||||
// TODO :
|
||||
// Change la couleur, je veux du bleu pas du blanc.
|
||||
// Dans Noise Tex, change le Noise Type.
|
||||
// Je pense Cellular donne un bon truc
|
1
exo2/shaders/1_simple_noise_exemple.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://bxh7ct2ofg1xy
|
34
exo2/shaders/2_read_screen_tex.gdshader
Normal file
|
@ -0,0 +1,34 @@
|
|||
shader_type canvas_item;
|
||||
render_mode blend_disabled;
|
||||
|
||||
// On definit un uniform, donc quelque chose que le shader a en input
|
||||
// ici hint_screen_texture signifie qu'on recupere la texture de l'ecran
|
||||
// repeat_disable qu'on souhaite pas que la texture soit infinie et se repete
|
||||
// filter_nearest qu'on veut pas d'interpolation bizzare
|
||||
uniform sampler2D screen_tex : hint_screen_texture, repeat_disable, filter_nearest;
|
||||
uniform vec3 new_green_color : source_color;
|
||||
|
||||
void fragment() {
|
||||
// Called for every pixel the material is visible on.
|
||||
vec3 screen_color = texture(screen_tex, SCREEN_UV).rgb;
|
||||
// Le produit scalaire (dot) est tres utile pour avoir une sorte de distance entre deux vecteurs
|
||||
// On veut savoir si le pixel derriere est vert,
|
||||
// donc on compare ca au vecteur vert rgb normalize (vec3(0, 1, 0))
|
||||
bool is_green = dot(normalize(screen_color), vec3(0, 1, 0)) > 0.69;
|
||||
if (is_green){
|
||||
// Moyenne ponderee, pour eviter d'avoir que du rouge (trop flat)
|
||||
COLOR.rgb = (3.0*new_green_color + screen_color)/4.0;
|
||||
}
|
||||
else{
|
||||
COLOR.rgb = screen_color;
|
||||
}
|
||||
// TODO
|
||||
// Ajoute du bruit, je veux que les feuilles aient du bruit
|
||||
// Ajoute une sorte de cadre, je veux bien voir les bordures de l'effet
|
||||
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// // Called for every pixel for every light affecting the CanvasItem.
|
||||
// // Uncomment to replace the default light processing function with this one.
|
||||
//}
|
1
exo2/shaders/2_read_screen_tex.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://pie6shk758tp
|
14
exo2/shaders/3_simple_vertex_shader.gdshader
Normal file
|
@ -0,0 +1,14 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void vertex() {
|
||||
VERTEX.y = sin(TIME);
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// 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.
|
||||
//}
|
1
exo2/shaders/3_simple_vertex_shader.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://djppqek35tujs
|
BIN
exo2/shaders/Pixel Adventure 1.zip
Normal file
1
icon.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
After Width: | Height: | Size: 994 B |
37
icon.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://db278do6o60up"
|
||||
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.svg"
|
||||
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
19
pas_touche/inter_exo/lana.tscn
Normal file
|
@ -0,0 +1,19 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://hb5qh45e6x1s"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b45k3pjypqcv2" path="res://pas_touche/scripts/lana.gd" id="1_7rpys"]
|
||||
[ext_resource type="Texture2D" uid="uid://4g6qnykfjdba" path="res://exo1/assets/logo-CELL.png" id="2_ge1bf"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_disjo"]
|
||||
radius = 71.0282
|
||||
|
||||
[node name="Lana" type="CharacterBody2D"]
|
||||
script = ExtResource("1_7rpys")
|
||||
speed = 150.0
|
||||
|
||||
[node name="Logo-cell" type="Sprite2D" parent="."]
|
||||
rotation = 3.14159
|
||||
scale = Vector2(0.05, 0.05)
|
||||
texture = ExtResource("2_ge1bf")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_disjo")
|
18
pas_touche/inter_exo/lana_exo2.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends CharacterBody2D
|
||||
class_name LanaExo2
|
||||
|
||||
@export var speed := 100.0
|
||||
@export var gravity := 9.8
|
||||
@export var jump_velocity := -400.0
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var horizontal : float = Input.get_axis("left", "right")
|
||||
|
||||
if not is_on_floor():
|
||||
velocity.y += gravity
|
||||
|
||||
if Input.is_action_just_pressed("jump") && is_on_floor():
|
||||
velocity.y += jump_velocity
|
||||
|
||||
velocity.x = horizontal * speed
|
||||
move_and_slide()
|
1
pas_touche/inter_exo/lana_exo2.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://dgakeqjbc0eyv
|
11
pas_touche/scripts/lana.gd
Normal file
|
@ -0,0 +1,11 @@
|
|||
extends CharacterBody2D
|
||||
class_name Lana
|
||||
|
||||
@export var speed := 100.0
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var horizontal : float = Input.get_axis("left", "right")
|
||||
var vertical : float = Input.get_axis("top", "bottom")
|
||||
|
||||
velocity = Vector2(horizontal, vertical).normalized() * speed
|
||||
move_and_slide()
|
1
pas_touche/scripts/lana.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://b45k3pjypqcv2
|
63
project.godot
Normal file
|
@ -0,0 +1,63 @@
|
|||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="format_shaders"
|
||||
run/main_scene="uid://b6dp24ttkuo86"
|
||||
config/features=PackedStringArray("4.4", "GL Compatibility")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[input]
|
||||
|
||||
right={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
left={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
top={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
bottom={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
action1={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
action2={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
jump={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[rendering]
|
||||
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
renderer/rendering_method.mobile="gl_compatibility"
|