Files
godot-demo-projects/3d/physics_tests/tests/functional/test_friction.tscn
Hugo Locurcio a531235db3 Use Jolt Physics in all 3D demos that use physics, improve physics tests demos (#1195)
- Add options for physics ticks per second, time scale, max physics steps per frame
  and physics interpolation to the 2D and 3D physics tests demos.
  - Physics ticks per second are always multiplied by time scale so that
    time scale does not affect the physics simulation quality.
- Enable 4× MSAA for better debug shape display. Remove meshes/lights as
  the debug collision fill make these unnecessary.
  - Switch to the Mobile rendering method in the 2D physics tests demo
    to allow for 2D MSAA, as it's not implemented in Compatibility yet.
- Improve collision shapes color in the 2D and 3D physics tests demos
  for better visibility. Each PhysicsBody type now has its own collision
  shape color.
2025-04-21 21:59:31 +02:00

163 lines
5.9 KiB
Plaintext

[gd_scene load_steps=10 format=3 uid="uid://d1j6kxs3plvry"]
[ext_resource type="Script" uid="uid://cu0nmknf22ua2" path="res://test.gd" id="1"]
[ext_resource type="Script" uid="uid://k4cta5vagong" path="res://utils/control3d.gd" id="2"]
[sub_resource type="PhysicsMaterial" id="1"]
friction = 0.0
[sub_resource type="ConcavePolygonShape3D" id="2"]
data = PackedVector3Array(-1, 0, 1, 1, 0, -1, 1, 0, 1, -1, 0, 1, -1, 0, -1, 1, 0, -1)
[sub_resource type="PhysicsMaterial" id="3"]
friction = 0.0
[sub_resource type="BoxShape3D" id="4"]
[sub_resource type="PhysicsMaterial" id="5"]
friction = 0.5
[sub_resource type="PhysicsMaterial" id="6"]
[sub_resource type="PhysicsMaterial" id="7"]
[node name="Test" type="Node3D"]
script = ExtResource("1")
[node name="StaticBodyFriction0" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, -6, 8.581, 0)
physics_material_override = SubResource("1")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0"]
transform = Transform3D(5, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0)
shape = SubResource("2")
debug_color = Color(0, 0.533333, 1, 1)
[node name="RigidBodies" type="Node3D" parent="StaticBodyFriction0"]
transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866026, -3, -7.431, 4.291)
[node name="RigidBodyFriction0" type="RigidBody3D" parent="StaticBodyFriction0/RigidBodies"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 0, 10, 0)
physics_material_override = SubResource("3")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction0"]
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="LabelFriction" type="Label" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction0"]
offset_right = 40.0
offset_bottom = 14.0
text = "0"
script = ExtResource("2")
world_offset = Vector3(0, 1.5, 0)
[node name="RigidBodyFriction05" type="RigidBody3D" parent="StaticBodyFriction0/RigidBodies"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 3, 10, 0)
physics_material_override = SubResource("5")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction05"]
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="LabelFriction" type="Label" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction05"]
offset_right = 40.0
offset_bottom = 14.0
text = "0.5"
script = ExtResource("2")
world_offset = Vector3(0, 1.5, 0)
[node name="RigidBodyFriction1" type="RigidBody3D" parent="StaticBodyFriction0/RigidBodies"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 6, 10, 0)
physics_material_override = SubResource("6")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction1"]
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="LabelFriction" type="Label" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction1"]
offset_right = 40.0
offset_bottom = 14.0
text = "1"
script = ExtResource("2")
world_offset = Vector3(0, 1.5, 0)
[node name="StaticBodyFriction1" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 6, 8.581, 0)
physics_material_override = SubResource("7")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1"]
transform = Transform3D(5, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0)
shape = SubResource("2")
debug_color = Color(0, 0.533333, 1, 1)
[node name="RigidBodies" type="Node3D" parent="StaticBodyFriction1"]
transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866026, -3, -7.431, 4.291)
[node name="RigidBodyFriction0" type="RigidBody3D" parent="StaticBodyFriction1/RigidBodies"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 0, 10, 0)
physics_material_override = SubResource("3")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction0"]
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="LabelFriction" type="Label" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction0"]
offset_right = 40.0
offset_bottom = 14.0
text = "0"
script = ExtResource("2")
world_offset = Vector3(0, 1.5, 0)
[node name="RigidBodyFriction05" type="RigidBody3D" parent="StaticBodyFriction1/RigidBodies"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 3, 10, 0)
physics_material_override = SubResource("5")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction05"]
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="LabelFriction" type="Label" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction05"]
offset_right = 40.0
offset_bottom = 14.0
text = "0.5"
script = ExtResource("2")
world_offset = Vector3(0, 1.5, 0)
[node name="RigidBodyFriction1" type="RigidBody3D" parent="StaticBodyFriction1/RigidBodies"]
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 6, 10, 0)
physics_material_override = SubResource("6")
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction1"]
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="LabelFriction" type="Label" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction1"]
offset_right = 40.0
offset_bottom = 14.0
text = "1"
script = ExtResource("2")
world_offset = Vector3(0, 1.5, 0)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.53602, 22.1236)
[node name="LabelGround0" type="Label" parent="."]
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -164.0
offset_top = 80.0
offset_right = -28.0
offset_bottom = 94.0
text = "GROUND FRICTION 0"
[node name="LabelGround1" type="Label" parent="."]
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = 31.0
offset_top = 80.0
offset_right = 167.0
offset_bottom = 94.0
text = "GROUND FRICTION 1"