Many Many Updates

This commit is contained in:
The 64th Gamer 2025-04-07 20:16:09 -06:00
parent 1608b8f6f5
commit 8359479243
50 changed files with 807 additions and 66 deletions

12
Materials/Black Hair.tres Normal file
View file

@ -0,0 +1,12 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://2a27fe7w8jef"]
[resource]
albedo_color = Color(0.0666928, 0.0646792, 0.0591421, 1)
metallic = 1.0
roughness = 0.41
normal_enabled = true
anisotropy_enabled = true
subsurf_scatter_enabled = true
subsurf_scatter_strength = 1.0
subsurf_scatter_transmittance_depth = 3.016
subsurf_scatter_transmittance_boost = 1.0

39
Materials/Chica.gdshader Normal file
View file

@ -0,0 +1,39 @@
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
uniform sampler2D diffuse_texture;
uniform sampler2D normal_map: hint_normal;
uniform float normal_scale : hint_range(-16.0, 16.0);
uniform sampler2D mask_map;
uniform sampler2D paint_map;
uniform vec3 paint_color_r : source_color;
uniform vec3 paint_color_g: source_color;
uniform vec3 paint_color_b: source_color;
uniform vec3 paint_color_a: source_color;
void fragment() {
vec2 uv = UV;
vec4 base_color = texture(diffuse_texture, uv);
vec4 paint = texture(paint_map, uv);
vec4 masks = texture(mask_map, uv);
// Mix base with paint colors by channels
vec3 paint_result = base_color.rgb;
paint_result = mix(paint_result, paint_color_r, paint.r);
paint_result = mix(paint_result, paint_color_g, paint.g);
paint_result = mix(paint_result, paint_color_b, paint.b);
paint_result = mix(paint_result, paint_color_a, paint.a);
ALBEDO = paint_result;
EMISSION = paint_result * masks.b;
ROUGHNESS = masks.g;
METALLIC = masks.r;
NORMAL_MAP = texture(normal_map, uv).rgb;
NORMAL_MAP_DEPTH = normal_scale;
}

View file

@ -0,0 +1 @@
uid://des8a3glk3x31

20
Materials/Chica.tres Normal file
View file

@ -0,0 +1,20 @@
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://b51m30fupimsx"]
[ext_resource type="Shader" uid="uid://des8a3glk3x31" path="res://Materials/Chica.gdshader" id="1_g0agl"]
[ext_resource type="Texture2D" uid="uid://fldji252qpey" path="res://Textures/Chica_Main.png" id="2_72hyw"]
[ext_resource type="Texture2D" uid="uid://cev65j6tjoli8" path="res://Textures/Chica_MaskMap.png" id="3_6qvbf"]
[ext_resource type="Texture2D" uid="uid://bnrc4uavbcu8f" path="res://Textures/Chica_NormalMap.png" id="4_wheg1"]
[ext_resource type="Texture2D" uid="uid://c6rqou6artl3b" path="res://Textures/Chica_PaintMap.png" id="5_vlian"]
[resource]
render_priority = 0
shader = ExtResource("1_g0agl")
shader_parameter/diffuse_texture = ExtResource("2_72hyw")
shader_parameter/normal_map = ExtResource("4_wheg1")
shader_parameter/normal_scale = 1.0
shader_parameter/mask_map = ExtResource("3_6qvbf")
shader_parameter/paint_map = ExtResource("5_vlian")
shader_parameter/paint_color_r = Color(0.901961, 0.745098, 0.239216, 1)
shader_parameter/paint_color_g = Color(0.85098, 0.533333, 0.254902, 1)
shader_parameter/paint_color_b = Color(0.647059, 0.12549, 0.0980392, 1)
shader_parameter/paint_color_a = Color(0, 0, 0, 1)

View file

@ -0,0 +1,12 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://bimexjbcml72"]
[resource]
albedo_color = Color(0.901961, 0.745098, 0.239216, 1)
metallic = 1.0
roughness = 0.41
normal_enabled = true
anisotropy_enabled = true
subsurf_scatter_enabled = true
subsurf_scatter_strength = 1.0
subsurf_scatter_transmittance_depth = 3.016
subsurf_scatter_transmittance_boost = 1.0

Binary file not shown.

View file

@ -0,0 +1,57 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://m7s5j51nrkg1"
path="res://.godot/imported/Chica.fbx-d7cc11b983dd0e55edccc1e316069a29.scn"
[deps]
source_file="res://Models/Animatronics/Chica/Chica.fbx"
dest_files=["res://.godot/imported/Chica.fbx-d7cc11b983dd0e55edccc1e316069a29.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"materials": {
"Chica Main": {
"use_external/enabled": true,
"use_external/path": "uid://b51m30fupimsx"
},
"Material.017": {
"use_external/enabled": true,
"use_external/path": "uid://2a27fe7w8jef"
},
"hair yellow": {
"use_external/enabled": true,
"use_external/path": "uid://bimexjbcml72"
},
"hair yellow.001": {
"use_external/enabled": true,
"use_external/path": "uid://2a27fe7w8jef"
}
}
}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

View file

@ -0,0 +1,19 @@
[gd_scene load_steps=5 format=3 uid="uid://cry2msqosqx0u"]
[ext_resource type="PackedScene" uid="uid://m7s5j51nrkg1" path="res://Models/Animatronics/Chica/Chica.fbx" id="1_4j8or"]
[ext_resource type="Script" uid="uid://iqrmm33dxvui" path="res://Scripts/GL_Animatronic.gd" id="1_vcqxk"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vcqxk"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_aslrn"]
graph_offset = Vector2(-475.5, -2.24493)
nodes/Animation/node = SubResource("AnimationNodeAnimation_vcqxk")
nodes/Animation/position = Vector2(-180, 120)
[node name="Chica" type="Node3D" groups=["AA_CHICA"]]
script = ExtResource("1_vcqxk")
[node name="Chica" parent="." instance=ExtResource("1_4j8or")]
[node name="AnimationTree" type="AnimationTree" parent="."]
tree_root = SubResource("AnimationNodeBlendTree_aslrn")

