diff --git a/Assets/PID_Spinning_Stuff.glb b/Assets/PID_Spinning_Stuff.glb new file mode 100644 index 0000000..9fa3b7a Binary files /dev/null and b/Assets/PID_Spinning_Stuff.glb differ diff --git a/Assets/PID_Spinning_Stuff.glb.import b/Assets/PID_Spinning_Stuff.glb.import new file mode 100644 index 0000000..d58a275 --- /dev/null +++ b/Assets/PID_Spinning_Stuff.glb.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://b8yyluxikhlr0" +path="res://.godot/imported/PID_Spinning_Stuff.glb-977aece4b561e834c064e6c1c7e53471.scn" + +[deps] + +source_file="res://Assets/PID_Spinning_Stuff.glb" +dest_files=["res://.godot/imported/PID_Spinning_Stuff.glb-977aece4b561e834c064e6c1c7e53471.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +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=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/Assets/PID_Spinning_Target.glb b/Assets/PID_Spinning_Target.glb new file mode 100644 index 0000000..b66897f Binary files /dev/null and b/Assets/PID_Spinning_Target.glb differ diff --git a/Assets/PID_Spinning_Target.glb.import b/Assets/PID_Spinning_Target.glb.import new file mode 100644 index 0000000..89350c3 --- /dev/null +++ b/Assets/PID_Spinning_Target.glb.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cin3pgpeydkpe" +path="res://.godot/imported/PID_Spinning_Target.glb-739e3becae2412e2332407d1fc9f1fc7.scn" + +[deps] + +source_file="res://Assets/PID_Spinning_Target.glb" +dest_files=["res://.godot/imported/PID_Spinning_Target.glb-739e3becae2412e2332407d1fc9f1fc7.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +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=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/Assets/PID_Test_Obj.blend b/Assets/PID_Test_Obj.blend new file mode 100644 index 0000000..f93b754 Binary files /dev/null and b/Assets/PID_Test_Obj.blend differ diff --git a/Assets/PID_Test_Obj.blend.import b/Assets/PID_Test_Obj.blend.import new file mode 100644 index 0000000..ba8d357 --- /dev/null +++ b/Assets/PID_Test_Obj.blend.import @@ -0,0 +1,59 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c8ywajojvb7pw" +path="res://.godot/imported/PID_Test_Obj.blend-06d5e64216d0d8667c2f9c3cb6d12c34.scn" + +[deps] + +source_file="res://Assets/PID_Test_Obj.blend" +dest_files=["res://.godot/imported/PID_Test_Obj.blend-06d5e64216d0d8667c2f9c3cb6d12c34.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +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=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true +gltf/naming_version=2 diff --git a/Levels/pid_test.gd b/Levels/pid_test.gd new file mode 100644 index 0000000..3f6c071 --- /dev/null +++ b/Levels/pid_test.gd @@ -0,0 +1,14 @@ +extends Node3D + +@export var p:float = 0.5 +@export var i:float = 0.0 +@export var d:float = 0.0 +@export var force:float = 10.0 + +var spinner:Node3D +var target:Node3D + +func _ready() -> void: + spinner = get_node("Spinner") + target = get_node("Target") + diff --git a/Levels/pid_test.gd.uid b/Levels/pid_test.gd.uid new file mode 100644 index 0000000..b7f9c95 --- /dev/null +++ b/Levels/pid_test.gd.uid @@ -0,0 +1 @@ +uid://b63aqs33qyp0g diff --git a/Levels/pid_test.tscn b/Levels/pid_test.tscn index ebab52e..6eb4bb2 100644 --- a/Levels/pid_test.tscn +++ b/Levels/pid_test.tscn @@ -1,3 +1,55 @@ -[gd_scene format=3 uid="uid://caj5t8q1fii5m"] +[gd_scene load_steps=5 format=3 uid="uid://caj5t8q1fii5m"] + +[ext_resource type="PackedScene" uid="uid://cin3pgpeydkpe" path="res://Assets/PID_Spinning_Target.glb" id="1_0c8sw"] +[ext_resource type="Script" uid="uid://b63aqs33qyp0g" path="res://Levels/pid_test.gd" id="1_sxbsa"] +[ext_resource type="PackedScene" uid="uid://b8yyluxikhlr0" path="res://Assets/PID_Spinning_Stuff.glb" id="2_sxbsa"] + +[sub_resource type="Environment" id="Environment_d03hh"] +background_mode = 2 +background_color = Color(0.14478481, 0.14478481, 0.14478481, 1) +ambient_light_source = 2 [node name="PidTest" type="Node3D"] +script = ExtResource("1_sxbsa") + +[node name="Target" type="Node3D" parent="."] + +[node name="PID_Spinning_Target" parent="Target" instance=ExtResource("1_0c8sw")] + +[node name="Spinner" type="Node3D" parent="."] + +[node name="PID_Spinning_Stuff" parent="Spinner" instance=ExtResource("2_sxbsa")] + +[node name="OmniLight3D" type="OmniLight3D" parent="Spinner/PID_Spinning_Stuff"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.40560818, 0.6382216, 0) +light_color = Color(0.99999994, 0.20727095, 0.32746297, 1) +light_energy = 0.2 +shadow_enabled = true + +[node name="Camera3D" type="Camera3D" parent="."] +transform = Transform3D(-4.3597606e-08, -0.072106734, 0.99739695, -3.1518854e-09, 0.99739695, 0.072106734, -1, 0, -4.371139e-08, 4.3431935, 0.43207824, 0) +environment = SubResource("Environment_d03hh") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.25000006, 0.9659258, 0.06698735, -0.2588191, -1.9081726e-08, 0.9659258, 0.93301266, -0.25881913, 0.25000003, 0, 3.3288543, 0) + +[node name="PID Menue" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PID Menue"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PID Menue/VBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="PID Menue/VBoxContainer/HBoxContainer"] +layout_mode = 2 +text = "Proportinal Term (P)" + +[node name="LineEdit" type="SpinBox" parent="PID Menue/VBoxContainer/HBoxContainer"] +layout_mode = 2