This commit is contained in:
Team3
2026-09-07 04:29:23 +02:00
parent e299f9d088
commit 6478559252
8 changed files with 708 additions and 197 deletions

View File

@@ -194,13 +194,21 @@ func snap_to_value(value: int, rng: RandomNumberGenerator) -> void:
var t := global_transform
t.basis = Basis(wb, wa, wc) * Basis(b, a, c).transposed()
global_transform = t
place(t)
if not freeze:
sleeping = false
linear_velocity = Vector3.ZERO
angular_velocity = Vector3.ZERO
## Setzt die Lage und schiebt sie sofort in den Physikserver nach. Ohne das
## schreibt der Server im nächsten Schritt noch einmal die alte Lage zurück -
## der Würfel zeigt dann einen Frame lang die falsche Augenzahl.
func place(t: Transform3D) -> void:
global_transform = t
PhysicsServer3D.body_set_state(get_rid(), PhysicsServer3D.BODY_STATE_TRANSFORM, t)
func set_kinematic(on: bool) -> void:
freeze_mode = RigidBody3D.FREEZE_MODE_KINEMATIC
freeze_mode = RigidBody3D.FREEZE_MODE_STATIC
freeze = on