Binary file not shown.

View file

@ -0,0 +1,91 @@
[gd_scene load_steps=9 format=3 uid="uid://doe47bro2kqt6"]
[ext_resource type="PackedScene" uid="uid://cry2msqosqx0u" path="res://Scenes/Animatables/Chica.tscn" id="1_5nprb"]
[ext_resource type="Script" uid="uid://8vyuhyx0xogt" path="res://Scripts/freecam.gd" id="2_stiks"]
[ext_resource type="VoxelGIData" uid="uid://ckgscns47hws6" path="res://Scenes/Levels/Freddy's.VoxelGI_data.res" id="3_1u053"]
[ext_resource type="Script" uid="uid://c5uawj66escut" path="res://Scripts/GL_Spotlight.gd" id="3_2ymb8"]
[ext_resource type="PackedScene" uid="uid://c57u187iciexi" path="res://Scenes/UI/Node Map.tscn" id="5_h0i1e"]
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_stiks"]
[sub_resource type="PlaneMesh" id="PlaneMesh_1u053"]
[sub_resource type="Environment" id="Environment_h0i1e"]
background_mode = 1
tonemap_mode = 4
ssr_enabled = true
ssao_enabled = true
ssil_enabled = true
ssil_intensity = 3.0
glow_enabled = true
fog_enabled = true
fog_light_color = Color(0, 0, 0, 1)
[node name="Freddy\'s" type="Node3D"]
[node name="World Boundary" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0211427, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="World Boundary"]
shape = SubResource("WorldBoundaryShape3D_stiks")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(5, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0)
mesh = SubResource("PlaneMesh_1u053")
[node name="Chica" parent="." instance=ExtResource("1_5nprb")]
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 4.76837e-07, 1.47296, -2.35951)
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.42203, 4.45495, 0.192916)
light_energy = 0.575
light_size = 0.106
shadow_enabled = true
omni_range = 8.156
omni_attenuation = 2.0
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.87906, 4.18335, 0.548465)
light_size = 0.106
shadow_enabled = true
omni_range = 8.156
omni_attenuation = 2.0
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.975392, 4.18335, -5.09868)
light_size = 0.106
shadow_enabled = true
omni_range = 8.156
omni_attenuation = 2.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_h0i1e")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.01889, 2.26498, -0.257163)
script = ExtResource("2_stiks")
toggle_key = 4194305
overlay_text = false
[node name="SpotLight3D" type="SpotLight3D" parent="."]
transform = Transform3D(0.976123, 0.0551107, -0.210113, -0.00945105, 0.97714, 0.212388, 0.217015, -0.205331, 0.954329, -0.581223, 3.60596, 4.08111)
light_color = Color(0.944285, 0.839984, 0.7003, 1)
light_energy = 500.0
light_size = 0.124
shadow_enabled = true
spot_range = 7.605
spot_attenuation = 2.0
spot_angle = 5.59
spot_angle_attenuation = 0.329877
[node name="Node" type="Node" parent="SpotLight3D" groups=["L_SPOT_CHICA"]]
script = ExtResource("3_2ymb8")
canChangeColor = true
canChangeSize = true
[node name="ReflectionProbe" type="ReflectionProbe" parent="."]
[node name="VoxelGI" type="VoxelGI" parent="."]
data = ExtResource("3_1u053")
[node name="NodeMap" parent="." instance=ExtResource("5_h0i1e")]

View file

@ -0,0 +1,20 @@
[gd_scene load_steps=3 format=3 uid="uid://d4gx38pme7hnp"]
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_6fnvm"]
[ext_resource type="Script" uid="uid://t8bsiegtsiwo" path="res://Scripts/GL_Output.gd" id="2_6fnvm"]
[node name="Node" type="Control"]
layout_mode = 3
anchors_preset = 0
mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_6fnvm")]
layout_mode = 0
offset_bottom = 100.0
script = ExtResource("2_6fnvm")
identification = "AA_CHICA"
names = PackedStringArray("Jaw")
types = PackedStringArray("float")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]
[connection signal="mouse_exited" from="Node" to="Node" method="mouse_exit"]

View file

@ -0,0 +1,20 @@
[gd_scene load_steps=3 format=3 uid="uid://dxay21t1j6ha1"]
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_vck43"]
[ext_resource type="Script" uid="uid://t8bsiegtsiwo" path="res://Scripts/GL_Output.gd" id="2_1p1hk"]
[node name="Node" type="Control"]
layout_mode = 3
anchors_preset = 0
mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_vck43")]
layout_mode = 0
offset_bottom = 100.0
script = ExtResource("2_1p1hk")
identification = "L_SPOT_CHICA"
names = PackedStringArray("intensity", "color", "size")
types = PackedStringArray("float", "color", "float")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]
[connection signal="mouse_exited" from="Node" to="Node" method="mouse_exit"]

View file

