Files
godot-demo-projects/3d/physics_tests/tests/functional/test_collision_pairs.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

144 lines
5.0 KiB
Plaintext

[gd_scene load_steps=10 format=3 uid="uid://wy4qr8euxk27"]
[ext_resource type="Shape3D" path="res://assets/robot_head/godot3_robot_head_collision.tres" id="1"]
[ext_resource type="Script" uid="uid://bo8r6pye3q4ki" path="res://tests/functional/test_collision_pairs.gd" id="2"]
[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"]
[ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="5"]
[sub_resource type="BoxShape3D" id="1"]
[sub_resource type="SphereShape3D" id="2"]
[sub_resource type="CapsuleShape3D" id="3"]
[sub_resource type="CylinderShape3D" id="4"]
[sub_resource type="ConvexPolygonShape3D" id="5"]
points = PackedVector3Array(-0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0)
[node name="Test" type="Node3D"]
script = ExtResource("2")
[node name="Options" parent="." instance=ExtResource("5")]
[node name="Controls" type="VBoxContainer" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 25.0
offset_top = 417.0
offset_right = -806.0
offset_bottom = -141.0
theme_override_constants/separation = 10
[node name="OffsetX" type="HBoxContainer" parent="Controls"]
layout_mode = 2
theme_override_constants/separation = 20
alignment = 2
[node name="Label" type="Label" parent="Controls/OffsetX"]
layout_mode = 2
text = "Offset X"
[node name="HSlider" type="HSlider" parent="Controls/OffsetX"]
custom_minimum_size = Vector2(230, 2.08165e-12)
layout_mode = 2
min_value = -1.0
max_value = 1.0
step = 0.01
[node name="OffsetY" type="HBoxContainer" parent="Controls"]
layout_mode = 2
theme_override_constants/separation = 20
alignment = 2
[node name="Label" type="Label" parent="Controls/OffsetY"]
layout_mode = 2
text = "Offset Y"
[node name="HSlider" type="HSlider" parent="Controls/OffsetY"]
custom_minimum_size = Vector2(230, 2.08165e-12)
layout_mode = 2
min_value = -1.0
max_value = 1.0
step = 0.01
[node name="OffsetZ" type="HBoxContainer" parent="Controls"]
layout_mode = 2
theme_override_constants/separation = 20
alignment = 2
[node name="Label" type="Label" parent="Controls/OffsetZ"]
layout_mode = 2
text = "Offset Z"
[node name="HSlider" type="HSlider" parent="Controls/OffsetZ"]
custom_minimum_size = Vector2(230, 2.08165e-12)
layout_mode = 2
min_value = -1.0
max_value = 1.0
step = 0.01
[node name="Shapes" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.35591, 0)
[node name="RigidBodyBox" type="RigidBody3D" parent="Shapes"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0)
freeze = true
[node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyBox"]
transform = Transform3D(0.579556, 0.0885213, 0.145926, 0, 0.939693, -0.205212, -0.155291, 0.330366, 0.544604, 0, 0, 0)
shape = SubResource("1")
debug_color = Color(1, 1, 0, 1)
[node name="RigidBodySphere" type="RigidBody3D" parent="Shapes"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
freeze = true
[node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodySphere"]
transform = Transform3D(1.2, 0, 0, 0, 1.2, 0, 0, 0, 1.2, 0, 0, 0)
shape = SubResource("2")
debug_color = Color(1, 1, 0, 1)
[node name="RigidBodyCapsule" type="RigidBody3D" parent="Shapes"]
freeze = true
[node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyCapsule"]
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
shape = SubResource("3")
debug_color = Color(1, 1, 0, 1)
[node name="RigidBodyCylinder" type="RigidBody3D" parent="Shapes"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
freeze = true
[node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyCylinder"]
transform = Transform3D(0.772741, -0.258819, 2.59821e-08, 0.2, 0.933013, -0.207055, 0.0535898, 0.25, 0.772741, 0, 0, 0)
shape = SubResource("4")
debug_color = Color(1, 1, 0, 1)
[node name="RigidBodyConvexPolygon" type="RigidBody3D" parent="Shapes"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, -0.211, 0)
freeze = true
[node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyConvexPolygon"]
transform = Transform3D(2, 0, 0, 0, 2.95442, 0.347296, 0, -0.520945, 1.96962, 0, 0.35, 0)
shape = SubResource("5")
debug_color = Color(1, 1, 0, 1)
[node name="RigidBodyConcavePolygon" type="StaticBody3D" parent="Shapes"]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, -6, 3.934)
[node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyConcavePolygon"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
shape = ExtResource("1")
debug_color = Color(0, 0.533333, 1, 1)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8.38087, 11.8164)
script = ExtResource("4")
[connection signal="value_changed" from="Controls/OffsetX/HSlider" to="." method="set_x_offset"]
[connection signal="value_changed" from="Controls/OffsetY/HSlider" to="." method="set_y_offset"]
[connection signal="value_changed" from="Controls/OffsetZ/HSlider" to="." method="set_z_offset"]