Various enhancements, fixes, and tweaks focused on improving the inspector (#34)

* Added Dynamic Gravity Toggle

Added an editor toggle for dynamic gravity so users don't need to uncomment code in character.gd.

* Refactor controls export variables

Changed controls export variables to be a single dictionary so they can be edited completely in the editor without having to open the script. I also refactored the controller support section to allow similar functionality for controller specific controls and removed the need to uncomment/comment out lines of code to turn on/off controller support.

* Add more editor descriptions and implement camera axis inversion options

Added/tweaked export variable descriptions so everything has one. Also slightly refactored the camera input inversion code and added the ability to invert the camera x axis.

* Added direction based landing animations

Added some logic to determine which landing animation to play so it's not random anymore. Also added a land_center animation for the case of neutral landings. This can be expanded if desired, but it's pretty convincing as is and is ulitmately a small detail.

* Correct various grammar and spelling errors

A final pass to clean up any grammatical or spelling errors in the comments

* Re-organized Character.gd

Hope I'm not overstepping here, but I re-organized Character.gd to make it a bit easier to read and work with. Added editor bookmarks and collapsible code regions. It's hard to parse in the diff so I recommend you look at it in Godot proper.

* Commented out debug print statement

I assume this was left uncommented by mistake. I was wondering what was printing that to my console.

* Fixed Landing Animation Logic

I guess I was up too late on my first attempt because it straight up didn't work. This new version works as far as my testing can tell.

* Removed some unused variables
This commit is contained in:
Austin Dennis
2024-10-25 16:30:03 -04:00
committed by GitHub
parent 288618e6a3
commit 2885aadf4e
3 changed files with 275 additions and 152 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://cc1m2a1obsyn4"]
[gd_scene load_steps=22 format=3 uid="uid://cc1m2a1obsyn4"]
[ext_resource type="Script" path="res://addons/fpc/character.gd" id="1_0t4e8"]
[ext_resource type="Script" path="res://addons/fpc/EditorModule.gd" id="3_v3ckk"]
@ -335,10 +335,39 @@ tracks/1/keys = {
"values": [Vector3(0, 0, 0), Vector3(0, -0.1, 0), Vector3(0, 0, 0)]
}
[sub_resource type="Animation" id="Animation_3eyjl"]
resource_name = "land_center"
length = 1.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera:rotation")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(-0.0349066, 0, 0), Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5, 1.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, -0.1, 0), Vector3(0, 0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qeg5r"]
_data = {
"RESET": SubResource("Animation_fvvjq"),
"jump": SubResource("Animation_s07ye"),
"land_center": SubResource("Animation_3eyjl"),
"land_left": SubResource("Animation_l1rph"),
"land_right": SubResource("Animation_vsknp")
}
@ -352,6 +381,7 @@ MarginContainer/constants/margin_top = 10
[sub_resource type="SphereShape3D" id="SphereShape3D_k4wwl"]
[node name="Character" type="CharacterBody3D" node_paths=PackedStringArray("HEAD", "CAMERA", "HEADBOB_ANIMATION", "JUMP_ANIMATION", "CROUCH_ANIMATION", "COLLISION_MESH")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
script = ExtResource("1_0t4e8")
default_reticle = "res://addons/fpc/reticles/reticle_1.tscn"
HEAD = NodePath("Head")