@ -3,14 +3,13 @@
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_cnobp"] [ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_cnobp"]
[ext_resource type="Script" uid="uid://b325grg0122jn" path="res://Scripts/GL_Float.gd" id="2_cnobp"] [ext_resource type="Script" uid="uid://b325grg0122jn" path="res://Scripts/GL_Float.gd" id="2_cnobp"]
[node name="Sine" type="Control"] [node name="Node" type="Control"]
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
mouse_filter = 1 mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_cnobp")] [node name="Node" parent="." instance=ExtResource("1_cnobp")]
layout_mode = 0 layout_mode = 0
offset_right = 200.0
script = ExtResource("2_cnobp") script = ExtResource("2_cnobp")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"] [connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]

View file

@ -0,0 +1,16 @@
[gd_scene load_steps=3 format=3 uid="uid://cbd4dlsco2wls"]
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_lgcd0"]
[ext_resource type="Script" uid="uid://dhw0vlsb0bb8r" path="res://Scripts/GL_Keystroke_Ramp.gd" id="2_lgcd0"]
[node name="Node" type="Control"]
layout_mode = 3
anchors_preset = 0
mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_lgcd0")]
layout_mode = 0
script = ExtResource("2_lgcd0")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]
[connection signal="mouse_exited" from="Node" to="Node" method="mouse_exit"]

View file

@ -0,0 +1,16 @@
[gd_scene load_steps=3 format=3 uid="uid://jmwqwspljwjc"]
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_ua37n"]
[ext_resource type="Script" uid="uid://e6v6exlrhtaq" path="res://Scripts/GL_Keystrokes.gd" id="2_ua37n"]
[node name="Node" type="Control"]
layout_mode = 3
anchors_preset = 0
mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_ua37n")]
layout_mode = 0
script = ExtResource("2_ua37n")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]
[connection signal="mouse_exited" from="Node" to="Node" method="mouse_exit"]

View file

@ -0,0 +1,16 @@
[gd_scene load_steps=3 format=3 uid="uid://c2wexxs2psg84"]
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_4ojwp"]
[ext_resource type="Script" uid="uid://dum3u4w3aa3s0" path="res://Scripts/GL_Mix_Colors.gd" id="2_4ojwp"]
[node name="Node" type="Control"]
layout_mode = 3
anchors_preset = 0
mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_4ojwp")]
layout_mode = 0
script = ExtResource("2_4ojwp")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]
[connection signal="mouse_exited" from="Node" to="Node" method="mouse_exit"]

View file

@ -3,14 +3,14 @@
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_wswgt"] [ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_wswgt"]
[ext_resource type="Script" uid="uid://3vek1806nwqj" path="res://Scripts/GL_Random.gd" id="2_wswgt"] [ext_resource type="Script" uid="uid://3vek1806nwqj" path="res://Scripts/GL_Random.gd" id="2_wswgt"]
[node name="Sine" type="Control"] [node name="Node" type="Control"]
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
mouse_filter = 1 mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_wswgt")] [node name="Node" parent="." instance=ExtResource("1_wswgt")]
layout_mode = 0 layout_mode = 0
offset_right = 200.0 offset_bottom = 100.0
script = ExtResource("2_wswgt") script = ExtResource("2_wswgt")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"] [connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]

View file

