Many Many Updates
This commit is contained in:
parent
1608b8f6f5
commit
8359479243
50 changed files with 807 additions and 66 deletions
12
Materials/Black Hair.tres
Normal file
12
Materials/Black Hair.tres
Normal 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
39
Materials/Chica.gdshader
Normal 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;
|
||||||
|
}
|
1
Materials/Chica.gdshader.uid
Normal file
1
Materials/Chica.gdshader.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://des8a3glk3x31
|
20
Materials/Chica.tres
Normal file
20
Materials/Chica.tres
Normal 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)
|
12
Materials/Yellow Hair.tres
Normal file
12
Materials/Yellow Hair.tres
Normal 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
|
BIN
Models/Animatronics/Chica/Chica.fbx
Normal file
BIN
Models/Animatronics/Chica/Chica.fbx
Normal file
Binary file not shown.
57
Models/Animatronics/Chica/Chica.fbx.import
Normal file
57
Models/Animatronics/Chica/Chica.fbx.import
Normal 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
|
19
Scenes/Animatables/Chica.tscn
Normal file
19
Scenes/Animatables/Chica.tscn
Normal 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")
|
BIN
Scenes/Levels/Freddy's.VoxelGI_data.res
Normal file
BIN
Scenes/Levels/Freddy's.VoxelGI_data.res
Normal file
Binary file not shown.
91
Scenes/Levels/Freddy's.tscn
Normal file
91
Scenes/Levels/Freddy's.tscn
Normal 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")]
|
20
Scenes/Node Types/Chica.tscn
Normal file
20
Scenes/Node Types/Chica.tscn
Normal 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"]
|
20
Scenes/Node Types/ChicaSpot.tscn
Normal file
20
Scenes/Node Types/ChicaSpot.tscn
Normal 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"]
|
|
@ -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"]
|
||||||
|
|
16
Scenes/Node Types/Keystroke Ramp.tscn
Normal file
16
Scenes/Node Types/Keystroke Ramp.tscn
Normal 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"]
|
16
Scenes/Node Types/Keystrokes.tscn
Normal file
16
Scenes/Node Types/Keystrokes.tscn
Normal 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"]
|
16
Scenes/Node Types/Mix Colors.tscn
Normal file
16
Scenes/Node Types/Mix Colors.tscn
Normal 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"]
|
|
@ -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"]
|
||||||
|
|
|
@ -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"]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
5
Scripts/GL_Animatable.gd
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
extends Node
|
||||||
|
class_name GL_Animatable
|
||||||
|
|
||||||
|
func _sent_signals(signal_ID:String,the_signal):
|
||||||
|
pass
|
1
Scripts/GL_Animatable.gd.uid
Normal file
1
Scripts/GL_Animatable.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://hetlgruo7m0b
|
22
Scripts/GL_Animatronic.gd
Normal file
22
Scripts/GL_Animatronic.gd
Normal 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
|
1
Scripts/GL_Animatronic.gd.uid
Normal file
1
Scripts/GL_Animatronic.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://iqrmm33dxvui
|
50
Scripts/GL_Keystroke_Ramp.gd
Normal file
50
Scripts/GL_Keystroke_Ramp.gd
Normal 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")
|
1
Scripts/GL_Keystroke_Ramp.gd.uid
Normal file
1
Scripts/GL_Keystroke_Ramp.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://dhw0vlsb0bb8r
|
35
Scripts/GL_Keystrokes.gd
Normal file
35
Scripts/GL_Keystrokes.gd
Normal 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)
|
1
Scripts/GL_Keystrokes.gd.uid
Normal file
1
Scripts/GL_Keystrokes.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://e6v6exlrhtaq
|
18
Scripts/GL_Mix_Colors.gd
Normal file
18
Scripts/GL_Mix_Colors.gd
Normal 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")
|
1
Scripts/GL_Mix_Colors.gd.uid
Normal file
1
Scripts/GL_Mix_Colors.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://dum3u4w3aa3s0
|
|
@ -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():
|
||||||
return holder.global_position + Vector2(holder.size.x/2,holder.size.y/2)
|
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 Vector2.ZERO
|
||||||
|
|
||||||
func _set_inout_type(label:Button, value):
|
func _set_inout_type(label:Button, value):
|
||||||
match typeof(value):
|
match typeof(value):
|
||||||
|
@ -93,7 +96,10 @@ 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):
|
||||||
rows[inputName]["input"] = value
|
if typeof(rows[inputName]["input"]) == TYPE_FLOAT && typeof(value) == TYPE_BOOL:
|
||||||
|
rows[inputName]["input"] = float(value)
|
||||||
|
else:
|
||||||
|
rows[inputName]["input"] = value
|
||||||
|
|
||||||
func _send_input(output_name: String):
|
func _send_input(output_name: String):
|
||||||
if not rows.has(output_name):
|
if not rows.has(output_name):
|
||||||
|
@ -120,8 +126,9 @@ 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)):
|
||||||
print("Type mismatch: cannot connect " + output_name + " to " + target.name)
|
if !(typeof(rows[output_name].get("output", null)) == TYPE_BOOL && typeof(target.rows[input_name].get("input",null)) == TYPE_FLOAT):
|
||||||
return
|
print("Type mismatch: cannot connect " + output_name + " to " + target.name)
|
||||||
|
return
|
||||||
|
|
||||||
var thenew = {
|
var thenew = {
|
||||||
"target": target,
|
"target": target,
|
||||||
|
|
21
Scripts/GL_Node_Map.gd
Normal file
21
Scripts/GL_Node_Map.gd
Normal 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)
|
1
Scripts/GL_Node_Map.gd.uid
Normal file
1
Scripts/GL_Node_Map.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://i4p62x8fnqpn
|
|
@ -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
29
Scripts/GL_Output.gd
Normal 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
1
Scripts/GL_Output.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://t8bsiegtsiwo
|
|
@ -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)
|
||||||
rows["Output"]["output"] = rng.randf()
|
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()
|
||||||
_send_input("Output")
|
_send_input("Output")
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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
20
Scripts/GL_Spotlight.gd
Normal 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
|
1
Scripts/GL_Spotlight.gd.uid
Normal file
1
Scripts/GL_Spotlight.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://c5uawj66escut
|
146
Scripts/freecam.gd
Normal file
146
Scripts/freecam.gd
Normal 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
1
Scripts/freecam.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://8vyuhyx0xogt
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue