Skip to content

Commit 819d201

Browse files
authored
Enable physics interpolation in all 3D demos (#1074)
This makes use of the new built-in 3D physics interpolation added in Godot 4.4.
1 parent a88ca21 commit 819d201

File tree

25 files changed

+137
-121
lines changed

25 files changed

+137
-121
lines changed

3d/graphics_settings/3d_scene.tscn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ tracks/0/keys = {
7676

7777
[sub_resource type="AnimationLibrary" id="AnimationLibrary_m14lt"]
7878
_data = {
79-
"RESET": SubResource("Animation_ykvo5"),
80-
"move": SubResource("Animation_pn3c5")
79+
&"RESET": SubResource("Animation_ykvo5"),
80+
&"move": SubResource("Animation_pn3c5")
8181
}
8282

8383
[sub_resource type="CylinderMesh" id="CylinderMesh_7m76j"]

3d/graphics_settings/control.tscn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[gd_scene load_steps=6 format=3 uid="uid://ye05btta37gb"]
22

3-
[ext_resource type="Script" path="res://settings.gd" id="1_gm54x"]
3+
[ext_resource type="Script" uid="uid://bbk03ocyrerm8" path="res://settings.gd" id="1_gm54x"]
44
[ext_resource type="PackedScene" uid="uid://cbdt8lmycl8pc" path="res://3d_scene.tscn" id="2_hsbu5"]
55

66
[sub_resource type="Environment" id="Environment_1f0b2"]

3d/ik/fabrik_ik.tscn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
[ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="1"]
44
[ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="2"]
55
[ext_resource type="Material" path="res://model/battle_bot_color.tres" id="3"]
6-
[ext_resource type="Script" path="res://target_from_mousepos.gd" id="5"]
7-
[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="6"]
8-
[ext_resource type="Script" path="res://addons/sade/ik_fabrik.gd" id="8"]
9-
[ext_resource type="Script" path="res://button_change_scene.gd" id="10"]
6+
[ext_resource type="Script" uid="uid://cwmnshpgflv3w" path="res://target_from_mousepos.gd" id="5"]
7+
[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="6"]
8+
[ext_resource type="Script" uid="uid://cibapncyeomml" path="res://addons/sade/ik_fabrik.gd" id="8"]
9+
[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="10"]
1010

1111
[sub_resource type="PlaneMesh" id="1"]
1212
size = Vector2(40, 40)

3d/ik/fps/fps_example.tscn

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[gd_scene load_steps=23 format=3 uid="uid://b04yqi3oajoyp"]
22

33
[ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="1"]
4-
[ext_resource type="Script" path="res://button_change_scene.gd" id="2"]
5-
[ext_resource type="Script" path="res://fps/example_player.gd" id="3"]
6-
[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="4"]
7-
[ext_resource type="Script" path="res://addons/sade/ik_fabrik.gd" id="6"]
4+
[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="2"]
5+
[ext_resource type="Script" uid="uid://bpf0c1q1kq4xf" path="res://fps/example_player.gd" id="3"]
6+
[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="4"]
7+
[ext_resource type="Script" uid="uid://cibapncyeomml" path="res://addons/sade/ik_fabrik.gd" id="6"]
88
[ext_resource type="PackedScene" uid="uid://xwg4osrspnrn" path="res://fps/weapon_pistol.dae" id="8"]
99
[ext_resource type="Material" path="res://fps/gun_color.tres" id="9"]
1010
[ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="11"]
@@ -165,9 +165,9 @@ tracks/2/keys = {
165165

166166
[sub_resource type="AnimationLibrary" id="AnimationLibrary_grvc3"]
167167
_data = {
168-
"Aiming": SubResource("10"),
169-
"Idle": SubResource("11"),
170-
"Start": SubResource("12")
168+
&"Aiming": SubResource("10"),
169+
&"Idle": SubResource("11"),
170+
&"Start": SubResource("12")
171171
}
172172

173173
[node name="FPSExample" type="Node3D"]

3d/ik/fps/simple_bullet.tscn

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[gd_scene load_steps=6 format=3 uid="uid://d36uvu4r5qtpi"]
22

3-
[ext_resource type="Script" path="res://fps/simple_bullet.gd" id="1"]
3+
[ext_resource type="Script" uid="uid://xw8wcff2o0p8" path="res://fps/simple_bullet.gd" id="1"]
44

55
[sub_resource type="PhysicsMaterial" id="1"]
66
bounce = 0.5
@@ -11,25 +11,25 @@ bounce = 0.5
1111
albedo_color = Color(0.769531, 0.486969, 0, 1)
1212
emission_enabled = true
1313
emission = Color(1, 0.445313, 0, 1)
14-
emission_energy = 1.8
14+
emission_energy_multiplier = 1.8
1515

1616
[sub_resource type="SphereShape3D" id="4"]
1717
radius = 0.4
1818

1919
[node name="SimpleBullet" type="RigidBody3D"]
2020
mass = 2.0
21-
physics_material_override = SubResource( "1" )
21+
physics_material_override = SubResource("1")
2222
gravity_scale = 3.0
2323
continuous_cd = true
2424
can_sleep = false
2525
linear_damp = 0.4
26-
script = ExtResource( "1" )
26+
script = ExtResource("1")
2727

2828
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
2929
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0)
3030
cast_shadow = 0
31-
mesh = SubResource( "2" )
32-
surface_material_override/0 = SubResource( "3" )
31+
mesh = SubResource("2")
32+
surface_material_override/0 = SubResource("3")
3333

3434
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
35-
shape = SubResource( "4" )
35+
shape = SubResource("4")

3d/ik/look_at_ik.tscn

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
[ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="1"]
44
[ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="2"]
55
[ext_resource type="Material" path="res://model/battle_bot_color.tres" id="3"]
6-
[ext_resource type="Script" path="res://target_from_mousepos.gd" id="5"]
7-
[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="6"]
8-
[ext_resource type="Script" path="res://button_change_scene.gd" id="8"]
6+
[ext_resource type="Script" uid="uid://cwmnshpgflv3w" path="res://target_from_mousepos.gd" id="5"]
7+
[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="6"]
8+
[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="8"]
99

1010
[sub_resource type="PlaneMesh" id="1"]
1111
size = Vector2(40, 40)

3d/ik/skeleton_ik.tscn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
[gd_scene load_steps=12 format=3 uid="uid://5x7yswntc63m"]
22

3-
[ext_resource type="Script" path="res://skeleton_ik_runner.gd" id="1"]
3+
[ext_resource type="Script" uid="uid://fwpk0277wskk" path="res://skeleton_ik_runner.gd" id="1"]
44
[ext_resource type="Texture2D" uid="uid://bw3q8aq6gfuof" path="res://addons/sade/editor_gizmo_texture.png" id="3"]
55
[ext_resource type="PackedScene" uid="uid://ctssefekxjogg" path="res://model/godot_battle_bot.dae" id="4"]
6-
[ext_resource type="Script" path="res://target_from_mousepos.gd" id="5"]
6+
[ext_resource type="Script" uid="uid://cwmnshpgflv3w" path="res://target_from_mousepos.gd" id="5"]
77
[ext_resource type="Material" path="res://model/battle_bot_color.tres" id="6"]
8-
[ext_resource type="Script" path="res://button_change_scene.gd" id="8"]
9-
[ext_resource type="Script" path="res://addons/sade/ik_look_at.gd" id="9"]
8+
[ext_resource type="Script" uid="uid://dpsdir1qgcjff" path="res://button_change_scene.gd" id="8"]
9+
[ext_resource type="Script" uid="uid://tmd4ubxbhvue" path="res://addons/sade/ik_look_at.gd" id="9"]
1010

1111
[sub_resource type="PlaneMesh" id="1"]
1212
size = Vector2(40, 40)

3d/kinematic_character/player/cubio.gd

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@ const DECELERATION = 4
99
@onready var gravity := float(-ProjectSettings.get_setting("physics/3d/default_gravity"))
1010
@onready var start_position := position
1111

12+
1213
func _physics_process(delta: float) -> void:
1314
if Input.is_action_just_pressed(&"exit"):
1415
get_tree().quit()
1516
if Input.is_action_just_pressed(&"reset_position") or global_position.y < -6.0:
1617
# Pressed the reset key or fell off the ground.
1718
position = start_position
1819
velocity = Vector3.ZERO
20+
# We teleported the player on the lines above. Reset interpolation
21+
# to prevent it from interpolating from the old player position
22+
# to the new position.
23+
reset_physics_interpolation()
1924

2025
var dir := Vector3()
2126
dir.x = Input.get_axis(&"move_left", &"move_right")

3d/kinematic_character/project.godot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ exit={
8484

8585
common/physics_ticks_per_second=120
8686
3d/default_gravity=13.0
87+
common/physics_interpolation=true
8788

8889
[rendering]
8990

3d/navigation/project.godot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ gdscript/warnings/untyped_declaration=1
2727
[physics]
2828

2929
common/physics_ticks_per_second=120
30+
common/physics_interpolation=true
3031

3132
[rendering]
3233

0 commit comments

Comments
 (0)