@ -3,14 +3,14 @@
[ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_m6pki"] [ext_resource type="PackedScene" uid="uid://b0arjg8r75f8y" path="res://Scenes/Nodes/Node.tscn" id="1_m6pki"]
[ext_resource type="Script" uid="uid://cetd8fp5y2ls0" path="res://Scripts/GL_Sine.gd" id="2_claki"] [ext_resource type="Script" uid="uid://cetd8fp5y2ls0" path="res://Scripts/GL_Sine.gd" id="2_claki"]
[node name="Sine" type="Control"] [node name="Node" type="Control"]
layout_mode = 3 layout_mode = 3
anchors_preset = 0 anchors_preset = 0
mouse_filter = 1 mouse_filter = 1
[node name="Node" parent="." instance=ExtResource("1_m6pki")] [node name="Node" parent="." instance=ExtResource("1_m6pki")]
layout_mode = 0 layout_mode = 0
offset_right = 200.0 offset_bottom = 100.0
script = ExtResource("2_claki") script = ExtResource("2_claki")
[connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"] [connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"]

View file

@ -15,10 +15,8 @@ script = ExtResource("1_fygh4")
[node name="Label" type="Label" parent="."] [node name="Label" type="Label" parent="."]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 1 mouse_filter = 1
text = "Testtesttesttesttest" text = "Testtesttesttesttest"
clip_text = true
[node name="Pick Float" type="HSlider" parent="."] [node name="Pick Float" type="HSlider" parent="."]
visible = false visible = false

View file

@ -2,20 +2,18 @@
[ext_resource type="Theme" uid="uid://b3wjoiiv6sq22" path="res://UI/Themes/Default.tres" id="1_arhwt"] [ext_resource type="Theme" uid="uid://b3wjoiiv6sq22" path="res://UI/Themes/Default.tres" id="1_arhwt"]
[node name="Node" type="Panel"] [node name="Node" type="PanelContainer"]
clip_contents = true
custom_minimum_size = Vector2(200, 100) custom_minimum_size = Vector2(200, 100)
offset_right = 200.0 offset_right = 200.0
offset_bottom = 50.0 offset_bottom = 100.0
size_flags_horizontal = 3
size_flags_vertical = 3
mouse_default_cursor_shape = 6 mouse_default_cursor_shape = 6
theme = ExtResource("1_arhwt") theme = ExtResource("1_arhwt")
[node name="Margins" type="MarginContainer" parent="."] [node name="Margins" type="MarginContainer" parent="."]
layout_mode = 1 layout_mode = 2
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Holder" type="VBoxContainer" parent="Margins"] [node name="Holder" type="VBoxContainer" parent="Margins"]
layout_mode = 2 layout_mode = 2

View file

@ -1,7 +1,14 @@
[gd_scene load_steps=2 format=3 uid="uid://c57u187iciexi"] [gd_scene load_steps=5 format=3 uid="uid://c57u187iciexi"]
[ext_resource type="Script" uid="uid://i4p62x8fnqpn" path="res://Scripts/GL_Node_Map.gd" id="1_jyqbx"]
[ext_resource type="PackedScene" uid="uid://mowdu1i1rldt" path="res://Scenes/UI/Search.tscn" id="1_xwfut"] [ext_resource type="PackedScene" uid="uid://mowdu1i1rldt" path="res://Scenes/UI/Search.tscn" id="1_xwfut"]
[sub_resource type="Gradient" id="Gradient_xwfut"]
colors = PackedColorArray(0.448074, 0.0582233, 0.099986, 1, 0.330802, 0.066494, 0.0423852, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_jyqbx"]
gradient = SubResource("Gradient_xwfut")
[node name="NodeMap" type="Control"] [node name="NodeMap" type="Control"]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
@ -9,6 +16,16 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_jyqbx")
[node name="Background" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("GradientTexture1D_jyqbx")
[node name="Search" parent="." instance=ExtResource("1_xwfut")] [node name="Search" parent="." instance=ExtResource("1_xwfut")]
layout_mode = 1 layout_mode = 1

5
Scripts/GL_Animatable.gd Normal file
View file

@ -0,0 +1,5 @@
extends Node
class_name GL_Animatable
func _sent_signals(signal_ID:String,the_signal):
pass

View file

@ -0,0 +1 @@
uid://hetlgruo7m0b

22
Scripts/GL_Animatronic.gd Normal file
View file

@ -0,0 +1,22 @@
extends GL_Animatable
var anim_tree: AnimationTree
var blend_tree: AnimationNodeBlendTree
# Assuming this node has a child node with an AnimationPlayer
func _ready():
# Grab the AnimationPlayer from the first child
var anim_player := get_child(0).get_node("AnimationPlayer") as AnimationPlayer
# Initialize the AnimationTree and set up the blend tree
anim_tree = AnimationTree.new()
add_child(anim_tree)
# Create and assign the root node for the blend tree
anim_tree.tree_root = AnimationNodeBlendTree.new()
anim_tree.active = true
blend_tree = anim_tree.tree_root as AnimationNodeBlendTree
func _sent_signals(anim_name: String, value: float):
pass

View file

@ -0,0 +1 @@
uid://iqrmm33dxvui

View file

@ -0,0 +1,50 @@
extends GL_Node
var key_to_value = {
KEY_1: 1.0 / 10,
KEY_2: 2.0 / 10,
KEY_3: 3.0 / 10,
KEY_4: 4.0 / 10,
KEY_5: 5.0 / 10,
KEY_6: 6.0 / 10,
KEY_7: 7.0 / 10,
KEY_8: 8.0 / 10,
KEY_9: 9.0 / 10,
KEY_0: 1.0,
}
var toggle_to_value = {
KEY_1: 0,
KEY_2: 1.0 / 9,
KEY_3: 2.0 / 9,
KEY_4: 3.0 / 9,
KEY_5: 4.0 / 9,
KEY_6: 5.0 / 9,
KEY_7: 6.0 / 9,
KEY_8: 7.0 / 9,
KEY_9: 8.0 / 9,
KEY_0: 1.0,
}
func _ready():
_set_title("Keystroke Ramp")
_create_row("Output", null, 0.0, false, 0.0, 0)
_create_row("Toggle", null, null, true, false, 0)
func _process(delta):
super._process(delta)
if rows["Toggle"]["pickValue"]:
for key in toggle_to_value.keys():
if Input.is_key_pressed(key) or Input.is_key_pressed(key + (KEY_KP_0 - KEY_0)):
rows["Output"]["output"] = toggle_to_value[key]
break
else:
var output_value := 0.0
for key in key_to_value.keys():
if Input.is_key_pressed(key) or Input.is_key_pressed(key + (KEY_KP_0 - KEY_0)):
output_value = key_to_value[key]
break
rows["Output"]["output"] = output_value
_send_input("Output")

View file

@ -0,0 +1 @@
uid://dhw0vlsb0bb8r

35
Scripts/GL_Keystrokes.gd Normal file
View file

@ -0,0 +1,35 @@
extends GL_Node
func _ready():
_set_title("Keystrokes")
_create_row("KEY #1",null,false,false,0.0,1)
_create_row("KEY #2",null,false,false,0.0,1)
_create_row("KEY #3",null,false,false,0.0,1)
_create_row("KEY #4",null,false,false,0.0,1)
_create_row("KEY #5",null,false,false,0.0,1)
_create_row("KEY #6",null,false,false,0.0,1)
_create_row("KEY #7",null,false,false,0.0,1)
_create_row("KEY #8",null,false,false,0.0,1)
_create_row("KEY #9",null,false,false,0.0,1)
_create_row("KEY #0",null,false,false,0.0,1)
pass
func _process(delta):
super._process(delta)
var key_map = {
"KEY #1": KEY_1,
"KEY #2": KEY_2,
"KEY #3": KEY_3,
"KEY #4": KEY_4,
"KEY #5": KEY_5,
"KEY #6": KEY_6,
"KEY #7": KEY_7,
"KEY #8": KEY_8,
"KEY #9": KEY_9,
"KEY #0": KEY_0,
}
for key_name in key_map.keys():
var is_pressed = Input.is_key_pressed(key_map[key_name]) or Input.is_key_pressed(key_map[key_name] + (KEY_KP_0 - KEY_0))
rows[key_name]["output"] = is_pressed
_send_input(key_name)

View file

@ -0,0 +1 @@
uid://e6v6exlrhtaq

18
Scripts/GL_Mix_Colors.gd Normal file
View file

@ -0,0 +1,18 @@
extends GL_Node
func _ready():
_set_title("Mix Colors")
_create_row("Factor",0.0,Color.WHITE,false,null,0)
_create_row("Color A",Color.RED,null,true,Color.RED,0)
_create_row("Color B",Color.BLUE,null,true,Color.BLUE,0)
pass
func _process(delta):
super._process(delta)
for key in rows:
if rows[key]["picker"] == true && rows[key]["backConnected"] == false:
rows[key]["input"] = rows[key]["pickValue"]
rows["Factor"]["output"] = rows["Color A"]["input"].lerp(rows["Color B"]["input"],rows["Factor"]["input"])
_send_input("Factor")

View file

@ -0,0 +1 @@
uid://dum3u4w3aa3s0

View file

@ -1,4 +1,4 @@
extends Panel extends PanelContainer
class_name GL_Node class_name GL_Node
var rows : Dictionary var rows : Dictionary
var uuid : int #REMEMBER TO SET THIS ON CREATION var uuid : int #REMEMBER TO SET THIS ON CREATION
@ -31,7 +31,6 @@ func _update_visuals():
for key in rows: for key in rows:
var nodeRow = load("res://Scenes/Nodes/Node Row.tscn").instantiate() var nodeRow = load("res://Scenes/Nodes/Node Row.tscn").instantiate()
holder.add_child(nodeRow) holder.add_child(nodeRow)
nodeRow.name = str(key)
(nodeRow.get_node("Label") as Label).text = str(key) (nodeRow.get_node("Label") as Label).text = str(key)
var input = nodeRow.get_node("Input") as GL_Node_Point var input = nodeRow.get_node("Input") as GL_Node_Point
var output = nodeRow.get_node("Output") as GL_Node_Point var output = nodeRow.get_node("Output") as GL_Node_Point
@ -46,13 +45,14 @@ func _update_visuals():
var slider = nodeRow.get_node("Pick Float") as HSlider var slider = nodeRow.get_node("Pick Float") as HSlider
slider.max_value = rows[key]["pickFloatMax"] slider.max_value = rows[key]["pickFloatMax"]
slider.value = rows[key]["pickValue"] slider.value = rows[key]["pickValue"]
TYPE_BOOL:
assignPick(nodeRow.get_node("Pick Bool"),str(key))
(nodeRow.get_node("Pick Float") as ColorPickerButton).color = rows[key]["pickValue"]
TYPE_COLOR: TYPE_COLOR:
assignPick(nodeRow.get_node("Pick Color"),str(key)) assignPick(nodeRow.get_node("Pick Color"),str(key))
(nodeRow.get_node("Pick Float") as CheckButton).button_pressed = rows[key]["pickValue"] (nodeRow.get_node("Pick Color") as ColorPickerButton).color = rows[key]["pickValue"]
TYPE_BOOL:
assignPick(nodeRow.get_node("Pick Bool"),str(key))
(nodeRow.get_node("Pick Bool") as CheckButton).button_pressed = rows[key]["pickValue"]
else:
(nodeRow.get_node("Label") as Label).size_flags_horizontal = Control.SIZE_EXPAND_FILL
_set_inout_type(nodeRow.get_node("Input") as Button,rows[key]["input"]) _set_inout_type(nodeRow.get_node("Input") as Button,rows[key]["input"])
_set_inout_type(nodeRow.get_node("Output") as Button,rows[key]["output"]) _set_inout_type(nodeRow.get_node("Output") as Button,rows[key]["output"])
@ -63,12 +63,15 @@ func assignPick(pick:GL_Node_Picker,key:String):
pick.valueName = key pick.valueName = key
func give_input_point_pos(name:String) -> Vector2: func give_input_point_pos(name:String) -> Vector2:
var holder = get_node("Margins").get_node("Holder").get_node(name) var holder = get_node("Margins").get_node("Holder")
if holder == null: if holder == null:
return global_position return global_position
else: else:
holder = holder.get_node("Input") as GL_Node_Point for child in holder.get_children():
if child.name != "Title" && (child.get_node("Label") as Label).text == name:
holder = child.get_node("Input") as GL_Node_Point
return holder.global_position + Vector2(holder.size.x/2,holder.size.y/2) return holder.global_position + Vector2(holder.size.x/2,holder.size.y/2)
return Vector2.ZERO
func _set_inout_type(label:Button, value): func _set_inout_type(label:Button, value):
match typeof(value): match typeof(value):
@ -93,6 +96,9 @@ func _create_row(name:String,input,output,picker:bool,pickDefault,pickFloatMaxim
func _recieve_input(inputName:String,value): func _recieve_input(inputName:String,value):
if rows.has(inputName): if rows.has(inputName):
if typeof(rows[inputName]["input"]) == TYPE_FLOAT && typeof(value) == TYPE_BOOL:
rows[inputName]["input"] = float(value)
else:
rows[inputName]["input"] = value rows[inputName]["input"] = value
func _send_input(output_name: String): func _send_input(output_name: String):
@ -120,6 +126,7 @@ func _create_connection(target:GL_Node,input_name:String,output_name:String):
return return
if typeof(rows[output_name].get("output", null)) != typeof(target.rows[input_name].get("input",null)): if typeof(rows[output_name].get("output", null)) != typeof(target.rows[input_name].get("input",null)):
if !(typeof(rows[output_name].get("output", null)) == TYPE_BOOL && typeof(target.rows[input_name].get("input",null)) == TYPE_FLOAT):
print("Type mismatch: cannot connect " + output_name + " to " + target.name) print("Type mismatch: cannot connect " + output_name + " to " + target.name)
return return

21
Scripts/GL_Node_Map.gd Normal file
View file

@ -0,0 +1,21 @@
extends Control
var background:TextureRect
func _ready():
visible = false
background = get_node("Background")
func _input(event: InputEvent) -> void:
if event is InputEventKey and event.pressed:
match(event.keycode):
KEY_ESCAPE:
visible = not visible
if visible:
background.self_modulate.a = 1
KEY_TAB:
background.self_modulate.a = abs(background.self_modulate.a - 1)
if visible:
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
else:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)

View file

@ -0,0 +1 @@
uid://i4p62x8fnqpn

View file

@ -13,7 +13,8 @@ func _process(delta):
if dragging: if dragging:
if previewLine == null: if previewLine == null:
previewLine = _create_line() previewLine = _create_line()
previewLine.points[1] = get_viewport().get_mouse_position() - previewLine.global_position previewLine.points[0] = global_position + Vector2(size.x / 2, size.y / 2)
previewLine.points[1] = get_viewport().get_mouse_position()# - previewLine.global_position
var connections = mainNode.rows[valueName].get("connections",[]) var connections = mainNode.rows[valueName].get("connections",[])
if connections != []: if connections != []:
@ -30,7 +31,8 @@ func _process(delta):
child.default_color = Color.BLACK child.default_color = Color.BLACK
TYPE_COLOR: TYPE_COLOR:
child.default_color = output child.default_color = output
child.points[1] = (connections[iter]["target"] as GL_Node).give_input_point_pos(connections[iter]["input_name"]) - child.global_position child.points[0] = global_position + Vector2(size.x / 2, size.y / 2)
child.points[1] = (connections[iter]["target"] as GL_Node).give_input_point_pos(connections[iter]["input_name"])# - child.global_position
iter += 1 iter += 1
func _create_line() -> Line2D: func _create_line() -> Line2D:
@ -40,9 +42,10 @@ func _create_line() -> Line2D:
previewLine.default_color = Color.WHITE previewLine.default_color = Color.WHITE
previewLine.add_point(Vector2.ZERO) previewLine.add_point(Vector2.ZERO)
previewLine.add_point(Vector2.ZERO) previewLine.add_point(Vector2.ZERO)
previewLine.points[0] = Vector2(size.x / 2, size.y / 2)
previewLine.begin_cap_mode = Line2D.LINE_CAP_ROUND previewLine.begin_cap_mode = Line2D.LINE_CAP_ROUND
previewLine.end_cap_mode = Line2D.LINE_CAP_ROUND previewLine.end_cap_mode = Line2D.LINE_CAP_ROUND
previewLine.antialiased = true
previewLine.top_level = true
add_child(previewLine) add_child(previewLine)
return previewLine return previewLine

29
Scripts/GL_Output.gd Normal file
View file

@ -0,0 +1,29 @@
extends GL_Node
@export var identification : String
@export var names : PackedStringArray
@export var types : PackedStringArray
func _ready():
_set_title(identification)
for i in names.size():
match(types[i].to_lower()):
"float":
_create_row(str(names[i]),0.01,null,true,0.5,1)
"color":
_create_row(str(names[i]),Color.WHITE,null,true,Color.WHITE,0)
"bool":
_create_row(str(names[i]),false,null,true,false,0)
pass
func _process(delta):
super._process(delta)
for key in rows:
if rows[key]["picker"] == true && rows[key]["backConnected"] == false:
rows[key]["input"] = rows[key]["pickValue"]
for node in get_tree().get_nodes_in_group(identification):
if node is GL_Animatable:
for key in rows:
node._sent_signals(key,rows[key]["input"])

1
Scripts/GL_Output.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://t8bsiegtsiwo

View file

@ -1,14 +1,21 @@
extends GL_Node extends GL_Node
var rng : RandomNumberGenerator var rng : RandomNumberGenerator
var timing : float
func _ready(): func _ready():
_set_title("Random") _set_title("Random")
_create_row("Output",null,0.0,false,null,0) _create_row("Output",null,0.0,false,null,0)
_create_row("Time",0.01,null,true,0.01,5)
rng = RandomNumberGenerator.new() rng = RandomNumberGenerator.new()
rng.seed = Time.get_ticks_msec() rng.seed = Time.get_ticks_msec()
pass pass
func _process(delta): func _process(delta):
super._process(delta) super._process(delta)
if rows["Time"]["picker"] == true && rows["Time"]["backConnected"] == false:
rows["Time"]["input"] = rows["Time"]["pickValue"]
timing -= delta
if timing <= 0:
timing = rows["Time"]["input"]
rows["Output"]["output"] = rng.randf() rows["Output"]["output"] = rng.randf()
_send_input("Output") _send_input("Output")

View file

@ -1,6 +1,15 @@
extends Control extends Control
var rows : Dictionary = {"Sine":99,"Random":99,"Float":99} var rows : Dictionary = {
"Sine":99,
"Random":99,
"Float":99,
"Chica":1,
"ChicaSpot":1,
"Keystrokes":1,
"Keystroke Ramp":1,
"Mix Colors":1,
}
var searching : bool var searching : bool
var lastMousePos : Vector2 var lastMousePos : Vector2
@ -39,7 +48,7 @@ func _set_rows():
func _create_node(name:String): func _create_node(name:String):
var node = load("res://Scenes/Node Types/" + name + ".tscn").instantiate() var node = load("res://Scenes/Node Types/" + name + ".tscn").instantiate()
get_tree().root.add_child(node) get_parent().add_child(node)
node = (node as Control).get_child(0) as GL_Node node = (node as Control).get_child(0) as GL_Node
node.position = lastMousePos node.position = lastMousePos
node._create_uuid() node._create_uuid()

View file

@ -3,12 +3,12 @@ extends GL_Node
func _ready(): func _ready():
_set_title("Sine") _set_title("Sine")
_create_row("Output",null,0.0,false,null,0) _create_row("Output",null,0.0,false,null,0)
_create_row("Length",0.01,null,true,0.01,0.05) _create_row("Time",0.01,null,true,0.01,0.05)
pass pass
func _process(delta): func _process(delta):
super._process(delta) super._process(delta)
if rows["Length"]["picker"] == true && rows["Length"]["backConnected"] == false: if rows["Time"]["picker"] == true && rows["Time"]["backConnected"] == false:
rows["Length"]["input"] = rows["Length"]["pickValue"] rows["Time"]["input"] = rows["Time"]["pickValue"]
rows["Output"]["output"] = (sin(Time.get_ticks_msec() * rows["Length"].get("input",1)) / 2) + 0.5 rows["Output"]["output"] = (sin(Time.get_ticks_msec() * rows["Time"].get("input",1)) / 2) + 0.5
_send_input("Output") _send_input("Output")

20
Scripts/GL_Spotlight.gd Normal file
View file

@ -0,0 +1,20 @@
extends GL_Animatable
var light:SpotLight3D
@export var canChangeColor:bool = false
@export var canChangeSize:bool = false
@export var energyMultiplier:float = 500
func _ready():
light = self.get_parent()
func _sent_signals(signal_ID:String,the_signal):
match(signal_ID):
"intensity":
light.light_energy = the_signal * energyMultiplier
"color":
if canChangeColor:
light.light_color = the_signal
"size":
if canChangeSize:
light.spot_angle = the_signal * 90
pass

View file

@ -0,0 +1 @@
uid://c5uawj66escut

146
Scripts/freecam.gd Normal file
View file

@ -0,0 +1,146 @@
extends Camera3D
## Camera with flying script attached to it.
class_name Freecam3D
##
## Camera with toggleable freecam mode for prototyping when creating levels, shaders, lighting, etc.
##
## Usage: Run your game, press <TAB> and fly around freely. Uses Minecraft-like controls.
##
## Customize your own toggle key to avoid collisions with your current mappings.
@export var toggle_key: Key = KEY_TAB
## Speed up / down by scrolling the mouse whell down / up
@export var invert_speed_controls: bool = false
@export var overlay_text: bool = true
## Pivot node for camera looking around
@onready var pivot := Node3D.new()
## Main parent for camera overlay.
@onready var screen_overlay := VBoxContainer.new()
## Container for the chat-like event log.
@onready var event_log := VBoxContainer.new()
const MAX_SPEED := 0.25
const MIN_SPEED := 0.01
const ACCELERATION := 0.1
const MOUSE_SENSITIVITY := 0.002
## Whether or not the camera can move.
var movement_active := false:
set(val):
movement_active = val
display_message("[Movement ON]" if movement_active else "[Movement OFF]")
## The current maximum speed. Lower or higher it by scrolling the mouse wheel.
var target_speed := MIN_SPEED
## Movement velocity.
var velocity := Vector3.ZERO
## Sets up pivot and UI overlay elements.
func _setup_nodes() -> void:
self.add_sibling(pivot)
pivot.position = position
pivot.rotation = rotation
pivot.name = "FreecamPivot"
self.reparent(pivot)
self.position = Vector3.ZERO
self.rotation = Vector3.ZERO
# UI stuff
screen_overlay.add_theme_constant_override("Separation", 8)
self.add_child(screen_overlay)
screen_overlay.add_child(_make_label("Debug Camera"))
screen_overlay.add_spacer(false)
screen_overlay.add_child(event_log)
screen_overlay.visible = overlay_text
func _ready() -> void:
_setup_nodes.call_deferred()
_add_keybindings()
movement_active = true
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func _process(delta: float) -> void:
if Input.is_action_just_released("__debug_camera_toggle"):
movement_active = not movement_active
if movement_active:
var dir = Vector3.ZERO
if Input.is_action_pressed("__debug_camera_forward"): dir.z -= 1
if Input.is_action_pressed("__debug_camera_back"): dir.z += 1
if Input.is_action_pressed("__debug_camera_left"): dir.x -= 1
if Input.is_action_pressed("__debug_camera_right"): dir.x += 1
if Input.is_action_pressed("__debug_camera_up"): dir.y += 1
if Input.is_action_pressed("__debug_camera_down"): dir.y -= 1
dir = dir.normalized()
dir = dir.rotated(Vector3.UP, pivot.rotation.y)
velocity = lerp(velocity, dir * target_speed, ACCELERATION)
pivot.position += velocity
func _input(event: InputEvent) -> void:
if movement_active:
# Turn around
if event is InputEventMouseMotion:
pivot.rotate_y(-event.relative.x * MOUSE_SENSITIVITY)
rotate_x(-event.relative.y * MOUSE_SENSITIVITY)
rotation.x = clamp(rotation.x, -PI/2, PI/2)
var speed_up = func():
target_speed = clamp(target_speed + 0.015, MIN_SPEED, MAX_SPEED)
display_message("[Speed up] " + str(target_speed))
var slow_down = func():
target_speed = clamp(target_speed - 0.015, MIN_SPEED, MAX_SPEED)
display_message("[Slow down] " + str(target_speed))
# Speed up and down with the mouse wheel
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_WHEEL_UP and event.pressed:
slow_down.call() if invert_speed_controls else speed_up.call()
if event.button_index == MOUSE_BUTTON_WHEEL_DOWN and event.pressed:
speed_up.call() if invert_speed_controls else slow_down.call()
## Pushes new message label into "chat" and removes the old ones if necessary
func display_message(text: String) -> void:
while event_log.get_child_count() >= 3:
event_log.remove_child(event_log.get_child(0))
event_log.add_child(_make_label(text))
func _make_label(text: String) -> Label:
var l = Label.new()
l.text = text
return l
func _add_keybindings() -> void:
var actions = InputMap.get_actions()
if "__debug_camera_forward" not in actions: _add_key_input_action("__debug_camera_forward", KEY_W)
if "__debug_camera_back" not in actions: _add_key_input_action("__debug_camera_back", KEY_S)
if "__debug_camera_left" not in actions: _add_key_input_action("__debug_camera_left", KEY_A)
if "__debug_camera_right" not in actions: _add_key_input_action("__debug_camera_right", KEY_D)
if "__debug_camera_up" not in actions: _add_key_input_action("__debug_camera_up", KEY_E)
if "__debug_camera_down" not in actions: _add_key_input_action("__debug_camera_down", KEY_Q)
if "__debug_camera_toggle" not in actions: _add_key_input_action("__debug_camera_toggle", toggle_key)
func _add_key_input_action(name: String, key: Key) -> void:
var ev = InputEventKey.new()
ev.physical_keycode = key
InputMap.add_action(name)
InputMap.action_add_event(name, ev)

1
Scripts/freecam.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://8vyuhyx0xogt

View file

@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://fldji252qpey" uid="uid://fldji252qpey"
path="res://.godot/imported/Chica_Main.png-ed504f430467d4015fe315fea792d4a0.ctex" path.s3tc="res://.godot/imported/Chica_Main.png-ed504f430467d4015fe315fea792d4a0.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Textures/Chica_Main.png" source_file="res://Textures/Chica_Main.png"
dest_files=["res://.godot/imported/Chica_Main.png-ed504f430467d4015fe315fea792d4a0.ctex"] dest_files=["res://.godot/imported/Chica_Main.png-ed504f430467d4015fe315fea792d4a0.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View file

@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cev65j6tjoli8" uid="uid://cev65j6tjoli8"
path="res://.godot/imported/Chica_MaskMap.png-da402b4bd0fd237cfcfffbc191e529e9.ctex" path.s3tc="res://.godot/imported/Chica_MaskMap.png-da402b4bd0fd237cfcfffbc191e529e9.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Textures/Chica_MaskMap.png" source_file="res://Textures/Chica_MaskMap.png"
dest_files=["res://.godot/imported/Chica_MaskMap.png-da402b4bd0fd237cfcfffbc191e529e9.ctex"] dest_files=["res://.godot/imported/Chica_MaskMap.png-da402b4bd0fd237cfcfffbc191e529e9.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View file

@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bnrc4uavbcu8f" uid="uid://bnrc4uavbcu8f"
path="res://.godot/imported/Chica_NormalMap.png-69cc3ac2b8ef303f803e39dc3c32c557.ctex" path.s3tc="res://.godot/imported/Chica_NormalMap.png-69cc3ac2b8ef303f803e39dc3c32c557.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Textures/Chica_NormalMap.png" source_file="res://Textures/Chica_NormalMap.png"
dest_files=["res://.godot/imported/Chica_NormalMap.png-69cc3ac2b8ef303f803e39dc3c32c557.ctex"] dest_files=["res://.godot/imported/Chica_NormalMap.png-69cc3ac2b8ef303f803e39dc3c32c557.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=1
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View file

@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://c6rqou6artl3b" uid="uid://c6rqou6artl3b"
path="res://.godot/imported/Chica_PaintMap.png-27b54e518bdb0ae4e5ae98e1172bf606.ctex" path.s3tc="res://.godot/imported/Chica_PaintMap.png-27b54e518bdb0ae4e5ae98e1172bf606.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Textures/Chica_PaintMap.png" source_file="res://Textures/Chica_PaintMap.png"
dest_files=["res://.godot/imported/Chica_PaintMap.png-27b54e518bdb0ae4e5ae98e1172bf606.ctex"] dest_files=["res://.godot/imported/Chica_PaintMap.png-27b54e518bdb0ae4e5ae98e1172bf606.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View file

@ -11,3 +11,4 @@ MarginContainer/constants/margin_left = 10
MarginContainer/constants/margin_right = 10 MarginContainer/constants/margin_right = 10
MarginContainer/constants/margin_top = 10 MarginContainer/constants/margin_top = 10
Panel/styles/panel = ExtResource("1_ne1i0") Panel/styles/panel = ExtResource("1_ne1i0")
PanelContainer/styles/panel = ExtResource("1_ne1i0")

View file

@ -13,10 +13,14 @@ config_version=5
config/name="Give LIFE" config/name="Give LIFE"
config/description="The sequel to Faz-Anim" config/description="The sequel to Faz-Anim"
config/version="0.1a" config/version="0.1a"
run/main_scene="uid://c57u187iciexi" run/main_scene="uid://doe47bro2kqt6"
config/features=PackedStringArray("4.4", "Forward Plus") config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="uid://c1usct57qv2oa" config/icon="uid://c1usct57qv2oa"
[filesystem] [filesystem]
import/blender/enabled=false import/blender/enabled=false
[rendering]
anti_aliasing/quality/use_taa=true