generated from krampus/template-godot4
Lerp framerate logic fixes
This commit is contained in:
parent
35cc441241
commit
c74bfefe92
@ -9,12 +9,12 @@
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_eywuc"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
[sub_resource type="Sky" id="Sky_cr4pm"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_eywuc")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_nynr7"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
sky = SubResource("Sky_cr4pm")
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_b6st5"]
|
||||
size = Vector2(50, 50)
|
||||
|
39
levels/player_test/player_test.tscn
Normal file
39
levels/player_test/player_test.tscn
Normal file
@ -0,0 +1,39 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://tpojpp5ua6u1"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_qdhe6"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_hda7d"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_hda7d")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_nl4kk"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_libd1"]
|
||||
size = Vector2(50, 50)
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_5pddg"]
|
||||
|
||||
[node name="PlayerTest" type="Node3D"]
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("1_qdhe6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_nl4kk")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = SubResource("PlaneMesh_libd1")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
shape = SubResource("WorldBoundaryShape3D_5pddg")
|
@ -73,7 +73,7 @@ folder_colors={
|
||||
config/input/mouse_sensitivity_x=0.45
|
||||
config/input/mouse_sensitivity_y=0.45
|
||||
config/input/invert_pitch=false
|
||||
config/input/mouse_acceleration=30.0
|
||||
config/input/mouse_acceleration=42.0
|
||||
audio/buses/override_bus_layout="user://audio_bus_layout.tres"
|
||||
config/accessibility/enable_screen_shake=true
|
||||
config/accessibility/enable_head_bob=true
|
||||
|
@ -1,7 +1,7 @@
|
||||
class_name Tool extends Node3D
|
||||
## Abstract base class for spraygun types
|
||||
|
||||
const HUD_ACCEL := 36.0
|
||||
@export var hud_accel := 50.0
|
||||
|
||||
var firing := false
|
||||
|
||||
@ -36,6 +36,6 @@ func idle() -> void:
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if hud_tool:
|
||||
var weight := clampf(HUD_ACCEL * delta, 0.0, 1.0)
|
||||
var weight := 1 - exp(-hud_accel * delta)
|
||||
hud_tool.global_basis = global_basis
|
||||
hud_tool.global_position = hud_tool.global_position.lerp(global_position, weight)
|
||||
|
@ -43,7 +43,7 @@ func _idle() -> void:
|
||||
func _physics_process(delta: float) -> void:
|
||||
hud_tool.global_basis = global_basis
|
||||
|
||||
var weight := clampf(HUD_ACCEL * delta, 0.0, 1.0)
|
||||
var weight := 1 - exp(-hud_accel * delta)
|
||||
var target_position := resting_position.global_position
|
||||
if raycast.is_colliding():
|
||||
target_position = raycast.get_collision_point()
|
||||
|
@ -35,9 +35,12 @@ func camera_motion(motion: Vector2) -> void:
|
||||
)
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
var mouse_accel: float = Game.settings.mouse_acceleration / 60.0
|
||||
func _physics_process(delta: float) -> void:
|
||||
var mouse_accel: float = Game.settings.mouse_acceleration
|
||||
if player.firing:
|
||||
mouse_accel = FOCUS_ACCELERATION / 60.0
|
||||
rotation.y = lerp_angle(rotation.y, _target.y, mouse_accel)
|
||||
rotation.x = lerp_angle(rotation.x, _target.x, mouse_accel)
|
||||
mouse_accel = FOCUS_ACCELERATION
|
||||
|
||||
var weight := 1 - exp(-mouse_accel * delta)
|
||||
#var weight := mouse_accel / 60.0
|
||||
rotation.y = lerp_angle(rotation.y, _target.y, weight)
|
||||
rotation.x = lerp_angle(rotation.x, _target.x, weight)
|
||||
|
@ -21,9 +21,10 @@ var timescale: float:
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var speed := player.velocity.length()
|
||||
var weight := 1 - exp(-BLEND_ACCELERATION * delta)
|
||||
if player.is_on_floor():
|
||||
var timescale_target := speed * VELOCITY_TIMESCALE_FACTOR
|
||||
timescale = lerpf(timescale, timescale_target, BLEND_ACCELERATION * delta)
|
||||
timescale = lerpf(timescale, timescale_target, weight)
|
||||
else:
|
||||
timescale = 0.0
|
||||
|
||||
@ -32,6 +33,6 @@ func _process(delta: float) -> void:
|
||||
if player.is_on_floor():
|
||||
blend_target = speed * VELOCITY_BLEND_FACTOR
|
||||
|
||||
blend = lerpf(blend, blend_target, BLEND_ACCELERATION * delta)
|
||||
blend = lerpf(blend, blend_target, weight)
|
||||
else:
|
||||
blend = 0.0
|
||||
|
@ -195,8 +195,9 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
# Friction
|
||||
var friction := get_friction()
|
||||
velocity.x = lerpf(velocity.x, 0, friction)
|
||||
velocity.z = lerpf(velocity.z, 0, friction)
|
||||
var weight := 1 - exp(-friction * 60 * delta)
|
||||
velocity.x = lerpf(velocity.x, 0, weight)
|
||||
velocity.z = lerpf(velocity.z, 0, weight)
|
||||
|
||||
_was_on_floor = is_on_floor()
|
||||
|
||||
|
@ -215,10 +215,10 @@ anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -400.102
|
||||
offset_top = -298.829
|
||||
offset_right = -400.102
|
||||
offset_bottom = -298.829
|
||||
offset_left = -400.498
|
||||
offset_top = -299.892
|
||||
offset_right = -400.498
|
||||
offset_bottom = -299.892
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("4_ud8na")
|
||||
|
Loading…
x
Reference in New Issue
Block a user