diff --git a/3d/graphics_settings/3d_scene.tscn b/3d/graphics_settings/3d_scene.tscn index 83f3b2fdb45..79a40bf9db3 100644 --- a/3d/graphics_settings/3d_scene.tscn +++ b/3d/graphics_settings/3d_scene.tscn @@ -76,8 +76,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_m14lt"] _data = { -"RESET": SubResource("Animation_ykvo5"), -"move": SubResource("Animation_pn3c5") +&"RESET": SubResource("Animation_ykvo5"), +&"move": SubResource("Animation_pn3c5") } [sub_resource type="CylinderMesh" id="CylinderMesh_7m76j"] diff --git a/3d/graphics_settings/control.tscn b/3d/graphics_settings/control.tscn index bf9d2d7b687..a8086892e59 100644 --- a/3d/graphics_settings/control.tscn +++ b/3d/graphics_settings/control.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://ye05btta37gb"] -[ext_resource type="Script" path="res://settings.gd" id="1_gm54x"] +[ext_resource type="Script" uid="uid://bbk03ocyrerm8" path="res://settings.gd" id="1_gm54x"] [ext_resource type="PackedScene" uid="uid://cbdt8lmycl8pc" path="res://3d_scene.tscn" id="2_hsbu5"] [sub_resource type="Environment" id="Environment_1f0b2"] diff --git a/3d/ik/fabrik_ik.tscn b/3d/ik/fabrik_ik.tscn index bbb617e8cf0..9f1e95c0ea0 100644 --- a/3d/ik/fabrik_ik.tscn +++ b/3d/ik/fabrik_ik.tscn @@ -3,10 +3,10 @@ [ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="1"] [ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="2"] [ext_resource type="Material" path="res://model/battle_bot_color.tres" id="3"] -[ext_resource type="Script" path="res://target_from_mousepos.gd" id="5"] -[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="6"] -[ext_resource type="Script" path="res://addons/sade/ik_fabrik.gd" id="8"] -[ext_resource type="Script" path="res://button_change_scene.gd" id="10"] +[ext_resource type="Script" uid="uid://cwmnshpgflv3w" path="res://target_from_mousepos.gd" id="5"] +[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="6"] +[ext_resource type="Script" uid="uid://cibapncyeomml" path="res://addons/sade/ik_fabrik.gd" id="8"] +[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="10"] [sub_resource type="PlaneMesh" id="1"] size = Vector2(40, 40) diff --git a/3d/ik/fps/fps_example.tscn b/3d/ik/fps/fps_example.tscn index 179e661bfe8..cdd90a1e876 100644 --- a/3d/ik/fps/fps_example.tscn +++ b/3d/ik/fps/fps_example.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=23 format=3 uid="uid://b04yqi3oajoyp"] [ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="1"] -[ext_resource type="Script" path="res://button_change_scene.gd" id="2"] -[ext_resource type="Script" path="res://fps/example_player.gd" id="3"] -[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="4"] -[ext_resource type="Script" path="res://addons/sade/ik_fabrik.gd" id="6"] +[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="2"] +[ext_resource type="Script" uid="uid://bpf0c1q1kq4xf" path="res://fps/example_player.gd" id="3"] +[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="4"] +[ext_resource type="Script" uid="uid://cibapncyeomml" path="res://addons/sade/ik_fabrik.gd" id="6"] [ext_resource type="PackedScene" uid="uid://xwg4osrspnrn" path="res://fps/weapon_pistol.dae" id="8"] [ext_resource type="Material" path="res://fps/gun_color.tres" id="9"] [ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="11"] @@ -165,9 +165,9 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_grvc3"] _data = { -"Aiming": SubResource("10"), -"Idle": SubResource("11"), -"Start": SubResource("12") +&"Aiming": SubResource("10"), +&"Idle": SubResource("11"), +&"Start": SubResource("12") } [node name="FPSExample" type="Node3D"] diff --git a/3d/ik/fps/simple_bullet.tscn b/3d/ik/fps/simple_bullet.tscn index b9e419db5f6..cafb3f89ff5 100644 --- a/3d/ik/fps/simple_bullet.tscn +++ b/3d/ik/fps/simple_bullet.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://d36uvu4r5qtpi"] -[ext_resource type="Script" path="res://fps/simple_bullet.gd" id="1"] +[ext_resource type="Script" uid="uid://xw8wcff2o0p8" path="res://fps/simple_bullet.gd" id="1"] [sub_resource type="PhysicsMaterial" id="1"] bounce = 0.5 @@ -11,25 +11,25 @@ bounce = 0.5 albedo_color = Color(0.769531, 0.486969, 0, 1) emission_enabled = true emission = Color(1, 0.445313, 0, 1) -emission_energy = 1.8 +emission_energy_multiplier = 1.8 [sub_resource type="SphereShape3D" id="4"] radius = 0.4 [node name="SimpleBullet" type="RigidBody3D"] mass = 2.0 -physics_material_override = SubResource( "1" ) +physics_material_override = SubResource("1") gravity_scale = 3.0 continuous_cd = true can_sleep = false linear_damp = 0.4 -script = ExtResource( "1" ) +script = ExtResource("1") [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0) cast_shadow = 0 -mesh = SubResource( "2" ) -surface_material_override/0 = SubResource( "3" ) +mesh = SubResource("2") +surface_material_override/0 = SubResource("3") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] -shape = SubResource( "4" ) +shape = SubResource("4") diff --git a/3d/ik/look_at_ik.tscn b/3d/ik/look_at_ik.tscn index 732580fc3b4..978f18c90a7 100644 --- a/3d/ik/look_at_ik.tscn +++ b/3d/ik/look_at_ik.tscn @@ -3,9 +3,9 @@ [ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="1"] [ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="2"] [ext_resource type="Material" path="res://model/battle_bot_color.tres" id="3"] -[ext_resource type="Script" path="res://target_from_mousepos.gd" id="5"] -[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="6"] -[ext_resource type="Script" path="res://button_change_scene.gd" id="8"] +[ext_resource type="Script" uid="uid://cwmnshpgflv3w" path="res://target_from_mousepos.gd" id="5"] +[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="6"] +[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="8"] [sub_resource type="PlaneMesh" id="1"] size = Vector2(40, 40) diff --git a/3d/ik/skeleton_ik.tscn b/3d/ik/skeleton_ik.tscn index cbd4c343dfd..a9525fc5e7d 100644 --- a/3d/ik/skeleton_ik.tscn +++ b/3d/ik/skeleton_ik.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=12 format=3 uid="uid://5x7yswntc63m"] -[ext_resource type="Script" path="res://skeleton_ik_runner.gd" id="1"] +[ext_resource type="Script" uid="uid://fwpk0277wskk" path="res://skeleton_ik_runner.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="3"] [ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="4"] -[ext_resource type="Script" path="res://target_from_mousepos.gd" id="5"] +[ext_resource type="Script" uid="uid://cwmnshpgflv3w" path="res://target_from_mousepos.gd" id="5"] [ext_resource type="Material" path="res://model/battle_bot_color.tres" id="6"] -[ext_resource type="Script" path="res://button_change_scene.gd" id="8"] -[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="9"] +[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="8"] +[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="9"] [sub_resource type="PlaneMesh" id="1"] size = Vector2(40, 40) diff --git a/3d/kinematic_character/player/cubio.gd b/3d/kinematic_character/player/cubio.gd index 269cd4c600f..7e2484fc750 100644 --- a/3d/kinematic_character/player/cubio.gd +++ b/3d/kinematic_character/player/cubio.gd @@ -9,6 +9,7 @@ const DECELERATION = 4 @onready var gravity := float(-ProjectSettings.get_setting("physics/3d/default_gravity")) @onready var start_position := position + func _physics_process(delta: float) -> void: if Input.is_action_just_pressed(&"exit"): get_tree().quit() @@ -16,6 +17,10 @@ func _physics_process(delta: float) -> void: # Pressed the reset key or fell off the ground. position = start_position velocity = Vector3.ZERO + # We teleported the player on the lines above. Reset interpolation + # to prevent it from interpolating from the old player position + # to the new position. + reset_physics_interpolation() var dir := Vector3() dir.x = Input.get_axis(&"move_left", &"move_right") diff --git a/3d/kinematic_character/project.godot b/3d/kinematic_character/project.godot index 50792ce2aa5..4e9060899e4 100644 --- a/3d/kinematic_character/project.godot +++ b/3d/kinematic_character/project.godot @@ -84,6 +84,7 @@ exit={ common/physics_ticks_per_second=120 3d/default_gravity=13.0 +common/physics_interpolation=true [rendering] diff --git a/3d/navigation/project.godot b/3d/navigation/project.godot index 0a140a21a7e..79bb4bbf715 100644 --- a/3d/navigation/project.godot +++ b/3d/navigation/project.godot @@ -27,6 +27,7 @@ gdscript/warnings/untyped_declaration=1 [physics] common/physics_ticks_per_second=120 +common/physics_interpolation=true [rendering] diff --git a/3d/physics_tests/project.godot b/3d/physics_tests/project.godot index 7c9d31c5bf0..78dbda7398c 100644 --- a/3d/physics_tests/project.godot +++ b/3d/physics_tests/project.godot @@ -98,3 +98,4 @@ character_jump={ jolt_physics_3d/limits/max_bodies=20480 jolt_physics_3d/limits/max_body_pairs=131072 jolt_physics_3d/limits/max_contact_constraints=40960 +common/physics_interpolation=true diff --git a/3d/platformer/coin/coin.tscn b/3d/platformer/coin/coin.tscn index bcda421329d..31e33324c7a 100644 --- a/3d/platformer/coin/coin.tscn +++ b/3d/platformer/coin/coin.tscn @@ -236,10 +236,11 @@ mesh = SubResource("QuadMesh_kqa4x") surface_material_override/0 = SubResource("StandardMaterial3D_7q0mq") [node name="Animation" type="AnimationPlayer" parent="."] -autoplay = "spin" +callback_mode_process = 0 libraries = { "": SubResource("AnimationLibrary_7v453") } +autoplay = "spin" [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00894194, 0.575859, 0.0193955) diff --git a/3d/platformer/player/bullet/bullet.tscn b/3d/platformer/player/bullet/bullet.tscn index 0100c81890b..a89d9a5b450 100644 --- a/3d/platformer/player/bullet/bullet.tscn +++ b/3d/platformer/player/bullet/bullet.tscn @@ -149,6 +149,7 @@ mesh = SubResource("SphereMesh_gjrxu") surface_material_override/0 = SubResource("StandardMaterial3D_aw6a5") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +callback_mode_process = 0 libraries = { "": SubResource("AnimationLibrary_pyoek") } diff --git a/3d/platformer/player/player.gd b/3d/platformer/player/player.gd index dd3e97840d5..7cec74019f6 100644 --- a/3d/platformer/player/player.gd +++ b/3d/platformer/player/player.gd @@ -40,6 +40,10 @@ func _physics_process(delta: float) -> void: # Player hit the reset button or fell off the map. position = initial_position velocity = Vector3.ZERO + # We teleported the player on the lines above. Reset interpolation + # to prevent it from interpolating from the old player position + # to the new position. + reset_physics_interpolation() # Update coin count and its "parallax" copies. # This gives text a pseudo-3D appearance while still using Label3D instead of the more limited TextMesh. diff --git a/3d/platformer/player/player.tscn b/3d/platformer/player/player.tscn index b42939cb545..e9e3bdc4483 100644 --- a/3d/platformer/player/player.tscn +++ b/3d/platformer/player/player.tscn @@ -116,15 +116,35 @@ script = ExtResource("2") [node name="Player" parent="." instance=ExtResource("3_uccbe")] [node name="Skeleton3D" parent="Player/Skeleton" index="0"] -bones/5/rotation = Quaternion(0.501129, -0.498869, -0.501128, 0.498869) -bones/9/rotation = Quaternion(-0.264667, 0.951702, -0.15503, -0.013433) -bones/10/rotation = Quaternion(0.744208, -0.433567, 0.504614, 0.0594899) -bones/11/rotation = Quaternion(0.264667, 0.951702, -0.15503, 0.013433) -bones/13/rotation = Quaternion(-0.000357303, 0.998602, 0.0504822, -0.0156872) -bones/14/rotation = Quaternion(0.720784, -0.0117194, -0.041935, 0.691791) -bones/15/rotation = Quaternion(0.998503, -0.0419896, 0.0282027, 0.0208377) -bones/16/rotation = Quaternion(0.000357169, 0.998602, 0.050483, 0.0156871) -bones/17/rotation = Quaternion(0.720784, 0.0117189, 0.0419352, 0.691791) +bones/1/position = Vector3(1.09056e-20, 2.10612, -6.88338e-14) +bones/1/rotation = Quaternion(1.42109e-13, -2.84217e-14, -7.28307e-22, 1) +bones/2/rotation = Quaternion(-1.42109e-13, -1.80682e-21, 4.58668e-21, 1) +bones/3/rotation = Quaternion(-0.020416, 1.27213e-08, -1.7937e-09, 0.999792) +bones/4/rotation = Quaternion(3.37177e-09, 0.996325, -0.08565, -9.39008e-07) +bones/5/rotation = Quaternion(0.501129, -0.498869, -0.501129, 0.498869) +bones/6/position = Vector3(-6.01139e-07, 0.0040059, -2.27374e-13) +bones/7/position = Vector3(3.05648e-08, 1.2429, 0.270992) +bones/8/rotation = Quaternion(0.744208, 0.433567, -0.504614, 0.0594899) +bones/9/rotation = Quaternion(-0.264667, 0.951702, -0.155029, -0.0134332) +bones/10/rotation = Quaternion(0.744208, -0.433567, 0.504614, 0.0594898) +bones/11/rotation = Quaternion(0.264667, 0.951702, -0.155029, 0.0134332) +bones/11/scale = Vector3(1, 1, 1) +bones/12/rotation = Quaternion(0.998503, 0.0419892, -0.0282026, 0.0208368) +bones/13/position = Vector3(4.87277e-08, 0.644635, -6.03109e-10) +bones/13/rotation = Quaternion(-0.000357039, 0.998602, 0.0504818, -0.0156871) +bones/14/rotation = Quaternion(0.720784, -0.0117192, -0.0419344, 0.691791) +bones/15/rotation = Quaternion(0.998503, -0.0419892, 0.0282027, 0.0208378) +bones/16/position = Vector3(-6.38546e-08, 0.644636, -8.27896e-10) +bones/16/rotation = Quaternion(0.000356988, 0.998602, 0.0504828, 0.015687) +bones/17/rotation = Quaternion(0.720784, 0.0117191, 0.0419345, 0.691791) +bones/18/position = Vector3(-4.35527e-07, 6.35228, 5.79659) +bones/18/rotation = Quaternion(1, -1.01905e-13, 7.54979e-08, -4.23517e-21) +bones/19/position = Vector3(0.518863, 0.204768, 3.89848e-08) +bones/20/position = Vector3(-0.518863, 0.204768, -3.89848e-08) +bones/21/position = Vector3(0.411677, 1.62881, 0.663951) +bones/22/position = Vector3(-0.411677, 1.62881, 0.66395) +bones/23/position = Vector3(2.62535, 2.59016, 0.186879) +bones/25/position = Vector3(1.57185, 3.44768, -0.510255) [node name="Robot" parent="Player/Skeleton/Skeleton3D" index="0"] layers = 2 @@ -177,11 +197,53 @@ font_size = 48 root_node = NodePath("../Player") tree_root = SubResource("23") anim_player = NodePath("../Player/AnimationPlayer") +parameters/current_length = 1.23333 +parameters/current_position = 0.395526 +parameters/current_delta = 0.030673 +parameters/Animation/current_length = 1.23333 +parameters/Animation/current_position = 0.395526 +parameters/Animation/current_delta = 0.030673 +"parameters/Animation 2/current_length" = 0.833333 +"parameters/Animation 2/current_position" = 0.0 +"parameters/Animation 2/current_delta" = 0.0 +"parameters/Animation 3/current_length" = 0.433333 +"parameters/Animation 3/current_position" = 0.0 +"parameters/Animation 3/current_delta" = 0.0 +"parameters/Animation 4/current_length" = 0.433333 +"parameters/Animation 4/current_position" = 0.0 +"parameters/Animation 4/current_delta" = 0.0 +"parameters/Animation 5/current_length" = 0.433333 +"parameters/Animation 5/current_position" = 0.0 +"parameters/Animation 5/current_delta" = 0.0 +"parameters/Animation 6/current_length" = 1.03333 +"parameters/Animation 6/current_position" = 0.0 +"parameters/Animation 6/current_delta" = 0.0 +parameters/air_dir/current_length = 0.433333 +parameters/air_dir/current_position = 0.0 +parameters/air_dir/current_delta = 0.0 parameters/air_dir/blend_amount = 0.0 +parameters/gun/current_length = 1.23333 +parameters/gun/current_position = 0.395526 +parameters/gun/current_delta = 0.030673 parameters/gun/blend_amount = 0.0 +parameters/output/current_length = 1.23333 +parameters/output/current_position = 0.395526 +parameters/output/current_delta = 0.030673 +parameters/run/current_length = 1.23333 +parameters/run/current_position = 0.395526 +parameters/run/current_delta = 0.030673 parameters/run/blend_amount = 0.0 +parameters/scale/current_length = 1.23333 +parameters/scale/current_position = 0.395526 +parameters/scale/current_delta = 0.030673 parameters/scale/scale = 1.5 +parameters/speed/current_length = 1.03333 +parameters/speed/current_position = 0.0 +parameters/speed/current_delta = 0.0 parameters/speed/blend_amount = 0 +parameters/state/current_length = 1.23333 +parameters/state/current_position = 0.395526 +parameters/state/current_delta = 0.030673 parameters/state/blend_amount = 0.0 [node name="Forward" type="TouchScreenButton" parent="."] diff --git a/3d/platformer/project.godot b/3d/platformer/project.godot index 35e85c9f4bf..acbb89f5679 100644 --- a/3d/platformer/project.godot +++ b/3d/platformer/project.godot @@ -143,6 +143,7 @@ reset_position={ common/physics_ticks_per_second=120 3d/default_gravity=22.0 +common/physics_interpolation=true [rendering] diff --git a/3d/rigidbody_character/player/cubio.gd b/3d/rigidbody_character/player/cubio.gd index 8235c3da62a..d52b5907426 100644 --- a/3d/rigidbody_character/player/cubio.gd +++ b/3d/rigidbody_character/player/cubio.gd @@ -11,6 +11,10 @@ func _physics_process(delta: float) -> void: # Pressed the reset key or fell off the ground. position = start_position linear_velocity = Vector3.ZERO + # We teleported the player on the lines above. Reset interpolation + # to prevent it from interpolating from the old player position + # to the new position. + reset_physics_interpolation() var dir := Vector3() dir.x = Input.get_axis(&"move_left", &"move_right") diff --git a/3d/rigidbody_character/project.godot b/3d/rigidbody_character/project.godot index 34d0d5075e7..3bf8ec92c92 100644 --- a/3d/rigidbody_character/project.godot +++ b/3d/rigidbody_character/project.godot @@ -84,6 +84,7 @@ exit={ common/physics_ticks_per_second=120 3d/default_gravity=13.0 +common/physics_interpolation=true [rendering] diff --git a/3d/squash_the_creeps/Mob.tscn b/3d/squash_the_creeps/Mob.tscn index ca7e7035c54..e726b4e055e 100644 --- a/3d/squash_the_creeps/Mob.tscn +++ b/3d/squash_the_creeps/Mob.tscn @@ -51,7 +51,7 @@ script = ExtResource("1") [node name="Pivot" type="Node3D" parent="."] [node name="Character" parent="Pivot" instance=ExtResource("2")] -transform = Transform3D(1, 0, 0, 0, 0.996145, 0.0877225, 0, -0.0877225, 0.996145, 0, 0.329753, 0) +transform = Transform3D(1, 0, 0, 0, 0.987214, 0.1594, 0, -0.1594, 0.987214, 0, 0.348069, 0) [node name="CollisionShape" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.52793, 0) @@ -78,6 +78,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.062134, 0.331645) aabb = AABB(-1.19986, 0.251327, -1.57098, 2.41047, 1.09305, 3.17223) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +callback_mode_process = 0 libraries = { "": SubResource("AnimationLibrary_5n6vs") } diff --git a/3d/squash_the_creeps/Player.tscn b/3d/squash_the_creeps/Player.tscn index 0cf63d53a45..57671478dcb 100644 --- a/3d/squash_the_creeps/Player.tscn +++ b/3d/squash_the_creeps/Player.tscn @@ -54,7 +54,7 @@ script = ExtResource("1") [node name="Pivot" type="Node3D" parent="."] [node name="Character" parent="Pivot" instance=ExtResource("2")] -transform = Transform3D(1, 0, 0, 0, 0.984808, 0.173648, 0, -0.173648, 0.984808, 0, 0.349734, 0) +transform = Transform3D(1, 0, 0, 0, 0.987214, 0.1594, 0, -0.1594, 0.987214, 0, 0.348069, 0) [node name="CollisionShape" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.771765, 0) @@ -86,6 +86,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.45857, 0.95, 1.15318) shape = SubResource("CylinderShape3D_76fa1") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +callback_mode_process = 0 libraries = { "": SubResource("AnimationLibrary_aq6tr") } diff --git a/3d/squash_the_creeps/project.godot b/3d/squash_the_creeps/project.godot index c1cbb6764a9..3b2c64dbd99 100644 --- a/3d/squash_the_creeps/project.godot +++ b/3d/squash_the_creeps/project.godot @@ -80,6 +80,7 @@ jump={ [physics] common/physics_ticks_per_second=120 +common/physics_interpolation=true [rendering] diff --git a/3d/truck_town/project.godot b/3d/truck_town/project.godot index 0cbf20b1596..8b0ba3772a5 100644 --- a/3d/truck_town/project.godot +++ b/3d/truck_town/project.godot @@ -158,6 +158,7 @@ cycle_mood={ [physics] common/physics_ticks_per_second=120 +common/physics_interpolation=true [rendering] diff --git a/3d/truck_town/vehicles/follow_camera.gd b/3d/truck_town/vehicles/follow_camera.gd index 0908856946d..4c3646a1faf 100644 --- a/3d/truck_town/vehicles/follow_camera.gd +++ b/3d/truck_town/vehicles/follow_camera.gd @@ -71,7 +71,7 @@ func _physics_process(_delta: float) -> void: desired_fov = clamp(base_fov + (abs(global_position.length() - previous_position.length()) - FOV_CHANGE_MIN_SPEED) * FOV_SPEED_FACTOR, base_fov, 100) fov = lerpf(fov, desired_fov, FOV_SMOOTH_FACTOR) - # Turn a little up or down + # Turn a little up or down. transform.basis = Basis(transform.basis[0], deg_to_rad(angle_v_adjust)) * transform.basis previous_position = global_position @@ -89,3 +89,7 @@ func update_camera() -> void: # This detaches the camera transform from the parent spatial node, but only # for exterior and top-down cameras. set_as_top_level(camera_type != CameraType.INTERIOR) + + # The camera transition is meant to be instant, so make sure physics interpolation + # doesn't change its appearance. + reset_physics_interpolation() diff --git a/3d/truck_town/vehicles/meshes/meshes.glb.import b/3d/truck_town/vehicles/meshes/meshes.glb.import index 6ff88ae435e..c7981775540 100644 --- a/3d/truck_town/vehicles/meshes/meshes.glb.import +++ b/3d/truck_town/vehicles/meshes/meshes.glb.import @@ -3,7 +3,7 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://e8iojcfvf11q" +uid="uid://cs18x0bwjd8u8" path="res://.godot/imported/meshes.glb-030ff425937f3e98d423cb5cef7ede3d.scn" [deps] @@ -13,8 +13,8 @@ dest_files=["res://.godot/imported/meshes.glb-030ff425937f3e98d423cb5cef7ede3d.s [params] -nodes/root_type="Node3D" -nodes/root_name="Scene Root" +nodes/root_type="" +nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false @@ -32,82 +32,6 @@ animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" -_subresources={ -"materials": { -"car_blue": { -"use_external/enabled": false, -"use_external/path": "res://town/materials/car_blue.tres" -}, -"car_yellow": { -"use_external/enabled": false, -"use_external/path": "res://town/materials/car_red.tres" -}, -"chrome": { -"use_external/enabled": false, -"use_external/path": "res://town/materials/chrome.tres" -}, -"truck_trailer": { -"use_external/enabled": true, -"use_external/path": "res://vehicles/truck_trailer.tres" -} -}, -"meshes": { -"meshes_minivan": { -"generate/lightmap_uv": 0, -"generate/lods": 0, -"generate/shadow_meshes": 0, -"lods/normal_merge_angle": 60.0, -"lods/normal_split_angle": 25.0, -"lods/raycast_normals": false, -"save_to_file/enabled": true, -"save_to_file/make_streamable": "", -"save_to_file/path": "res://vehicles/meshes/minivan.res" -}, -"meshes_tow_truck": { -"generate/lightmap_uv": 0, -"generate/lods": 0, -"generate/shadow_meshes": 0, -"lods/normal_merge_angle": 60.0, -"lods/normal_split_angle": 25.0, -"lods/raycast_normals": false, -"save_to_file/enabled": true, -"save_to_file/make_streamable": "", -"save_to_file/path": "res://vehicles/meshes/tow_truck.res" -}, -"meshes_truck_cab": { -"generate/lightmap_uv": 0, -"generate/lods": 0, -"generate/shadow_meshes": 0, -"lods/normal_merge_angle": 60.0, -"lods/normal_split_angle": 25.0, -"lods/raycast_normals": false, -"save_to_file/enabled": true, -"save_to_file/make_streamable": "", -"save_to_file/path": "res://vehicles/meshes/truck_cab.res" -}, -"meshes_truck_trailer": { -"generate/lightmap_uv": 0, -"generate/lods": 0, -"generate/shadow_meshes": 0, -"lods/normal_merge_angle": 60.0, -"lods/normal_split_angle": 25.0, -"lods/raycast_normals": false, -"save_to_file/enabled": true, -"save_to_file/make_streamable": "", -"save_to_file/path": "res://vehicles/meshes/truck_trailer.res" -}, -"meshes_wheel": { -"generate/lightmap_uv": 0, -"generate/lods": 0, -"generate/shadow_meshes": 0, -"lods/normal_merge_angle": 60.0, -"lods/normal_split_angle": 25.0, -"lods/raycast_normals": false, -"save_to_file/enabled": true, -"save_to_file/make_streamable": "", -"save_to_file/path": "res://vehicles/meshes/wheel.res" -} -} -} +_subresources={} gltf/naming_version=0 gltf/embedded_image_handling=1 diff --git a/3d/voxel/project.godot b/3d/voxel/project.godot index b8708988f9e..d6a166ca335 100644 --- a/3d/voxel/project.godot +++ b/3d/voxel/project.godot @@ -27,6 +27,7 @@ Settings="*res://settings.gd" [debug] +settings/physics_interpolation/enable_warnings=false gdscript/warnings/untyped_declaration=1 [display] @@ -148,6 +149,7 @@ pick_block={ common/physics_ticks_per_second=120 3d/default_gravity=20.0 +common/physics_interpolation=true [rendering]